Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
15 commits
Select commit Hold shift + click to select a range
0fe9de8
docs(control): plan external MCP and hybrid app operation
Juliusolsson05 Sep 5, 2026
53f9163
docs(control): require complete app and shortcut reference
Juliusolsson05 Sep 5, 2026
9eec0e2
docs(control): specify operation history and layered agent reads
Juliusolsson05 Sep 5, 2026
99960ef
docs(control): decompose feature registration SDK and MCP isolation
Juliusolsson05 Sep 5, 2026
12fd2e5
feat(control): add isolated capability registration SDK
Juliusolsson05 Sep 5, 2026
7ca71bd
feat(control): connect feature registration across application windows
Juliusolsson05 Sep 5, 2026
62e2fe5
feat(control): expose the app crash course and live reference catalogs
Juliusolsson05 Sep 5, 2026
f0d5138
feat(control): record durable execution and deduplicate retries
Juliusolsson05 Sep 5, 2026
640aa7b
feat(control): navigate agents across windows and expose common actions
Juliusolsson05 Sep 5, 2026
e19237b
feat(control): read canonical conversations with lossless history paging
Juliusolsson05 Sep 5, 2026
6ff0281
feat(control): expose documented multi-window MCP for external operators
Juliusolsson05 Sep 5, 2026
d7fe8b9
feat(control): add guarded commands, drafts, conditions and layout co…
Juliusolsson05 Sep 5, 2026
266f9e2
feat(control): manage external Codex setup and complete initial opera…
Juliusolsson05 Sep 5, 2026
1f2d2be
fix(control): keep task diagnostics outside the neutral SDK
Juliusolsson05 Sep 5, 2026
ad77fe2
fix(control): preserve skill exclusion before global installation
Juliusolsson05 Sep 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"codexVersion": "codex-cli 0.153.4",
"external": [
{
"name": "agent-code-computer-execution",
"enabled": true
},
{
"name": "other-disabled",
"enabled": false
}
],
"internal": [
{
"name": "agent-code-computer-execution",
"enabled": false
},
{
"name": "other-disabled",
"enabled": false
}
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
{
"date": "2026-09-05",
"purpose": "Narrow provider-configuration observations for the external operator exclusion. No provider generation or user configuration mutation.",
"reservedName": "agent-code-control",
"claude": {
"source": "Installed CLI, disposable CLAUDE_CONFIG_DIR and cwd, dummy loopback HTTP MCP entry",
"baseline": "mcp get recognized the configured entry and dummy URL",
"launchOverride": "--settings deniedMcpServers with the reserved serverName",
"observed": "mcp list exited 0 and reported no configured servers",
"documentation": "https://code.claude.com/docs/en/managed-mcp"
},
"codex": {
"source": "Installed CLI, disposable provider configuration home and cwd; mcp list --json only",
"cases": ["no initial MCP entry", "configured enabled HTTP entry"],
"observed": "Both returned exactly one reserved entry with enabled=false",
"limitation": "The published control connection is HTTP. A conflicting stdio entry under the reserved name fails provider configuration validation rather than receiving control access."
},
"opencode": {
"source": "Official MCP/config precedence documentation and the existing structured/native launch seams",
"observed": "Local configuration-merge probe preserves other servers and overrides the reserved entry with enabled=false",
"limitation": "No native OpenCode CLI connection trial was performed here.",
"documentation": "https://opencode.ai/docs/mcp-servers/"
},
"continuity": "Overrides are placed in provider start paths shared by fresh/resume/recovery. Workflow Codex receives the same disabled entry through its existing SDK config port."
}
42 changes: 42 additions & 0 deletions docs/decomposition/evidence/external-control/read-corpus.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"purpose": "Narrow real-source corpus for the control read projection; synthetic faults and pagination probes are labeled separately. No new recorder or fabricated provider events.",
"fixtures": [
{
"path": "testing/fixtures/rendering-bundles/2026-05-20T19-11-51-193-d4a44a16.json",
"sha256": "49428b492aa4cf440dda154f4d863eed7dc6ca4a3fe9d481234b761b6af2101e",
"provider": "codex",
"source": "existing incident bundle and provider transcript",
"entryTypes": {
"assistant": 51,
"user": 29
},
"semanticHistoryCount": 20,
"hasCurrent": true
},
{
"path": "testing/fixtures/rendering-bundles/2026-07-06T16-54-13-861-87f0eeef.json",
"sha256": "9127ad482d00b329d7b8a8dc5833342f1f503f7f5053928a16db4a28b7c64e95",
"provider": "opencode",
"source": "existing incident bundle; no committed transcript reconstruction",
"entryTypes": {},
"semanticHistoryCount": 20,
"hasCurrent": true
},
{
"path": "testing/fixtures/rendering-bundles/2026-07-07T13-17-48-452-5b19529f.json",
"sha256": "223a9d040fbe5ad1ab970b237783f7d5f416b7cdc186ccda51c3d71a15b1a949",
"provider": "claude",
"source": "existing incident bundle and provider transcript",
"entryTypes": {
"pr-link": 7,
"assistant": 41,
"user": 21,
"attachment": 5,
"system": 2,
"queue-operation": 4
},
"semanticHistoryCount": 10,
"hasCurrent": true
}
]
}
176 changes: 176 additions & 0 deletions docs/decomposition/evidence/external-control/source-inventory.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
{
"sourceCommit": "4c641f68c86b7c17ad04e1f3827b98bd581c6693",
"evidenceKind": "tracked-source-inventory",
"notEvidenceOf": "live execution, semantic correctness, measured tool usage, or passing tests",
"productionTypeScriptFiles": 976,
"productionTypeScriptLines": 199648,
"navigationKinds": [
"focus-grid-pane",
"focus-tiled-tab-pane",
"replace-focused-tiled-tab",
"focus-classic-dispatch",
"focus-existing-tiled-dispatch-lane",
"replace-focused-tiled-dispatch-lane",
"swap-detached-into-focused-grid-pane"
],
"seams": [
{
"role": "catalog",
"path": "src/renderer/src/features/command-palette/catalog.ts",
"sha256": "e08b6363c9d1ed5521920041b96148bb83a7168dc09f0507f27ee3ab200de0b2",
"lines": 153,
"neighboringTests": [
"src/renderer/src/features/command-palette/catalog.test.ts",
"src/renderer/src/rendering/evidence/catalogCoverage.test.ts"
]
},
{
"role": "command_dispatch",
"path": "src/renderer/src/features/command-palette/executeCommand.ts",
"sha256": "b9fd60629a2567e8a38de3d281980087443377695fdd456bbf566039c5edc476",
"lines": 290,
"neighboringTests": [
"src/renderer/src/features/command-palette/executeCommand.test.ts"
]
},
{
"role": "command_admission",
"path": "src/renderer/src/features/command-palette/resolveInvocation.ts",
"sha256": "6c377a9984489ef01d692b07afb8d8e6a175963af7b612bfb1e4a326031ebeed",
"lines": 88,
"neighboringTests": [
"src/renderer/src/features/command-palette/resolveInvocation.test.ts"
]
},
{
"role": "keybindings",
"path": "src/renderer/src/features/command-keybindings/resolve.ts",
"sha256": "b1d29deeee26fc78a6a3340e0fdc97777b28a7f2bf96762dfc0443be43dca4a0",
"lines": 194,
"neighboringTests": [
"src/renderer/src/features/command-keybindings/resolve.test.ts",
"src/renderer/src/features/command-palette/resolveInvocation.test.ts"
]
},
{
"role": "fixed_interactions",
"path": "src/renderer/src/features/command-keybindings/reservations.ts",
"sha256": "5b1b1d7aca7555cba6abb946d8ef6a54298c80d44741b85e8b5b4e5145365b77",
"lines": 478,
"neighboringTests": [
"src/renderer/src/features/command-keybindings/reservations.test.ts"
]
},
{
"role": "agent_navigation",
"path": "src/renderer/src/workspace/agentIndexNavigation.ts",
"sha256": "9851722475bb245958b77460f579a8e935f5e96de7d2ea4af2b1e496327e7b0b",
"lines": 300,
"neighboringTests": [
"src/renderer/src/workspace/agentIndexNavigation.test.ts",
"src/renderer/src/workspace/hook/actions/agentIndexNavigation.renderer.test.tsx"
]
},
{
"role": "navigation_effects",
"path": "src/renderer/src/workspace/hook/actions/agentIndexNavigation.ts",
"sha256": "b6a90e89b0cc330e8122f245530494bfbb41e8616e19101d3f1aa8d90fb3b14c",
"lines": 103,
"neighboringTests": [
"src/renderer/src/workspace/agentIndexNavigation.test.ts",
"src/renderer/src/workspace/hook/actions/agentIndexNavigation.renderer.test.tsx"
]
},
{
"role": "window_routing",
"path": "src/main/window/windowRegistry.ts",
"sha256": "d8e64f4c1c5c7ce7f8ef5de0c20effacc24ffae7409fc36266851e5afdd2906b",
"lines": 624,
"neighboringTests": [
"src/main/window/windowRegistry.test.ts"
]
},
{
"role": "renderer_actions",
"path": "src/renderer/src/workspace/hook/index.ts",
"sha256": "01e8d65b6716bc06598e5d416ea3a55d93d7c6a828e9f09498f6cdb3710a55f7",
"lines": 1022,
"neighboringTests": [
"src/main/subagents/index.test.ts",
"src/main/worktreeActivity/indexStore.test.ts",
"src/providers/claude/renderer/components/ask-user-question/index.renderer.test.tsx",
"src/providers/claude/renderer/components/multi-edit/index.renderer.test.tsx",
"src/providers/claude/renderer/components/task-activity/index.renderer.test.tsx",
"src/providers/codex/renderer/components/apply-patch/index.renderer.test.tsx",
"src/providers/codex/renderer/components/image-generation/index.renderer.test.tsx",
"src/providers/codex/renderer/components/native-spawn/index.renderer.test.tsx",
"src/providers/codex/renderer/components/tool-result/index.renderer.test.tsx",
"src/providers/codex/renderer/components/update-plan/index.renderer.test.tsx",
"src/providers/codex/renderer/components/web/index.renderer.test.tsx",
"src/providers/shared/renderer/components/lazy-prose/index.renderer.test.tsx"
]
},
{
"role": "live_feed",
"path": "src/shared/sessionFeed/SessionFeed.ts",
"sha256": "1b4faf1fb98ea1b8a46e7a4525616d2da3036712d4a6f7036a7be23277a4b9af",
"lines": 95,
"neighboringTests": [
"src/main/remote/SessionFeedSource.test.ts",
"src/remote-client/src/WebSocketSessionFeed.integration.test.ts",
"src/renderer/src/features/sessionFeed/IpcSessionFeed.test.ts",
"src/renderer/src/features/sessionFeed/SessionFeedContext.renderer.test.tsx"
]
},
{
"role": "mcp_host",
"path": "src/mcp/runtime/BuiltInMcpHttpHost.ts",
"sha256": "3b9a457947abc88c2a7f896a6ca26e68094e16258c20a41332abd6276518446c",
"lines": 484,
"neighboringTests": [
"src/mcp/runtime/BuiltInMcpHttpHost.test.ts"
]
},
{
"role": "agent_management_bridge",
"path": "src/main/agentManagement/AgentManagementBridge.ts",
"sha256": "bdade6df46321e358466626fef495ca3c43c5e55c47704c3ba22d2ba59d014f5",
"lines": 568,
"neighboringTests": [
"src/main/agentManagement/AgentManagementBridge.test.ts"
]
},
{
"role": "provider_launch",
"path": "src/providers/shared/runtime/builtInMcpLaunch.ts",
"sha256": "4b5e37bec4a5ca51e087ae863529b1e375b869d45d680c3a9f0375374cd40360",
"lines": 178,
"neighboringTests": [
"src/providers/shared/runtime/builtInMcpLaunch.test.ts"
]
},
{
"role": "file_reader",
"path": "src/main/agentTranscripts/AgentTranscriptReader.ts",
"sha256": "d503137d8c30d7af89dab1b476d225af66ca96d833cab54a4c8092f5480d40c1",
"lines": 1082,
"neighboringTests": []
},
{
"role": "conversation_projection",
"path": "src/renderer/src/workspace/agentManagementMcp.ts",
"sha256": "802fd3ebd40be88c2adbc4d6d9a6d65036e55eafaa9b2042eb55a8b96f8254e1",
"lines": 444,
"neighboringTests": [
"src/renderer/src/workspace/agentManagementMcp.test.ts"
]
},
{
"role": "workspace_paths",
"path": "src/main/storage/paths.ts",
"sha256": "91006213e32be99f761cf8424e2dc56d8a94c1d32e2f4417f855e157faf24291",
"lines": 92,
"neighboringTests": []
}
]
}
Loading