docs: plan opaque agent credentials for workspaces - #199
Draft
pythonlearner1025 wants to merge 1 commit into
Draft
docs: plan opaque agent credentials for workspaces#199pythonlearner1025 wants to merge 1 commit into
pythonlearner1025 wants to merge 1 commit into
Conversation
pythonlearner1025
added a commit
that referenced
this pull request
Sep 4, 2026
f4b1ba25 fix(ci): harden Electron signing credentials [risk:high] (#358) 83c8e364 docs: publish 0.90.0 changelog (#356) 96b73fbb chore: remove useless artifacts file [skip ci] 55b3e028 fix(sessions): stabilize child tab ordering (#326) c2cd3da6 feat(components): add Zen layout mode (#341) 65c2b0c4 Merge pull request #225 from ImSingee/feat/lody-mcp-worktree b6d9a6f2 Merge pull request #309 from jeffwcx/fix/mention-caret-ime ed13fa59 Merge pull request #340 from LodyAI/fix/electron-builder-keychain-password 1ff92abe fix(electron): authenticate temporary signing keychain [risk:high] 289bb7b4 feat(cli): add MCP session rename tools (#337) 8de7851e fix(components): collapse inline plan approval (#334) bf979598 chore: acp deb82d11 chore: update Feishu community group QR code (#331) 22af000a Merge pull request #173 from Innei/feat/electron-macos-sparkle-updater ef3becb1 chore: merge latest main into Sparkle updater d51546da fix(components): hide onboarding product preview on compact stages (#329) f3f090ae Merge pull request #144 from slashdevcorpse/fix/codex-goal-continuation-and-stop-steer e0657934 Merge pull request #257 from natsustan/feat/mobile-agent-settings 54d07d36 test(turn-diff-store): stabilize incremental GC batching 82d4dc72 chore: merge main into feat/mobile-agent-settings df9f950b Merge pull request #274 from sinxy-sai/codex/fix-markdown-bold-autolink-189 ff27503d fix(components): let expanded proposed plans flow without internal scroll (#315) f5649adb fix(components): right-align submenu chevrons (#313) 6aeeb8f8 fix: hide unknown Claude context usage (#308) 58b93eda fix(components): preserve mention caret during IME composition f8f9be10 refactor(components): deduplicate Markdown AST transforms e3e21294 refactor(components): share mdast child-replacement walker 94bede91 feat(components): show more outline hover-card lines (#303) 947affd0 Merge pull request #285 from MichaelYuhe/fix/mobile-settings-return-context f9347134 Merge pull request #299 from EYHN/feat/browser-blocks-19818375 cd42c044 Merge pull request #291 from EYHN/feat/svg 932c83df fix(cli): harden daemon startup and status (#287) 4e6b6495 docs: add Codex P0/P1 security-focused review rules (#295) db75b03a fix(electron): allow fake-IP proxy answers in the public browser b04d0dcd fix(components): wrap long mention chips in sent messages (#294) 410b1816 Merge pull request #292 from LodyAI/feat/217 a4d0f547 feat: support custom DeepSeek Harness endpoints (#293) 1361a1b6 refactor(components): share malformed GFM autolink repair 99723c25 fix(electron): close the current tab or hide the window on Cmd+W (#235) 54445965 fix(components): attach SVG images as files 870fad32 Merge branch 'LodyAI:main' into codex/fix-markdown-bold-autolink-189 ad787c9b feat(electron): wire Sparkle progress into the renderer banner b351290c feat(electron): switch macOS auto-update to Sparkle 91ffa378 fix(components): restore mobile settings source 896fd1e0 feat(site): add GitHub mark and early-bird deadline (#283) ba6f9009 fix(components): avoid quadratic autolink marker scans 72ec3c01 fix(components): preserve explicit markdown link destinations ad5104a8 docs: publish 0.89.4 changelog [risk:high] (#281) 3beeb8a0 chore: upgrade built-in Claude Code to 2.1.258 (#279) dabbf960 fix(cli): scope All Changes to local worktrees (#280) 376bf98a fix(electron): report update install failures instead of success (#278) f38ed4d3 fix(sessions): keep composer roles stable across turns (#269) 620fcfac fix(components): repair later valid bold URL closer 857e3095 fix(components): normalize mixed-case www links 88f54c35 fix(components): preserve triple-star emphasis dcbe49d6 fix(components): narrow Markdown punctuation checks a2fc9de7 fix(components): align escaped URL markers e3abc684 fix(components): validate URL strong closers 1d0a0281 fix(components): tighten malformed URL repair 079c7716 fix(components): respect escaped closing markers 9629ffaf fix(components): respect escaped bold markers 4e6968ce fix(components): preserve absolute www autolink destinations bbf83f49 fix(components): repair malformed bold URL autolinks c7d905bf fix(components): make desktop onboarding failures honest and recoverable (#214) 08a3e474 ci: consolidate PR contribution policy (#265) 9f93538c fix(components): localize PR repair prompts (#245) 84bb1c06 fix(components): align sidebar loading skeletons (#266) e0d958e1 fix: complete interactive Custom ACP authentication (#234) 27b56232 fix(acp): map pi, grok, and kimi to the skill dirs their engines scan (#218) d22f12bf fix: address responsive settings review feedback 2a2fcf12 feat(site-docs): point the landing secondary CTA at GitHub (#254) 284deb68 docs: correct changelog version to 0.89.3 [risk:high] (#256) 8ed4dab3 docs: add 0.90.0 changelog [risk:high] (#255) 7cabe456 fix(components): close the remaining render-feedback loops (#253) 9ac6a780 fix: remove unused React import e8d3421f fix(components): derive ACP run-config selection instead of reconciling it (#252) 8859029a feat(components): expose lightweight join surface (#238) 713bf290 feat(components): retry Codex capacity failures (#237) 6b022c1b fix: make provider usage layout container-aware 975e9e4f feat: streamline mobile agent settings 8064b1a0 docs: add 0.89.2 changelog [risk:high] (#250) 460cec05 fix(components): session tab pending-child follow-ups (#249) c22dc434 perf(components): cut session-switch input latency (#247) cac1e2a3 fix(components): take the session ?tab URL at its word (#248) c4b336ac fix(components): allow browsing registered project folders 1857d6e9 docs: add 0.89.1 changelog (#246) d6a23ed2 fix(components): stabilize session location tooltip refs (#241) 1b802d17 chore: bump acp-extension-codex after merge of #28 d0005ef9 feat: acp 970a5b66 docs(changelog): publish 0.89.0 release notes (#236) a36816ab Merge pull request #233 from wong2/fix/codex-resets-attribution-link a8f69fa9 fix(components): avoid void Trans placeholder dd10c9fe Merge pull request #231 from MichaelYuhe/codex/fix-mobile-workspace-settings-spacing 0749b4be Merge pull request #143 from clanzhang/fix/131-restore-input-focus-after-send 55c38e9e chore: kimi acp 2c78927f fix(electron): close the current tab or hide the window on Cmd+W 2cc10249 fix(components): link Codex reset attribution d706e3c6 fix(components): align mobile workspace settings b7b56327 Merge pull request #226 from ImSingee/fix/codex-reset-forecast-overlay 8c957eb0 Merge pull request #205 from Innei/feat/sidebar-project-actions-menu-restyle 5ce0c481 feat(docs): add local documentation search (#228) cef73e5b fix(components): restore blocked goal resume action (#230) 8a674e5b fix(components): inset the desktop workspace chrome out of the safe area (#210) a9067707 Merge pull request #227 from Innei/fix/macos-dev-dock-icon a025a354 fix(electron): set macOS development dock icon 43dda538 feat(components): render every agent's plan through one panel (#221) 60007048 fix(mcp): clarify child session workspace reuse a320b4c6 fix(components): show the waiting-for-approval hand on mobile tab rows (#222) 10051e26 feat(components): add folders per machine from Projects settings (#220) 9f7b81c1 fix(components): correct nested reset forecast overlay 1e40d143 fix(onboarding): give the tour a read-only repo stand-in (#216) 0e3a961a feat(components): put a plan-mode turn on one rail and one panel (#215) 50147494 fix(acp): support standard ACP authentication for registry agents (#208) cf5bf050 fix(components): restore desktop composer focus after successful send 2ddaac47 refactor(components): derive the active session tab from the router URL (#199) e8ab5812 fix(components): align the private status pill with the header launcher (#204) 2363d34b Merge pull request #186 from kovsu/fix/settings-section-corner-clip fe4e5aad feat(components): add local-project row actions and restyle menus 62fa9e2f Merge pull request #129 from 1-WEEK/fix/subsession-model-search-focus a56eaa83 fix(components): grow the Rename Chat field to fit a wrapped title (#202) 2d3b5d0c Merge pull request #169 from Innei/fix/electron-per-panel-window-drag e3cb9825 chore: upgrade built-in AI agent runtimes (#201) 4acff9a6 fix(cli): deliver MCP child-session completion notifications over the HTTP transport (#200) 73e4fc3e Merge pull request #192 from Pleasurecruise/feat/hmr e05486b5 Merge pull request #94 from xuxu777xu/fix/builtin-agent-opt-out 2b803307 fix: bind the workspace GitHub repository to CLI-created local sessions (#197) 872453e4 fix(components): preserve active tab on session reselect (#194) a0c2c77a fix: survive unsendable WebSocket close codes in the local preview proxy (#198) 460cb7d8 fix: publish the dispatch pointer for promoted queue turns (#166) 2b134aa1 fix: align child tab agent role selection (#181) 3f6af469 Merge pull request #190 from LodyAI/fix/mobile-auth-session-401 4185f738 feat(electron): add local hot reload workflow 95e4d02f fix(auth): recover rejected mobile sessions [risk:high] 4c91b8c2 refactor(shared): drop redundant fields from the builtin agent opt-out value d64a99b1 fix(electron): move window drag onto per-panel title bars 41c51a5e fix(settings): clip settings sections to their rounded corners 0c5bedbe feat: let onboarding choose or skip the first Agent (#182) 22f0708c feat: guide empty conversation sync states (#180) aac14534 fix: fill project settings modal height (#177) 7d626837 feat(electron): add hidden auto-launch option (#176) 6db6a72d Merge pull request #95 from ShobhanKarthish/fix/web-focus-input-shortcut 452aded9 Merge pull request #168 from Innei/codex/focus-scope-keyboard-navigation 853ca366 fix(components): keep the cancellation marker as the first write 9b8ea083 chore: split Electron window drag out of the keyboard navigation PR f5b16cfd fix(components): keep multi-tab clickable while solo titles drag the window 0ffacc5e feat: add scoped keyboard navigation 795b34cb chore: bump acp-extension-codex for slash goal continuation tests e4ac99c2 fix: force-direct Codex goal commands and bump acp-extension-codex a02e0b46 fix(components): prevent composer focus stealing when clicking model search in subsession tabs b90d719e fix(shared): own builtin agent opt-out from one place 75d54b37 fix(cli): keep removed builtin agent providers removed across restarts 4822079e fix: stop advertising ⌘L on web composer git-subtree-dir: vendor/lody git-subtree-split: f4b1ba259eb754cd954da776d8e7384a8c30f1c9
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Key conclusion
There is no universal way for an arbitrary unmodified bearer-token client to authenticate while preventing that same process from observing all credential bytes it sends. Universal support therefore requires a trusted transport or protocol adapter, a provider-native proof-of-possession mechanism, or explicit refusal. The proposed default keeps upstream secrets out of the guest and makes opaque leases short-lived, scoped, revocable, and auditable; the stronger host-gateway variant also keeps portable lease bearer material outside the guest.
The proposal is independent of deleting the legacy broker package: broker retirement removes a broken path, while this plan changes the surviving credential security boundary.
Validation
npm run typecheck— passednpm run lint:gate— passednpm test --workspace @blitzos/box-guest-tests— passed (118 passed, 3 skipped)npm test— attempted; control-plane passed (679 passed, 39 skipped), but the aggregate run could not complete because the workspace's real-daemon Lody suites could not establish their data-plane connection. The one transient guestEPIPEdid not reproduce in the isolated retry.