@moretea-labs/forge 1.8.0 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (695) hide show
  1. package/AGENTS.md +73 -7
  2. package/CHANGELOG.md +34 -0
  3. package/CLAUDE.md +17 -2
  4. package/CONTRIBUTING.md +3 -2
  5. package/README.en.md +24 -3
  6. package/README.md +10 -6
  7. package/README.zh-CN.md +5 -3
  8. package/THIRD_PARTY_NOTICES.md +1 -2
  9. package/adapters/chatgpt/browser-delivery-host.ts +7 -1
  10. package/adapters/chatgpt/browser-delivery-runtime.ts +531 -56
  11. package/adapters/chatgpt/controller-binding-store.ts +101 -22
  12. package/adapters/chatgpt/controller-round-host.ts +15 -25
  13. package/adapters/chatgpt/controller-round-settlement-store.ts +58 -4
  14. package/adapters/chatgpt/provider-delivery.ts +229 -2
  15. package/adapters/chatgpt/work-conversation-binding-store.ts +99 -54
  16. package/adapters/computer/chatgpt-extension-target.ts +708 -0
  17. package/adapters/computer/chrome-extension/background.js +541 -0
  18. package/adapters/computer/chrome-extension/content.js +402 -0
  19. package/adapters/computer/chrome-extension/core.js +24 -0
  20. package/adapters/computer/chrome-extension/manifest.json +32 -0
  21. package/adapters/computer/desktop-operator-discovery.ts +11 -31
  22. package/adapters/computer/desktop-operator-provider.ts +18 -6
  23. package/adapters/computer/interaction-target-authority.ts +178 -24
  24. package/adapters/mcp/access-mode.ts +18 -39
  25. package/adapters/mcp/auth.ts +2 -7
  26. package/adapters/mcp/instructions.ts +6 -5
  27. package/adapters/mcp/multi-repository.ts +10 -47
  28. package/adapters/mcp/oauth.ts +73 -0
  29. package/adapters/mcp/paths.ts +4 -1
  30. package/adapters/mcp/runtime-gateway/bounded-result-runtime.ts +62 -0
  31. package/adapters/mcp/runtime-gateway/cognition-settlement.ts +201 -0
  32. package/adapters/mcp/runtime-gateway/context-adapter.ts +490 -113
  33. package/adapters/mcp/runtime-gateway/context-pack-sidecar.ts +83 -0
  34. package/adapters/mcp/runtime-gateway/controller-authority-adapter.ts +20 -5
  35. package/adapters/mcp/runtime-gateway/core-capability-adapter.ts +258 -0
  36. package/adapters/mcp/runtime-gateway/engineering-preconditions.ts +10 -27
  37. package/adapters/mcp/runtime-gateway/engineering-tool-contract.ts +15 -0
  38. package/adapters/mcp/runtime-gateway/execution-tools.ts +14 -54
  39. package/adapters/mcp/runtime-gateway/gateway-execution-adapter.ts +2 -1
  40. package/adapters/mcp/runtime-gateway/plugin-adapter.ts +132 -47
  41. package/adapters/mcp/runtime-gateway/process-tools.ts +173 -23
  42. package/adapters/mcp/runtime-gateway/protected-computer-adapter.ts +16 -4
  43. package/adapters/mcp/runtime-gateway/recovery-adapter.ts +69 -52
  44. package/adapters/mcp/runtime-gateway/repository-compat-adapter.ts +4 -35
  45. package/adapters/mcp/runtime-gateway/result-adapter.ts +10 -4
  46. package/adapters/mcp/runtime-gateway/router.ts +19 -507
  47. package/adapters/mcp/runtime-gateway/routing-policy.ts +506 -0
  48. package/adapters/mcp/runtime-gateway/runtime-observation-adapter.ts +15 -66
  49. package/adapters/mcp/runtime-gateway/runtime-readiness-observation.ts +218 -0
  50. package/adapters/mcp/runtime-gateway/runtime-tool-definitions.ts +123 -178
  51. package/adapters/mcp/runtime-gateway/runtime-tools.ts +11 -5
  52. package/adapters/mcp/runtime-gateway/scheduler-adapter.ts +37 -1
  53. package/adapters/mcp/runtime-gateway/shared-adapter.ts +20 -0
  54. package/adapters/mcp/runtime-gateway/status-inbox-adapter.ts +416 -270
  55. package/adapters/mcp/runtime-gateway/typescript-navigation-sidecar.ts +140 -0
  56. package/adapters/mcp/runtime-gateway/work-adapter.ts +262 -3123
  57. package/adapters/mcp/runtime-gateway/work-controller-operations.ts +257 -0
  58. package/adapters/mcp/runtime-gateway/work-detail-projection.ts +60 -0
  59. package/adapters/mcp/runtime-gateway/work-input-wire-migration.ts +229 -0
  60. package/adapters/mcp/runtime-gateway/work-learning-operations.ts +145 -0
  61. package/adapters/mcp/runtime-gateway/work-list-projection.ts +38 -0
  62. package/adapters/mcp/runtime-gateway/work-plan-operations.ts +382 -0
  63. package/adapters/mcp/runtime-gateway/work-repair-adapter.ts +308 -0
  64. package/adapters/mcp/runtime-gateway/work-requirement-operations.ts +148 -0
  65. package/adapters/mcp/runtime-gateway/work-semantic-operations.ts +320 -0
  66. package/adapters/mcp/runtime-gateway/work-workflow-operations.ts +113 -0
  67. package/adapters/mcp/runtime-gateway/workflow-supervisor-adapter.ts +180 -0
  68. package/adapters/mcp/server.ts +91 -26
  69. package/adapters/mcp/setup.ts +5 -13
  70. package/adapters/mcp/tool-mapping/access-tools.ts +0 -6
  71. package/adapters/mcp/tool-mapping/legacy-tool-service.ts +703 -3092
  72. package/adapters/mcp/tool-mapping/post-finalize-work-attribution.ts +5 -10
  73. package/adapters/mcp/tool-mapping/repository-tools.ts +170 -213
  74. package/adapters/mcp/toolset-names.ts +11 -37
  75. package/adapters/mcp/toolset.ts +19 -92
  76. package/{src/cli → adapters}/mcp/transports/AGENTS.md +5 -5
  77. package/{src/cli → adapters}/mcp/transports/CLAUDE.md +5 -5
  78. package/adapters/mcp/transports/http-observation.ts +377 -0
  79. package/adapters/mcp/transports/http-post-lifecycle.ts +19 -0
  80. package/adapters/mcp/transports/http.ts +200 -683
  81. package/adapters/mcp/transports/oauth-http.ts +322 -0
  82. package/adapters/mcp/transports/session-registry.ts +6 -0
  83. package/adapters/mcp/tunnels/openai-secure-tunnel.ts +89 -5
  84. package/adapters/mcp/types.ts +0 -6
  85. package/assets/hooks/lib/session-state.sh +0 -38
  86. package/assets/hooks/post-bash.sh +1 -1
  87. package/assets/hooks/post-tool-observer.sh +0 -5
  88. package/assets/hooks/prompt-guard.sh +0 -55
  89. package/assets/partials/04-project-structure.partial.md +1 -1
  90. package/assets/partials/07-footer.partial.md +1 -1
  91. package/assets/partials-agents/02-operating-mode.partial.md +1 -1
  92. package/assets/partials-agents/08-deep-docs.partial.md +1 -1
  93. package/assets/plugin-registry.v1.json +6 -4
  94. package/assets/reference-configs/agentic-development-flow.md +26 -1
  95. package/assets/reference-configs/external-tooling.md +0 -76
  96. package/assets/reference-configs/global-working-rules.md +19 -0
  97. package/assets/reference-configs/release-deploy.md +1 -1
  98. package/assets/templates/helpers/architecture-queue.sh +1 -1
  99. package/assets/templates/helpers/check-agent-tooling.sh +1 -327
  100. package/assets/templates/helpers/check-task-workflow.sh +1 -1
  101. package/assets/templates/helpers/ensure-task-workflow.sh +0 -14
  102. package/assets/templates/helpers/migrate-project-template.sh +2 -2
  103. package/assets/workflow-contract.v1.json +0 -2
  104. package/docs/README.md +5 -2
  105. package/docs/architecture/CURRENT.md +205 -51
  106. package/docs/architecture/decisions/20260803-release-identity-binding-and-exit-policy.md +14 -5
  107. package/docs/architecture/decisions/20260823-immediate-controller-relay.md +6 -3
  108. package/docs/architecture/decisions/20260904-ios-device-migration-baseline.md +42 -0
  109. package/docs/architecture/decisions/20260907-assistant-learning-loop.md +2 -0
  110. package/docs/architecture/decisions/20260907-controller-round-transition-policy.md +19 -4
  111. package/docs/architecture/decisions/20260916-workflow-supervisor-authority.md +249 -0
  112. package/docs/architecture/decisions/20260917-cognitive-memory-foundation.md +82 -0
  113. package/docs/architecture/decisions/20260918-stable-candidate-release-lifecycle.md +234 -0
  114. package/docs/architecture/decisions/20260919-autonomous-work-liveness.md +62 -0
  115. package/docs/architecture/decisions/20260924-thin-semantic-working-context.md +74 -0
  116. package/docs/architecture/decisions/20261001-supervisor-turn-authority.md +342 -0
  117. package/docs/architecture/decisions/20261005-forge-v3-desktop-client-boundary.md +77 -0
  118. package/docs/architecture/decisions/20261009-exact-code-context-discovery.md +19 -0
  119. package/docs/architecture/decisions/20261009-generated-xcode-cache-retention.md +37 -0
  120. package/docs/architecture/decisions/20261011-autonomous-continuation-convergence.md +597 -0
  121. package/docs/architecture/decisions/20261017-edit-session-finalization-reconciliation.md +17 -0
  122. package/docs/architecture/decisions/20261019-retire-host-skills.md +16 -0
  123. package/docs/architecture/diagrams/agentic-dev-plugin-architecture.html +1 -1
  124. package/docs/architecture/domains/public-surface.md +3 -5
  125. package/docs/architecture/domains/verification.md +6 -5
  126. package/docs/architecture/domains/workflow-engine.md +6 -0
  127. package/docs/architecture/modules/controller-runtime/transport-lifecycle.md +3 -3
  128. package/docs/architecture/requests/2026-09-04-computer-plugin-workflow-taxonomy.md +4 -4
  129. package/docs/architecture/reviews/20261015-code-search-runtime-acceptance.md +75 -0
  130. package/docs/forge-plugin-management.md +16 -4
  131. package/docs/operations/controller-browser-plugin.md +23 -0
  132. package/docs/operations/controller-performance-and-502.md +17 -0
  133. package/docs/operations/controller-reliability-runbook.md +2 -2
  134. package/docs/operations/features.md +6 -7
  135. package/docs/operations/features.zh-CN.md +1 -1
  136. package/docs/operations/github-repository.md +4 -4
  137. package/docs/operations/github-semantic-release-projection.md +20 -0
  138. package/docs/operations/homebrew.md +2 -2
  139. package/docs/operations/mcp-tool-exposure.md +13 -52
  140. package/docs/operations/releasing.md +2 -0
  141. package/docs/operations/runtime-performance-diagnostics.md +8 -0
  142. package/docs/operations/standalone-disaster-recovery.md +15 -7
  143. package/docs/tutorials/01-install-and-start.zh-CN.md +1 -1
  144. package/docs/tutorials/03-first-repository-task.md +2 -0
  145. package/docs/wiki/Computer-and-Plugins.md +78 -0
  146. package/docs/wiki/Computer-and-Plugins.zh-CN.md +88 -0
  147. package/docs/wiki/Home.md +16 -2
  148. package/docs/wiki/Implementation.md +25 -13
  149. package/docs/wiki/Installation.md +28 -32
  150. package/docs/wiki/Integrations.md +4 -0
  151. package/docs/wiki/Quick-Start.md +35 -22
  152. package/docs/wiki/Releases-and-Upgrades.md +15 -25
  153. package/docs/wiki/_Sidebar.md +5 -1
  154. package/package.json +25 -25
  155. package/packages/kernel/cognition/api/index.ts +6 -0
  156. package/packages/kernel/cognition/application/activation-service.ts +451 -0
  157. package/packages/kernel/cognition/application/consolidation-service.ts +185 -0
  158. package/packages/kernel/cognition/application/legacy-experience-adapter.ts +38 -0
  159. package/packages/kernel/cognition/application/memory-service.ts +64 -0
  160. package/packages/kernel/cognition/domain/learning.ts +106 -0
  161. package/packages/kernel/cognition/domain/memory.ts +254 -0
  162. package/packages/kernel/controller/api/index.ts +1 -0
  163. package/packages/kernel/controller/application/continuation-service.ts +281 -0
  164. package/packages/kernel/controller/application/controller-round-service.ts +12 -0
  165. package/packages/kernel/controller/domain/controller-round-transition-policy.ts +242 -21
  166. package/packages/kernel/controller/domain/controller-round.ts +4 -1
  167. package/packages/kernel/controller/domain/execution-quality.ts +3 -1
  168. package/packages/kernel/controller/infrastructure/controller-round-store.ts +689 -103
  169. package/packages/kernel/controller/infrastructure/controller-session-store.ts +348 -97
  170. package/packages/kernel/controller/ports/controller-host.ts +2 -0
  171. package/packages/kernel/identity/api/index.ts +10 -0
  172. package/packages/kernel/identity/domain/activity-projection.ts +43 -0
  173. package/packages/kernel/identity/domain/capability-broker.ts +60 -0
  174. package/packages/kernel/identity/domain/grant.ts +72 -0
  175. package/packages/kernel/identity/domain/owned-resource.ts +116 -0
  176. package/packages/kernel/identity/domain/user-request.ts +93 -0
  177. package/packages/kernel/identity/infrastructure/activity-projection-store.ts +87 -0
  178. package/packages/kernel/identity/infrastructure/capability-broker.ts +81 -0
  179. package/packages/kernel/identity/infrastructure/grant-store.ts +284 -0
  180. package/packages/kernel/identity/infrastructure/owned-resource-store.ts +259 -0
  181. package/packages/kernel/identity/infrastructure/user-request-store.ts +182 -0
  182. package/packages/kernel/scheduler/api/index.ts +0 -2
  183. package/packages/kernel/scheduler/application/eligibility.ts +4 -1
  184. package/packages/kernel/scheduler/application/schedule-service.ts +3 -0
  185. package/packages/kernel/scheduler/application/settlement.ts +0 -15
  186. package/packages/kernel/scheduler/domain/schedule.ts +87 -0
  187. package/packages/kernel/scheduler/infrastructure/schedule-store.ts +166 -143
  188. package/packages/kernel/work/api/index.ts +3 -2
  189. package/packages/kernel/work/application/work-service.ts +18 -42
  190. package/packages/kernel/work/domain/current-task-lineage.ts +104 -0
  191. package/packages/kernel/work/domain/engineering-design.ts +10 -5
  192. package/packages/kernel/work/domain/engineering-profile.ts +8 -12
  193. package/packages/kernel/work/domain/evaluation-promotion-receipt.ts +186 -0
  194. package/packages/kernel/work/domain/execution-concurrency.ts +19 -26
  195. package/packages/kernel/work/domain/execution-snapshot.ts +0 -31
  196. package/packages/kernel/work/domain/implementation-review.ts +14 -331
  197. package/packages/kernel/work/domain/objective-graph.ts +119 -0
  198. package/packages/kernel/work/domain/project-engineering-contract.ts +23 -1
  199. package/packages/kernel/work/domain/repository-completion-receipt.ts +1 -1
  200. package/packages/kernel/work/domain/state-machine.ts +34 -65
  201. package/packages/kernel/work/domain/types.ts +57 -51
  202. package/packages/kernel/work/infrastructure/work-contract-store.ts +847 -729
  203. package/packages/kernel/work/ports/work-contract-store.ts +5 -2
  204. package/packages/plugin-runtime/browser/provider-registry.ts +12 -36
  205. package/packages/plugin-runtime/browser/session-authority.ts +2 -1
  206. package/packages/plugin-runtime/computer/chatgpt-identity.ts +24 -0
  207. package/packages/plugin-runtime/computer/conversation-target.ts +153 -0
  208. package/packages/plugin-runtime/computer/index.ts +2 -0
  209. package/packages/plugin-runtime/computer/target-authority.ts +26 -1
  210. package/packages/plugin-runtime/external/unix-jsonl-transport.ts +142 -18
  211. package/packages/protocols/computer/contract.ts +27 -1
  212. package/scripts/activate-source-baseline.ts +7 -9
  213. package/scripts/assemble-template.ts +11 -72
  214. package/scripts/canary-controller-semantic-wait.ts +12 -24
  215. package/scripts/check-mcp-compatibility.ts +94 -201
  216. package/scripts/check-package-identity.mjs +0 -5
  217. package/scripts/check-runtime-architecture.mjs +921 -239
  218. package/scripts/forge-local-recovery-helper.mjs +93 -15
  219. package/scripts/init-project.sh +0 -46
  220. package/scripts/install-ios-hid-toolchain.sh +60 -0
  221. package/scripts/install-standalone-recovery.ts +1 -1
  222. package/scripts/lib/project-init-lib.sh +6 -3
  223. package/scripts/migrate-windows-wsl-controller-home.ts +2 -0
  224. package/scripts/open-source-audit-allowlist.txt +1 -3
  225. package/scripts/run-bounded-command.mjs +5 -0
  226. package/scripts/run-governed-gate.ts +2 -1
  227. package/scripts/run-mobile-monitor-bridge.ts +0 -1
  228. package/scripts/smoke-control-plane-failure-domain.ts +94 -0
  229. package/scripts/smoke-ios-physical-device.ts +38 -10
  230. package/scripts/smoke-mcp-http-runtime.ts +12 -8
  231. package/scripts/smoke-mcp-tool-surface.ts +27 -41
  232. package/scripts/smoke-runtime-recovery.ts +12 -43
  233. package/scripts/smoke-schedule-engine.ts +23 -15
  234. package/scripts/smoke-unattended-transport-recovery.ts +223 -0
  235. package/scripts/smoke-user-request-continuation-restart.ts +232 -0
  236. package/scripts/smoke-workflow-supervisor-chrome-adapter.ts +95 -0
  237. package/scripts/smoke-workflow-supervisor-process-restart.ts +276 -0
  238. package/scripts/smoke-workflow-supervisor-restart-recovery.ts +150 -0
  239. package/scripts/smoke-workflow-supervisor.ts +103 -0
  240. package/scripts/sync-generated-authority.mjs +0 -1
  241. package/scripts/verify-forge-runtime.sh +2 -1
  242. package/src/cli/agent-jobs/executor-health.ts +12 -35
  243. package/src/cli/agent-jobs/integration.ts +20 -51
  244. package/src/cli/agent-jobs/job-manager.ts +7 -3
  245. package/src/cli/chatgpt-browser/file-policy.ts +2 -2
  246. package/src/cli/commands/brain-assistant.ts +27 -13
  247. package/src/cli/commands/brain.ts +13 -15
  248. package/src/cli/commands/chatgpt.ts +1 -163
  249. package/src/cli/commands/doctor.ts +1 -143
  250. package/src/cli/commands/global-runtime.ts +3 -196
  251. package/src/cli/commands/init-hook.ts +6 -23
  252. package/src/cli/commands/init.ts +3 -252
  253. package/src/cli/commands/mcp.ts +0 -5
  254. package/src/cli/commands/prompt-guard-decision.ts +0 -2
  255. package/src/cli/commands/recovery.ts +137 -135
  256. package/src/cli/commands/repository.ts +17 -1
  257. package/src/cli/commands/runtime.ts +3 -3
  258. package/src/cli/commands/setup-execution.ts +41 -0
  259. package/src/cli/commands/setup-profile.ts +8 -0
  260. package/src/cli/controller/check-runner.ts +13 -2
  261. package/src/cli/controller/completion-backlog.ts +3 -3
  262. package/src/cli/controller/completion-orchestrator.ts +5 -44
  263. package/src/cli/controller/completion-target.ts +3 -72
  264. package/src/cli/controller/composite-operations.ts +1 -1
  265. package/src/cli/controller/context/instruction-context.ts +1 -1
  266. package/src/cli/controller/context/known-paths.ts +2 -2
  267. package/src/cli/controller/context/query-planning.ts +11 -4
  268. package/src/cli/controller/context/rule-resolution.ts +2 -2
  269. package/src/cli/controller/context/source-materializer.ts +83 -102
  270. package/src/cli/controller/context/structural-provider.ts +84 -0
  271. package/src/cli/controller/context/structural.ts +6 -6
  272. package/src/cli/controller/context/types.ts +8 -9
  273. package/src/cli/controller/context-pack.ts +107 -84
  274. package/src/cli/controller/execution-completion.ts +4 -7
  275. package/src/cli/controller/execution-policy.ts +36 -153
  276. package/src/cli/controller/governance.ts +2 -3
  277. package/src/cli/controller/issue-store.ts +4 -99
  278. package/src/cli/controller/launch-agents.ts +59 -18
  279. package/src/cli/controller/operational-plan.ts +25 -52
  280. package/src/cli/controller/runtime-config.ts +5 -1
  281. package/src/cli/controller/stuck-state-migration.ts +2 -3
  282. package/src/cli/controller/systemd-user.ts +42 -10
  283. package/src/cli/editing/edit-session.ts +18 -12
  284. package/src/cli/github/github.ts +4 -4
  285. package/src/cli/github/semantic-projection.ts +174 -0
  286. package/src/cli/hook/prompt-intents.ts +0 -9
  287. package/src/cli/index.ts +1 -43
  288. package/src/cli/local-bridge/connector-freshness.ts +1 -12
  289. package/src/cli/local-bridge/console-automations.ts +19 -14
  290. package/src/cli/local-bridge/console-view-models.ts +4 -13
  291. package/src/cli/local-bridge/facade-api.ts +64 -193
  292. package/src/cli/local-bridge/server.ts +24 -147
  293. package/src/cli/local-bridge/types.ts +0 -1
  294. package/src/cli/mcp/oauth-client-retirement.ts +74 -0
  295. package/src/cli/repositories/command-classifier.ts +0 -9
  296. package/src/cli/repositories/command-executor.ts +29 -23
  297. package/src/cli/repositories/command-scope.ts +37 -18
  298. package/src/cli/repositories/controller-home.ts +48 -0
  299. package/src/cli/repositories/ephemeral-workspace.ts +20 -30
  300. package/src/cli/repositories/git-command-executor.ts +2 -2
  301. package/src/cli/repositories/locks.ts +20 -0
  302. package/src/cli/repositories/registry.ts +79 -12
  303. package/src/cli/repositories/safe-patch.ts +2 -12
  304. package/src/cli/repositories/structured-git.ts +101 -5
  305. package/src/cli/repository/inspector.ts +185 -343
  306. package/src/cli/repository/session-cache.ts +92 -6
  307. package/src/effects/process-runner.ts +17 -1
  308. package/src/runtime/context/assistant-context.ts +20 -7
  309. package/src/runtime/context/assistant-work-context.ts +89 -27
  310. package/src/runtime/context/automatic-learning.ts +565 -0
  311. package/src/runtime/context/cognitive-attention.ts +173 -0
  312. package/src/runtime/context/cognitive-skill-canary.ts +158 -0
  313. package/src/runtime/context/context-closure.ts +46 -9
  314. package/src/runtime/context/context-pack-process.ts +103 -0
  315. package/src/runtime/context/context-plane.ts +1 -9
  316. package/src/runtime/context/direct-controller-learning.ts +298 -0
  317. package/src/runtime/context/generic-lsp-provider.ts +1 -1
  318. package/src/runtime/context/semantic-navigation-contract.ts +16 -0
  319. package/src/runtime/context/semantic-navigation.ts +7 -35
  320. package/src/runtime/context/typescript-navigation-process.ts +145 -0
  321. package/src/runtime/context/typescript-navigation.ts +89 -3
  322. package/src/runtime/control-plane/cleanup-artifact-retention.ts +215 -12
  323. package/src/runtime/control-plane/concurrency/work-execution-concurrency.ts +9 -47
  324. package/src/runtime/control-plane/execution/controller-authority-recovery.ts +34 -4
  325. package/src/runtime/control-plane/execution/edit-validation-coordinator.ts +29 -20
  326. package/src/runtime/control-plane/execution/execution-identity.ts +23 -3
  327. package/src/runtime/control-plane/execution/repository-work-attribution.ts +7 -30
  328. package/src/runtime/control-plane/execution/retained-work-resume.ts +206 -199
  329. package/src/runtime/control-plane/execution/session-store.ts +31 -1
  330. package/src/runtime/control-plane/execution/validation.ts +6 -8
  331. package/src/runtime/control-plane/execution/work-authority-reconciler.ts +13 -42
  332. package/src/runtime/control-plane/execution/work-check-evidence.ts +137 -0
  333. package/src/runtime/control-plane/execution/work-completion-authority.ts +30 -85
  334. package/src/runtime/control-plane/execution/work-delivery-service.ts +616 -0
  335. package/src/runtime/control-plane/execution/work-evidence-policy.ts +12 -50
  336. package/src/runtime/control-plane/execution/work-execution-support.ts +50 -149
  337. package/src/runtime/control-plane/execution/work-handle-authority.ts +197 -110
  338. package/src/runtime/control-plane/execution/work-handle-store.ts +72 -44
  339. package/src/runtime/control-plane/execution/work-head-settlement.ts +53 -20
  340. package/src/runtime/control-plane/execution/work-lifecycle-audit.ts +52 -29
  341. package/src/runtime/control-plane/execution/work-operation-service.ts +60 -34
  342. package/src/runtime/control-plane/execution/work-preparation-service.ts +231 -267
  343. package/src/runtime/control-plane/execution/work-process-evidence.ts +2 -2
  344. package/src/runtime/control-plane/execution/work-remote-delivery.ts +2 -3
  345. package/src/runtime/control-plane/execution/work-revision-diff.ts +39 -0
  346. package/src/runtime/control-plane/execution/work-terminal-cleanup.ts +201 -199
  347. package/src/runtime/control-plane/execution/work-validation-reconciler.ts +33 -85
  348. package/src/runtime/control-plane/execution/work-verification-service.ts +406 -50
  349. package/src/runtime/control-plane/execution/work-verification-snapshot.ts +6 -2
  350. package/src/runtime/control-plane/facade/capability-registry.ts +364 -37
  351. package/src/runtime/control-plane/facade/check-normalization.ts +3 -9
  352. package/src/runtime/control-plane/facade/codex-delegation.ts +10 -11
  353. package/src/runtime/control-plane/facade/controller-connection.ts +135 -0
  354. package/src/runtime/control-plane/facade/goal-workloop-access.ts +1 -20
  355. package/src/runtime/control-plane/facade/goal-workloop.ts +281 -1753
  356. package/src/runtime/control-plane/facade/handoff-inbox-application.ts +12 -25
  357. package/src/runtime/control-plane/facade/handoff-inbox-store.ts +256 -52
  358. package/src/runtime/control-plane/facade/index.ts +0 -1
  359. package/src/runtime/control-plane/facade/operation-digest.ts +12 -15
  360. package/src/runtime/control-plane/facade/plan-contract-store.ts +451 -991
  361. package/src/runtime/control-plane/facade/policy-gate.ts +0 -23
  362. package/src/runtime/control-plane/facade/repository-work-admission.ts +12 -22
  363. package/src/runtime/control-plane/facade/requirement-authority.ts +102 -199
  364. package/src/runtime/control-plane/facade/requirement-board.ts +3 -3
  365. package/src/runtime/control-plane/facade/rh-work-operation-contract.ts +51 -14
  366. package/src/runtime/control-plane/facade/self-healing-loop.ts +18 -53
  367. package/src/runtime/control-plane/facade/suggested-actions.ts +15 -18
  368. package/src/runtime/control-plane/facade/types.ts +49 -108
  369. package/src/runtime/control-plane/facade/work-continuation.ts +9 -9
  370. package/src/runtime/control-plane/generated-cache-retention.ts +206 -59
  371. package/src/runtime/control-plane/global-scheduler/autonomous-continuation.ts +248 -0
  372. package/src/runtime/control-plane/global-scheduler/durable-admission.ts +1 -1
  373. package/src/runtime/control-plane/global-scheduler/maintenance.ts +256 -117
  374. package/src/runtime/control-plane/global-scheduler/reconciliation.ts +3 -12
  375. package/src/runtime/control-plane/global-scheduler/scheduler.ts +66 -40
  376. package/src/runtime/control-plane/global-scheduler/wake-signal.ts +42 -2
  377. package/src/runtime/control-plane/governance/access-policy.ts +19 -2
  378. package/src/runtime/control-plane/governance/authorization.ts +20 -3
  379. package/src/runtime/control-plane/governance/external-effects.ts +1 -1
  380. package/src/runtime/control-plane/launcher/chatgpt-round-continuation.ts +63 -300
  381. package/src/runtime/control-plane/launcher/chatgpt-work-continuation.ts +29 -300
  382. package/src/runtime/control-plane/launcher/local-conversation-controller.ts +238 -0
  383. package/src/runtime/control-plane/launcher/provider-mcp-bootstrap.ts +5 -2
  384. package/src/runtime/control-plane/launcher/thin-launcher.ts +96 -240
  385. package/src/runtime/control-plane/persistence/cognition-store.ts +820 -0
  386. package/src/runtime/control-plane/persistence/experience-store.ts +162 -29
  387. package/src/runtime/control-plane/persistence/requirement-store.ts +216 -74
  388. package/src/runtime/control-plane/persistence/sqlite-store.ts +113 -6
  389. package/src/runtime/control-plane/release-retention.ts +135 -47
  390. package/src/runtime/control-plane/repository-namespace-retention.ts +2 -2
  391. package/src/runtime/control-plane/runtime-cleanup.ts +295 -107
  392. package/src/runtime/control-plane/workspace/project-onboarding.ts +80 -0
  393. package/src/runtime/control-plane/workspace/semantic-sync-service.ts +19 -5
  394. package/src/runtime/control-plane/workspace/workspace-store.ts +169 -0
  395. package/src/runtime/diagnostics/incident-repair.ts +313 -146
  396. package/src/runtime/diagnostics/mcp-timing.ts +114 -0
  397. package/src/runtime/evidence/artifact-store.ts +158 -40
  398. package/src/runtime/evidence/evidence-store.ts +112 -8
  399. package/src/runtime/evidence/output-handle-index.ts +225 -0
  400. package/src/runtime/evidence/result-store.ts +158 -44
  401. package/src/runtime/evidence/sensitive-output.ts +22 -2
  402. package/src/runtime/execution/jobs/child-reference.ts +11 -0
  403. package/src/runtime/execution/jobs/receipt-recovery.ts +1 -11
  404. package/src/runtime/execution/jobs/store.ts +3 -4
  405. package/src/runtime/execution/managed-workspace.ts +57 -0
  406. package/src/runtime/execution/process-runtime/check-facade.ts +1 -1
  407. package/src/runtime/execution/process-runtime/check-result-retention.ts +2 -2
  408. package/src/runtime/execution/process-runtime/check-result.ts +105 -1
  409. package/src/runtime/execution/process-runtime/check-runner-sidecar.ts +18 -8
  410. package/src/runtime/execution/process-runtime/command-facade.ts +82 -30
  411. package/src/runtime/execution/process-runtime/gc.ts +15 -2
  412. package/src/runtime/execution/process-runtime/handle-index.ts +176 -0
  413. package/src/runtime/execution/process-runtime/host-command-lane.ts +139 -0
  414. package/src/runtime/execution/process-runtime/index.ts +3 -0
  415. package/src/runtime/execution/process-runtime/lightweight-managed.ts +251 -72
  416. package/src/runtime/execution/process-runtime/persisted-check.ts +3 -3
  417. package/src/runtime/execution/process-runtime/process-runner-entry.ts +47 -5
  418. package/src/runtime/execution/process-runtime/process-scope.ts +160 -0
  419. package/src/runtime/execution/process-runtime/resource-claims.ts +65 -61
  420. package/src/runtime/execution/process-runtime/runtime.ts +55 -18
  421. package/src/runtime/execution/process-runtime/store.ts +30 -2
  422. package/src/runtime/execution/process-runtime/types.ts +6 -1
  423. package/src/runtime/execution/thin-harness/execution-router.ts +16 -16
  424. package/src/runtime/execution/thin-harness/fast-executor.ts +2 -2
  425. package/src/runtime/execution/thin-harness/search-worker.ts +2 -2
  426. package/src/runtime/execution/workers/executor.ts +3 -8
  427. package/src/runtime/maintenance/cleanup.ts +41 -5
  428. package/src/runtime/platform/service-inventory.ts +130 -0
  429. package/src/runtime/platform/service-manager.ts +8 -0
  430. package/src/runtime/plugins/action-application.ts +97 -29
  431. package/src/runtime/plugins/app-store-connect-adapter.ts +290 -18
  432. package/src/runtime/plugins/browser-adapter.ts +1124 -333
  433. package/src/runtime/plugins/browser-automation-service.ts +23 -3
  434. package/src/runtime/plugins/browser-macos-bridge.ts +431 -137
  435. package/src/runtime/plugins/browser-manifest-surface.ts +47 -12
  436. package/src/runtime/plugins/browser-native-session-service.ts +63 -13
  437. package/src/runtime/plugins/browser-registration.ts +18 -0
  438. package/src/runtime/plugins/browser-runtime.ts +40 -36
  439. package/src/runtime/plugins/browser-session-authority.ts +2 -2
  440. package/src/runtime/plugins/browser-session-store.ts +46 -76
  441. package/src/runtime/plugins/capability-authorization-grants.ts +258 -62
  442. package/src/runtime/plugins/computer-chatgpt-browser-adapter-installer.ts +228 -0
  443. package/src/runtime/plugins/computer-registration.ts +298 -20
  444. package/src/runtime/plugins/desktop-operator-external-policy.ts +36 -4
  445. package/src/runtime/plugins/desktop-operator-registration.ts +12 -4
  446. package/src/runtime/plugins/external-adapter.ts +42 -6
  447. package/src/runtime/plugins/external-registration.ts +21 -1
  448. package/src/runtime/plugins/github-adapter.ts +30 -3
  449. package/src/runtime/plugins/gmail-adapter.ts +189 -3
  450. package/src/runtime/plugins/google-calendar-adapter.ts +2 -2
  451. package/src/runtime/plugins/google-shared.ts +24 -12
  452. package/src/runtime/plugins/google-tasks-adapter.ts +2 -2
  453. package/src/runtime/plugins/ios/remote-xpc-hid.ts +70 -30
  454. package/src/runtime/plugins/ios-adapter.ts +46 -41
  455. package/src/runtime/plugins/ios-agent-device.ts +54 -4
  456. package/src/runtime/plugins/ios-device-ownership.ts +103 -0
  457. package/src/runtime/plugins/ios-physical-device.ts +497 -79
  458. package/src/runtime/plugins/lightweight-action.ts +208 -2
  459. package/src/runtime/plugins/local-system-adapter.ts +12 -100
  460. package/src/runtime/plugins/managed-process-adapter.ts +12 -5
  461. package/src/runtime/plugins/plugin-action-sidecar.ts +17 -13
  462. package/src/runtime/plugins/plugin-management-adapter.ts +1 -1
  463. package/src/runtime/plugins/store.ts +682 -435
  464. package/src/runtime/plugins/types.ts +24 -0
  465. package/src/runtime/plugins/xiaohongshu-publish.ts +16 -0
  466. package/src/runtime/projections/git-status-sampler.ts +2 -19
  467. package/src/runtime/projections/invalidation.ts +7 -3
  468. package/src/runtime/projections/materialized-view.ts +80 -36
  469. package/src/runtime/recovery/actions.ts +4 -4
  470. package/src/runtime/recovery/capability-action-application.ts +46 -45
  471. package/src/runtime/recovery/lifecycle-inventory.ts +30 -40
  472. package/src/runtime/recovery/maintenance-executor.ts +374 -123
  473. package/src/runtime/recovery/probe.ts +2 -2
  474. package/src/runtime/recovery/store.ts +29 -11
  475. package/src/runtime/release/release-coordinator.ts +312 -0
  476. package/src/runtime/release/release-session.ts +716 -0
  477. package/src/runtime/release/release-state-migration.ts +25 -0
  478. package/src/runtime/resources/leases/store.ts +56 -25
  479. package/src/runtime/root/computer-composition.ts +191 -6
  480. package/src/runtime/root/controller-progression-composition.ts +254 -0
  481. package/src/runtime/root/controller-round-composition.ts +20 -1
  482. package/src/runtime/root/deployment-topology.ts +106 -0
  483. package/src/runtime/root/entry.ts +4 -3
  484. package/src/runtime/root/known-good-recovery.ts +184 -0
  485. package/src/runtime/root/local-bridge.ts +0 -1
  486. package/src/runtime/root/mcp-transport.ts +111 -18
  487. package/src/runtime/root/ownership.ts +261 -9
  488. package/src/runtime/root/package-connector-service.ts +227 -29
  489. package/src/runtime/root/package-runtime-release.ts +117 -30
  490. package/src/runtime/root/package-runtime-service.ts +24 -24
  491. package/src/runtime/root/release-execution-canary.ts +57 -12
  492. package/src/runtime/root/release-loader.ts +90 -8
  493. package/src/runtime/root/release-manifest.ts +80 -40
  494. package/src/runtime/root/release-materialize.ts +372 -106
  495. package/src/runtime/root/release-store.ts +395 -36
  496. package/src/runtime/root/runtime-lane.ts +191 -0
  497. package/src/runtime/root/runtime.ts +160 -29
  498. package/src/runtime/root/scheduled-controller-composition.ts +29 -3
  499. package/src/runtime/root/service-runner.ts +2 -2
  500. package/src/runtime/root/service.ts +126 -44
  501. package/src/runtime/root/status.ts +48 -0
  502. package/src/runtime/root/types.ts +32 -9
  503. package/src/runtime/root/workflow-supervisor-composition.ts +681 -0
  504. package/src/runtime/root/workflow-supervisor-runtime.ts +564 -0
  505. package/src/runtime/root/write-fence.ts +50 -2
  506. package/src/runtime/safe-tooling/google-credential-store.ts +67 -22
  507. package/src/runtime/safe-tooling/google-oauth-broker.ts +25 -7
  508. package/src/runtime/safe-tooling/ios-development.ts +22 -8
  509. package/src/runtime/safe-tooling/job-summary.ts +1 -1
  510. package/src/runtime/safe-tooling/workspace-auth.ts +5 -2
  511. package/src/runtime/shared/atomic-text-file.ts +21 -0
  512. package/src/runtime/shared/bounded-child-supervisor.ts +9 -1
  513. package/src/runtime/shared/json-files.ts +8 -3
  514. package/src/runtime/shared/process-environment.ts +20 -9
  515. package/src/runtime/shared/response-budget.ts +1 -3
  516. package/src/runtime/standalone-recovery/controller-home-migration.ts +16 -24
  517. package/src/runtime/standalone-recovery/core.ts +3792 -417
  518. package/src/runtime/standalone-recovery/entry.ts +507 -45
  519. package/src/runtime/standalone-recovery/installer.ts +262 -148
  520. package/src/runtime/standalone-recovery/mcp-server.ts +29 -193
  521. package/src/runtime/standalone-recovery/operation-lock.ts +12 -2
  522. package/src/runtime/standalone-recovery/performance.ts +54 -16
  523. package/src/runtime/standalone-recovery/release.ts +53 -5
  524. package/src/runtime/standalone-recovery/service-labels.ts +5 -2
  525. package/src/runtime/standalone-recovery/watchdog-heartbeat.ts +5 -2
  526. package/src/runtime/workflow/schedules/browser-probe.ts +17 -6
  527. package/src/runtime/workflow/schedules/chatgpt-automation-migration.ts +11 -3
  528. package/src/runtime/workflow/schedules/engine.ts +166 -178
  529. package/src/runtime/workflow/schedules/pending-activation.ts +11 -4
  530. package/src/runtime/workflow/schedules/work-continuation.ts +95 -11
  531. package/src/runtime/workflows/runtime.ts +15 -19
  532. package/src/testing/test-governance.ts +5 -1
  533. package/supervisor/chatgpt-conversation.ts +23 -0
  534. package/supervisor/client.ts +218 -0
  535. package/supervisor/control-plane.ts +963 -0
  536. package/supervisor/entry.ts +15 -0
  537. package/supervisor/forge-validators.ts +147 -0
  538. package/supervisor/index.ts +5 -0
  539. package/supervisor/native-browser-adapter.ts +1151 -0
  540. package/supervisor/native-messaging/host.ts +58 -0
  541. package/supervisor/native-messaging/manifest.ts +26 -0
  542. package/supervisor/native-messaging/protocol.ts +27 -0
  543. package/supervisor/paths.ts +18 -0
  544. package/supervisor/protocol.ts +250 -0
  545. package/supervisor/server.ts +412 -0
  546. package/supervisor/store.ts +1870 -0
  547. package/supervisor/tsconfig.json +8 -0
  548. package/supervisor/types.ts +261 -0
  549. package/SKILL.md +0 -427
  550. package/adapters/chatgpt/controller-host.ts +0 -119
  551. package/adapters/mcp/controller-round-compatibility.ts +0 -184
  552. package/adapters/mcp/frozen-client-semantic-compatibility.ts +0 -292
  553. package/adapters/mcp/runtime-gateway/work-compat-adapter.ts +0 -502
  554. package/adapters/mcp/runtime-gateway/work-validation-reconciler.ts +0 -1
  555. package/adapters/mcp/toolset-selection.ts +0 -41
  556. package/agents/openai.yaml +0 -4
  557. package/assets/skill-hooks.json +0 -41
  558. package/assets/skill-version.json +0 -189
  559. package/assets/skills/claude-review/SKILL.md +0 -231
  560. package/assets/skills/codex-review/SKILL.md +0 -103
  561. package/assets/templates/helpers/check-skill-version.ts +0 -193
  562. package/packages/kernel/progression/api/index.ts +0 -2
  563. package/packages/kernel/progression/application/projector.ts +0 -211
  564. package/packages/kernel/progression/domain/types.ts +0 -116
  565. package/packages/kernel/progression/index.ts +0 -1
  566. package/packages/kernel/scheduler/application/continuation-service.ts +0 -212
  567. package/packages/kernel/scheduler/domain/continuation.ts +0 -38
  568. package/packages/kernel/scheduler/infrastructure/continuation-dispatch-store.ts +0 -38
  569. package/packages/kernel/work/domain/admission-policy.ts +0 -34
  570. package/scripts/benchmark-background-check-overlap.ts +0 -228
  571. package/scripts/benchmark-computer-hotpath.ts +0 -255
  572. package/scripts/benchmark-controller-hotpath.ts +0 -212
  573. package/scripts/benchmark-controller-round2.ts +0 -191
  574. package/scripts/benchmark-ios-agent-device.ts +0 -511
  575. package/scripts/benchmark-mcp-host.sh +0 -117
  576. package/scripts/benchmark-mcp-transport.ts +0 -169
  577. package/scripts/benchmark-operational-memory-activation.ts +0 -235
  578. package/scripts/benchmark-operational-shadow.ts +0 -28
  579. package/scripts/benchmark-quality-harness.ts +0 -146
  580. package/scripts/benchmark-route-session-concurrency.ts +0 -915
  581. package/scripts/benchmark-thin-harness-gateway-ab.ts +0 -632
  582. package/scripts/benchmark-thin-harness-mcp-e2e.ts +0 -498
  583. package/scripts/benchmark-thin-harness.ts +0 -251
  584. package/scripts/benchmark-typescript-navigation.ts +0 -186
  585. package/scripts/benchmark-work-efficiency.ts +0 -334
  586. package/scripts/build-controller-ui.ts +0 -28
  587. package/scripts/check-npm-release.sh +0 -32
  588. package/scripts/check-public-release-surface.sh +0 -19
  589. package/scripts/check-release-published.sh +0 -57
  590. package/scripts/check-release-readiness.sh +0 -37
  591. package/scripts/check-release-version.mjs +0 -74
  592. package/scripts/check-skill-version.ts +0 -5
  593. package/scripts/check-tarball-install-smoke.sh +0 -150
  594. package/scripts/ensure-codegraph.sh +0 -16
  595. package/scripts/package-source-archive.sh +0 -147
  596. package/scripts/public-release-files.txt +0 -39
  597. package/scripts/public-release.ts +0 -174
  598. package/scripts/publish-release-tarball.sh +0 -27
  599. package/scripts/route-nl-vs-ts-eval.ts +0 -679
  600. package/scripts/run-skill-hook.ts +0 -244
  601. package/scripts/stage-runtime-release.ts +0 -44
  602. package/scripts/sync-codex-installed-copies.sh +0 -182
  603. package/src/cli/commands/tools.ts +0 -167
  604. package/src/cli/controller/progress.ts +0 -656
  605. package/src/cli/controller/work-mode.ts +0 -181
  606. package/src/cli/local-bridge/console-assets.ts +0 -17
  607. package/src/cli/local-bridge/dashboard.ts +0 -17
  608. package/src/cli/local-bridge/frontend/src/App.tsx +0 -10
  609. package/src/cli/local-bridge/frontend/src/components/Button.tsx +0 -1
  610. package/src/cli/local-bridge/frontend/src/components/DetailPane.tsx +0 -3
  611. package/src/cli/local-bridge/frontend/src/components/SearchField.tsx +0 -1
  612. package/src/cli/local-bridge/frontend/src/components/SectionHeader.tsx +0 -1
  613. package/src/cli/local-bridge/frontend/src/components/Segmented.tsx +0 -1
  614. package/src/cli/local-bridge/frontend/src/components/StatusText.tsx +0 -3
  615. package/src/cli/local-bridge/frontend/src/design/icons.tsx +0 -11
  616. package/src/cli/local-bridge/frontend/src/design/tokens.css +0 -8
  617. package/src/cli/local-bridge/frontend/src/features/automations/AutomationsView.tsx +0 -153
  618. package/src/cli/local-bridge/frontend/src/features/capabilities/CapabilitiesView.tsx +0 -37
  619. package/src/cli/local-bridge/frontend/src/features/overview/OverviewView.tsx +0 -183
  620. package/src/cli/local-bridge/frontend/src/features/repositories/RepositoriesView.tsx +0 -2
  621. package/src/cli/local-bridge/frontend/src/features/system/SystemView.tsx +0 -2
  622. package/src/cli/local-bridge/frontend/src/features/work/WorkView.tsx +0 -4
  623. package/src/cli/local-bridge/frontend/src/lib/api.ts +0 -30
  624. package/src/cli/local-bridge/frontend/src/lib/format.ts +0 -4
  625. package/src/cli/local-bridge/frontend/src/lib/routes.ts +0 -7
  626. package/src/cli/local-bridge/frontend/src/main.tsx +0 -1
  627. package/src/cli/local-bridge/frontend/src/shell/AppShell.tsx +0 -1
  628. package/src/cli/local-bridge/frontend/src/shell/CommandBar.tsx +0 -2
  629. package/src/cli/local-bridge/frontend/src/shell/Sidebar.tsx +0 -4
  630. package/src/cli/local-bridge/frontend/src/styles.css +0 -28
  631. package/src/cli/local-bridge/frontend/src/types.ts +0 -15
  632. package/src/cli/local-bridge/frontend/src/vite-env.d.ts +0 -1
  633. package/src/cli/local-bridge/frontend/vite.config.ts +0 -27
  634. package/src/cli/local-bridge/ui-dist/app.css +0 -1
  635. package/src/cli/local-bridge/ui-dist/app.js +0 -11228
  636. package/src/cli/mcp/access-mode.ts +0 -2
  637. package/src/cli/mcp/access-tools.ts +0 -2
  638. package/src/cli/mcp/audit.ts +0 -2
  639. package/src/cli/mcp/auth.ts +0 -2
  640. package/src/cli/mcp/instructions.ts +0 -2
  641. package/src/cli/mcp/legacy-context.ts +0 -2
  642. package/src/cli/mcp/legacy-tool-service.ts +0 -2
  643. package/src/cli/mcp/multi-repository.ts +0 -2
  644. package/src/cli/mcp/oauth.ts +0 -2
  645. package/src/cli/mcp/openai-secure-tunnel.ts +0 -2
  646. package/src/cli/mcp/paths.ts +0 -2
  647. package/src/cli/mcp/policy.ts +0 -2
  648. package/src/cli/mcp/post-finalize-work-attribution.ts +0 -2
  649. package/src/cli/mcp/proxy-env.ts +0 -2
  650. package/src/cli/mcp/readiness-projection.ts +0 -2
  651. package/src/cli/mcp/redaction.ts +0 -2
  652. package/src/cli/mcp/repo.ts +0 -2
  653. package/src/cli/mcp/repository-tools.ts +0 -2
  654. package/src/cli/mcp/server.ts +0 -2
  655. package/src/cli/mcp/setup.ts +0 -2
  656. package/src/cli/mcp/tool-capability-cache.ts +0 -2
  657. package/src/cli/mcp/tool-contract.ts +0 -2
  658. package/src/cli/mcp/tools.ts +0 -2
  659. package/src/cli/mcp/toolset-names.ts +0 -2
  660. package/src/cli/mcp/toolset-selection.ts +0 -2
  661. package/src/cli/mcp/toolset.ts +0 -2
  662. package/src/cli/mcp/transports/http.ts +0 -2
  663. package/src/cli/mcp/transports/session-registry.ts +0 -2
  664. package/src/cli/mcp/transports/stdio.ts +0 -2
  665. package/src/cli/mcp/types.ts +0 -2
  666. package/src/cli/mcp/umbrella-tools.ts +0 -2
  667. package/src/cli/tools/codegraph.ts +0 -695
  668. package/src/core/adoption/helper-wrapper-plan.ts +0 -159
  669. package/src/runtime/context/codegraph-cache-boundary.ts +0 -255
  670. package/src/runtime/context/codegraph-read-provider.ts +0 -611
  671. package/src/runtime/context/codegraph-sidecar.cjs +0 -248
  672. package/src/runtime/control-plane/codegraph-cache-retention.ts +0 -164
  673. package/src/runtime/control-plane/execution/content-equivalent-commit-authority.ts +0 -169
  674. package/src/runtime/control-plane/execution/direct-canonical-work-reconciliation.ts +0 -85
  675. package/src/runtime/control-plane/execution/direct-edit-work-completion.ts +0 -655
  676. package/src/runtime/control-plane/execution/work-finalization-service.ts +0 -2850
  677. package/src/runtime/control-plane/execution/work-path-scope.ts +0 -37
  678. package/src/runtime/control-plane/execution/work-task-receipt.ts +0 -468
  679. package/src/runtime/control-plane/facade/controller-round-relay.ts +0 -3
  680. package/src/runtime/control-plane/facade/work-admission-policy.ts +0 -142
  681. package/src/runtime/control-plane/facade/work-implementation-review.ts +0 -2
  682. package/src/runtime/control-plane/facade/work-state-machine.ts +0 -2
  683. package/src/runtime/control-plane/facade/work-task-projection.ts +0 -66
  684. package/src/runtime/control-plane/routing/index.ts +0 -1
  685. package/src/runtime/control-plane/routing/route-policy.ts +0 -401
  686. package/src/runtime/control-plane/routing/workspace-admission.ts +0 -70
  687. package/src/runtime/gateway/mcp/execution-tools.ts +0 -2
  688. package/src/runtime/gateway/mcp/legacy-ios-tool-adapter.ts +0 -2
  689. package/src/runtime/gateway/mcp/persisted-check-process.ts +0 -2
  690. package/src/runtime/gateway/mcp/process-tools.ts +0 -2
  691. package/src/runtime/gateway/mcp/router.ts +0 -2
  692. package/src/runtime/gateway/mcp/runtime-tool-definitions.ts +0 -2
  693. package/src/runtime/gateway/mcp/runtime-tools.ts +0 -2
  694. package/src/runtime/gateway/mcp/work-validation-reconciler.ts +0 -2
  695. package/src/runtime/plugins/browser-provider-registry.ts +0 -2
@@ -4,7 +4,8 @@ import {
4
4
  COMPUTER_OBSERVE_CAPABILITY,
5
5
  } from '../../../../packages/protocols/computer/index';
6
6
  import type { AssistantPluginManifest } from '../../plugins/types';
7
- import type { CapabilityDescriptor, CapabilityDomain, CapabilityExecutionSurface, CapabilityGroupSummary, CapabilityOperationClass, CapabilityRisk, FacadeTool } from './types';
7
+ import { EDIT_OPERATION_INPUT_SCHEMA } from '../../../cli/editing/edit-operation-contract';
8
+ import { FACADE_TOOLS, type CapabilityDescriptor, type CapabilityDomain, type CapabilityExecutionSurface, type CapabilityGroupSummary, type CapabilityOperationClass, type CapabilityRisk, type FacadeTool } from './types';
8
9
 
9
10
  const CORE_CAPABILITIES: CapabilityDescriptor[] = [
10
11
  {
@@ -13,19 +14,9 @@ const CORE_CAPABILITIES: CapabilityDescriptor[] = [
13
14
  group: 'repository-core',
14
15
  operationClass: 'write',
15
16
  risk: 'local_repo_write',
16
- exposedVia: 'rh_work',
17
- schemaExposure: 'stable_static',
18
- summary: 'Apply bounded direct edits, patches, selected-path staging, selected commits, and targeted checks for small supervised tasks.',
19
- },
20
- {
21
- capabilityId: 'controller.goal_workloop',
22
- domain: 'controller',
23
- group: 'controller',
24
- operationClass: 'execute',
25
- risk: 'workspace_write',
26
- exposedVia: 'rh_work',
17
+ exposedVia: 'capability_execute',
27
18
  schemaExposure: 'stable_static',
28
- summary: 'Run a recoverable multi-step work contract through isolated worktree, worker, approval, verification, and continuation handoff.',
19
+ summary: 'Plan and apply bounded repository edits through the existing Safe Patch/EditSession authority, with optional targeted validation and no second editing engine.',
29
20
  },
30
21
  {
31
22
  capabilityId: 'controller.handoff_inbox',
@@ -47,6 +38,26 @@ const CORE_CAPABILITIES: CapabilityDescriptor[] = [
47
38
  schemaExposure: 'stable_static',
48
39
  summary: 'Read bounded controller, queue, worker, projection, plugin, and readiness status.',
49
40
  },
41
+ {
42
+ capabilityId: 'controller.connection',
43
+ domain: 'controller',
44
+ group: 'controller',
45
+ operationClass: 'execute',
46
+ risk: 'workspace_write',
47
+ exposedVia: 'capability_execute',
48
+ schemaExposure: 'stable_static',
49
+ summary: 'Read product-safe controller and tunnel connection state, and refresh the existing Forge Connector through setup authority without creating another configuration owner.',
50
+ },
51
+ {
52
+ capabilityId: 'controller.local_conversation',
53
+ domain: 'controller',
54
+ group: 'controller',
55
+ operationClass: 'execute',
56
+ risk: 'workspace_write',
57
+ exposedVia: 'capability_execute',
58
+ schemaExposure: 'stable_static',
59
+ summary: 'Run one Work-independent local controller conversation through the existing Codex provider and current Forge Runtime MCP capabilities; conversation transport never creates semantic Work implicitly.',
60
+ },
50
61
  {
51
62
  capabilityId: 'repository.context',
52
63
  domain: 'repository',
@@ -55,7 +66,7 @@ const CORE_CAPABILITIES: CapabilityDescriptor[] = [
55
66
  risk: 'readonly',
56
67
  exposedVia: 'rh_context',
57
68
  schemaExposure: 'stable_static',
58
- summary: 'Read bounded repository context, checks, project state, and execution-mode recommendations.',
69
+ summary: 'Read bounded repository context, checks, project state, source structure, and execution evidence without choosing the model workflow.',
59
70
  },
60
71
  {
61
72
  capabilityId: 'evidence.read',
@@ -95,7 +106,27 @@ const CORE_CAPABILITIES: CapabilityDescriptor[] = [
95
106
  risk: 'workspace_write',
96
107
  exposedVia: 'rh_work',
97
108
  schemaExposure: 'stable_static',
98
- summary: 'Claim Work ownership and start an external Codex, Claude, or ChatGPT controller through controller_claim and launcher_start, with handoff decisions coordinated through rh_inbox; deprecated delegate is not an execution path.',
109
+ summary: 'Start an explicitly requested external Codex, Claude, or ChatGPT controller through launcher_start; provider identity, transport recovery, and mechanical binding remain internal.',
110
+ },
111
+ {
112
+ capabilityId: 'controller.workflow_supervisor',
113
+ domain: 'controller',
114
+ group: 'controller',
115
+ operationClass: 'execute',
116
+ risk: 'workspace_write',
117
+ exposedVia: 'capability_execute',
118
+ schemaExposure: 'stable_static',
119
+ summary: 'Start, inspect, revise, recover, stop, and verify standalone Workflow Supervisor tasks through the existing Supervisor single-writer authority; used for bounded cross-turn continuation and release-bound live proof without creating semantic Work or another public facade tool.',
120
+ },
121
+ {
122
+ capabilityId: 'controller.round_recovery',
123
+ domain: 'controller',
124
+ group: 'controller',
125
+ operationClass: 'execute',
126
+ risk: 'workspace_write',
127
+ exposedVia: 'capability_execute',
128
+ schemaExposure: 'stable_static',
129
+ summary: 'Recover one exact orphaned ControllerRound through the existing authority-rekey transaction, claim it with the authenticated current Runtime, apply only the caller-explicit disposition, and never replay the confirmed provider dispatch effect.',
99
130
  },
100
131
  {
101
132
  capabilityId: 'controller.work_contract',
@@ -105,7 +136,7 @@ const CORE_CAPABILITIES: CapabilityDescriptor[] = [
105
136
  risk: 'workspace_write',
106
137
  exposedVia: 'rh_work',
107
138
  schemaExposure: 'stable_static',
108
- summary: 'Persist and advance WorkContract records for goal workloop start, continue, verify, explicit implementation review, finalize, and stop.',
139
+ summary: 'Persist optional semantic Work context with stable identity, CAS revision, objective, result references, and open/completed/cancelled state.',
109
140
  },
110
141
  {
111
142
  capabilityId: 'controller.plan_contract',
@@ -115,37 +146,37 @@ const CORE_CAPABILITIES: CapabilityDescriptor[] = [
115
146
  risk: 'readonly',
116
147
  exposedVia: 'rh_work',
117
148
  schemaExposure: 'stable_static',
118
- summary: 'Persist bounded pre-execution plans with frozen revisions, step acceptance criteria, explicit approval, and supersession before complex work creates an execution contract.',
149
+ summary: 'Persist model-authored Plan working memory with stable identity and semantic revision/CAS; Plan items do not own execution, checks, or acceptance.',
150
+ },
151
+ {
152
+ capabilityId: 'repository.validation',
153
+ domain: 'repository',
154
+ group: 'repository-core',
155
+ operationClass: 'execute',
156
+ risk: 'workspace_write',
157
+ exposedVia: 'capability_execute',
158
+ schemaExposure: 'stable_static',
159
+ summary: 'Refresh exact Work validation authority through the existing Work validation owner without adding a top-level MCP tool or command execution surface.',
119
160
  },
120
161
  {
121
162
  capabilityId: 'repository.git',
122
163
  domain: 'repository',
123
164
  group: 'git',
124
- operationClass: 'finalize',
165
+ operationClass: 'write',
125
166
  risk: 'local_repo_write',
126
- exposedVia: 'rh_work',
167
+ exposedVia: 'capability_execute',
127
168
  schemaExposure: 'stable_static',
128
- summary: 'Use typed Git status, diff, branch, commit, integration, and cleanup handlers without routing arbitrary Git text through a facade RPC.',
169
+ summary: 'Repository-native typed Git handlers own identity, dirty-path, CAS, lease, conflict, authorization, and idempotency fences; Work completion is not a Git admission gate.',
129
170
  },
130
171
  {
131
- capabilityId: 'workflow.issue_task',
172
+ capabilityId: 'workflow.durable_work',
132
173
  domain: 'controller',
133
174
  group: 'issue-task',
134
175
  operationClass: 'execute',
135
176
  risk: 'workspace_write',
136
177
  exposedVia: 'rh_work',
137
178
  schemaExposure: 'stable_static',
138
- summary: 'Plan, dispatch, review, verify, retry, and accept durable Issue and Task work through existing typed handlers.',
139
- },
140
- {
141
- capabilityId: 'plugin.browser',
142
- domain: 'plugin',
143
- group: 'browser',
144
- operationClass: 'execute',
145
- risk: 'unknown',
146
- exposedVia: 'plugin_action_execute',
147
- schemaExposure: 'stable_static',
148
- summary: 'Use typed HTTP(S) browser navigation, snapshot, and interaction actions through plugin_action_execute when browser capability is configured.',
179
+ summary: 'Persist and schedule durable semantic Work. Work is open, completed, or cancelled; execution evidence is advisory and never an admission phase.',
149
180
  },
150
181
  {
151
182
  capabilityId: 'platform.ios',
@@ -255,10 +286,8 @@ function intentBoosts(query: string, descriptor: CapabilityDescriptor): Array<{
255
286
  const browserLoginIntent = normalized.includes('browser')
256
287
  && /\b(login|log in|signin|sign in|auth|authentication|session)\b/.test(normalized);
257
288
  if (browserLoginIntent) {
258
- if (capabilityId === 'plugin.browser') boosts.push({ label: 'browser-auth', score: 90 });
259
- else if (capabilityId.startsWith('plugin.browser.')) boosts.push({ label: 'browser-auth', score: 62 });
260
- if (semanticCapabilities.has(COMPUTER_OBSERVE_CAPABILITY)) boosts.push({ label: 'browser-computer-observe', score: 54 });
261
- if (semanticCapabilities.has(COMPUTER_INPUT_CAPABILITY)) boosts.push({ label: 'browser-computer-input', score: 50 });
289
+ if (semanticCapabilities.has(COMPUTER_OBSERVE_CAPABILITY)) boosts.push({ label: 'browser-computer-observe', score: 90 });
290
+ if (semanticCapabilities.has(COMPUTER_INPUT_CAPABILITY)) boosts.push({ label: 'browser-computer-input', score: 82 });
262
291
  }
263
292
  return boosts;
264
293
  }
@@ -322,13 +351,311 @@ export function summarizeCapabilityGroups(manifests: readonly AssistantPluginMan
322
351
  capabilityCount: entries.length,
323
352
  domains: [...new Set(entries.map((entry) => entry.domain))].sort(),
324
353
  executionSurfaces: [...new Set(entries.map((entry) => entry.exposedVia))].sort(),
325
- facadeTools: [...new Set(entries.map((entry) => entry.exposedVia).filter((surface): surface is FacadeTool => surface.startsWith('rh_')))].sort(),
354
+ facadeTools: [...new Set(entries.map((entry) => entry.exposedVia).filter((surface): surface is FacadeTool => FACADE_TOOLS.includes(surface as FacadeTool)))].sort(),
326
355
  operationClasses: [...new Set(entries.map((entry) => entry.operationClass))].sort(),
327
356
  risks: [...new Set(entries.map((entry) => entry.risk))].sort(),
328
357
  schemaExposures: [...new Set(entries.map((entry) => entry.schemaExposure))].sort(),
329
358
  }));
330
359
  }
331
360
 
361
+ export function getCoreCapabilityExecutionSchema(capabilityId: string): Record<string, unknown> | undefined {
362
+ if (capabilityId === 'controller.connection') {
363
+ return {
364
+ capabilityId,
365
+ executeWith: 'capability_execute',
366
+ actions: {
367
+ get: {
368
+ readOnly: true,
369
+ risk: 'readonly',
370
+ argumentsSchema: { type: 'object', additionalProperties: false, properties: {} },
371
+ },
372
+ repair_connector: {
373
+ readOnly: false,
374
+ risk: 'workspace_write',
375
+ argumentsSchema: { type: 'object', additionalProperties: false, properties: {} },
376
+ },
377
+ },
378
+ };
379
+ }
380
+ if (capabilityId === 'controller.local_conversation') {
381
+ return {
382
+ capabilityId,
383
+ executeWith: 'capability_execute',
384
+ actions: {
385
+ status: {
386
+ readOnly: true,
387
+ risk: 'readonly',
388
+ argumentsSchema: { type: 'object', additionalProperties: false, properties: {} },
389
+ },
390
+ send: {
391
+ readOnly: false,
392
+ risk: 'workspace_write',
393
+ argumentsSchema: {
394
+ type: 'object',
395
+ additionalProperties: false,
396
+ required: ['conversation_id', 'prompt'],
397
+ properties: {
398
+ conversation_id: { type: 'string', minLength: 1, maxLength: 160 },
399
+ provider_session_id: { type: 'string', minLength: 1, maxLength: 160 },
400
+ prompt: { type: 'string', minLength: 1, maxLength: 20_000 },
401
+ timeout_ms: { type: 'number', minimum: 5_000, maximum: 600_000 },
402
+ },
403
+ },
404
+ },
405
+ },
406
+ };
407
+ }
408
+ if (capabilityId === 'controller.round_recovery') {
409
+ return {
410
+ capabilityId,
411
+ executeWith: 'capability_execute',
412
+ actions: {
413
+ recover_and_dispose: {
414
+ readOnly: false,
415
+ risk: 'workspace_write',
416
+ argumentsSchema: {
417
+ type: 'object',
418
+ additionalProperties: false,
419
+ required: ['work_id', 'recovery_reason', 'disposition', 'user_directed'],
420
+ properties: {
421
+ work_id: { type: 'string', minLength: 1, maxLength: 256 },
422
+ recovery_reason: { type: 'string', minLength: 1, maxLength: 1000 },
423
+ disposition: { type: 'string', enum: ['continue_immediately', 'wait', 'wait_for_user', 'goal_complete'] },
424
+ handoff_id: { type: 'string', minLength: 1, maxLength: 200 },
425
+ user_directed: { type: 'boolean', const: true },
426
+ },
427
+ },
428
+ },
429
+ },
430
+ };
431
+ }
432
+ if (capabilityId === 'controller.workflow_supervisor') {
433
+ return {
434
+ capabilityId,
435
+ executeWith: 'capability_execute',
436
+ actions: {
437
+ start: {
438
+ readOnly: false,
439
+ risk: 'workspace_write',
440
+ argumentsSchema: {
441
+ type: 'object', additionalProperties: false, required: ['objective'],
442
+ properties: { objective: { type: 'string', minLength: 1, maxLength: 4000 } },
443
+ },
444
+ },
445
+ list: {
446
+ readOnly: true,
447
+ risk: 'readonly',
448
+ argumentsSchema: {
449
+ type: 'object', additionalProperties: false,
450
+ properties: { active_only: { type: 'boolean' } },
451
+ },
452
+ },
453
+ get: {
454
+ readOnly: true,
455
+ risk: 'readonly',
456
+ argumentsSchema: {
457
+ type: 'object', additionalProperties: false, required: ['task_id'],
458
+ properties: { task_id: { type: 'string', minLength: 1, maxLength: 256 } },
459
+ },
460
+ },
461
+ revise: {
462
+ readOnly: false,
463
+ risk: 'workspace_write',
464
+ argumentsSchema: {
465
+ type: 'object', additionalProperties: false, required: ['task_id', 'objective', 'expected_objective_sha256'],
466
+ properties: {
467
+ task_id: { type: 'string', minLength: 1, maxLength: 256 },
468
+ objective: { type: 'string', minLength: 1, maxLength: 8000 },
469
+ expected_objective_sha256: { type: 'string', minLength: 64, maxLength: 64 },
470
+ authorized_by: { type: 'string', minLength: 1, maxLength: 256 },
471
+ },
472
+ },
473
+ },
474
+ switch_to_fresh_conversation: {
475
+ readOnly: false,
476
+ risk: 'workspace_write',
477
+ argumentsSchema: {
478
+ type: 'object', additionalProperties: false, required: ['task_id', 'expected_conversation_id', 'reason'],
479
+ properties: {
480
+ task_id: { type: 'string', minLength: 1, maxLength: 256 },
481
+ expected_conversation_id: { type: 'string', minLength: 1, maxLength: 256 },
482
+ reason: { type: 'string', minLength: 1, maxLength: 2000 },
483
+ authorized_by: { type: 'string', minLength: 1, maxLength: 256 },
484
+ },
485
+ },
486
+ },
487
+ recover: {
488
+ readOnly: false,
489
+ risk: 'workspace_write',
490
+ argumentsSchema: {
491
+ type: 'object', additionalProperties: false, required: ['task_id', 'reason'],
492
+ properties: {
493
+ task_id: { type: 'string', minLength: 1, maxLength: 256 },
494
+ reason: { type: 'string', minLength: 1, maxLength: 2000 },
495
+ source_effect_id: { type: 'string', minLength: 1, maxLength: 256 },
496
+ supersede_unknown: { type: 'boolean' },
497
+ authorized_by: { type: 'string', minLength: 1, maxLength: 256 },
498
+ },
499
+ },
500
+ },
501
+ stop: {
502
+ readOnly: false,
503
+ risk: 'workspace_write',
504
+ argumentsSchema: {
505
+ type: 'object', additionalProperties: false, required: ['task_id'],
506
+ properties: {
507
+ task_id: { type: 'string', minLength: 1, maxLength: 256 },
508
+ reason: { type: 'string', maxLength: 2000 },
509
+ },
510
+ },
511
+ },
512
+ proof: {
513
+ readOnly: true,
514
+ risk: 'readonly',
515
+ argumentsSchema: {
516
+ type: 'object', additionalProperties: false, required: ['active_release_id', 'not_before'],
517
+ properties: {
518
+ active_release_id: { type: 'string', minLength: 1, maxLength: 256 },
519
+ not_before: { type: 'string', minLength: 1, maxLength: 128 },
520
+ },
521
+ },
522
+ },
523
+ },
524
+ };
525
+ }
526
+ if (capabilityId === 'repository.direct_edit') {
527
+ return {
528
+ capabilityId,
529
+ executeWith: 'capability_execute',
530
+ actions: {
531
+ plan: {
532
+ readOnly: true,
533
+ risk: 'readonly',
534
+ argumentsSchema: {
535
+ type: 'object',
536
+ additionalProperties: false,
537
+ required: ['operations'],
538
+ properties: {
539
+ operations: { type: 'array', minItems: 1, maxItems: 100, items: EDIT_OPERATION_INPUT_SCHEMA },
540
+ chunk_size: { type: 'number', minimum: 1, maximum: 100 },
541
+ },
542
+ },
543
+ },
544
+ apply: {
545
+ readOnly: false,
546
+ risk: 'local_repo_write',
547
+ argumentsSchema: {
548
+ type: 'object',
549
+ additionalProperties: false,
550
+ properties: {
551
+ work_id: { type: 'string', minLength: 1, maxLength: 256 },
552
+ session_id: { type: 'string', minLength: 1, maxLength: 256 },
553
+ purpose: { type: 'string', maxLength: 2000 },
554
+ operations: { type: 'array', minItems: 1, maxItems: 100, items: EDIT_OPERATION_INPUT_SCHEMA },
555
+ chunk_size: { type: 'number', minimum: 1, maximum: 100 },
556
+ expected_revision: { type: 'number', minimum: 0 },
557
+ allowed_paths: { type: 'array', maxItems: 128, items: { type: 'string', minLength: 1, maxLength: 1024 } },
558
+ continue_on_error: { type: 'boolean' },
559
+ refresh_fingerprints: { type: 'boolean' },
560
+ recover_stale_session: { type: 'boolean' },
561
+ check_ids: { type: 'array', maxItems: 32, items: { type: 'string', minLength: 1, maxLength: 256 } },
562
+ check_timeout_ms: { type: 'number', minimum: 1 },
563
+ lease_wait_ms: { type: 'number', minimum: 0 },
564
+ validation_request_id: { type: 'string', minLength: 1, maxLength: 256 },
565
+ validation_only: { type: 'boolean' },
566
+ },
567
+ },
568
+ },
569
+ },
570
+ };
571
+ }
572
+ if (capabilityId === 'repository.validation') {
573
+ return {
574
+ capabilityId,
575
+ executeWith: 'capability_execute',
576
+ actions: {
577
+ validate_work: {
578
+ readOnly: false,
579
+ risk: 'workspace_write',
580
+ argumentsSchema: {
581
+ type: 'object',
582
+ additionalProperties: false,
583
+ required: ['work_id'],
584
+ properties: {
585
+ session_id: { type: 'string', minLength: 1, maxLength: 256 },
586
+ work_id: { type: 'string', minLength: 1, maxLength: 256 },
587
+ check_ids: { type: 'array', maxItems: 32, items: { type: 'string', minLength: 1, maxLength: 256 } },
588
+ interactive_wait_ms: { type: 'number', minimum: 0, maximum: 30000 },
589
+ },
590
+ },
591
+ },
592
+ },
593
+ };
594
+ }
595
+ if (capabilityId !== 'repository.git') return undefined;
596
+ return {
597
+ capabilityId,
598
+ executeWith: 'capability_execute',
599
+ actions: {
600
+ diff_paths: {
601
+ readOnly: true,
602
+ risk: 'readonly',
603
+ argumentsSchema: {
604
+ type: 'object',
605
+ additionalProperties: false,
606
+ required: ['paths'],
607
+ properties: {
608
+ paths: { type: 'array', minItems: 1, maxItems: 128, items: { type: 'string' } },
609
+ staged: { type: 'boolean' },
610
+ max_bytes: { type: 'number', minimum: 1024, maximum: 524288 },
611
+ },
612
+ },
613
+ },
614
+ stage_paths: {
615
+ readOnly: false,
616
+ risk: 'local_repo_write',
617
+ argumentsSchema: {
618
+ type: 'object',
619
+ additionalProperties: false,
620
+ required: ['paths'],
621
+ properties: {
622
+ paths: { type: 'array', minItems: 1, maxItems: 128, items: { type: 'string' } },
623
+ },
624
+ },
625
+ },
626
+ commit_paths: {
627
+ readOnly: false,
628
+ risk: 'local_repo_write',
629
+ argumentsSchema: {
630
+ type: 'object',
631
+ additionalProperties: false,
632
+ required: ['paths', 'message'],
633
+ properties: {
634
+ paths: { type: 'array', minItems: 1, maxItems: 128, items: { type: 'string' } },
635
+ message: { type: 'string', minLength: 1 },
636
+ },
637
+ },
638
+ },
639
+ deliver_work: {
640
+ readOnly: false,
641
+ risk: 'local_repo_write',
642
+ argumentsSchema: {
643
+ type: 'object',
644
+ additionalProperties: false,
645
+ required: ['work_id'],
646
+ properties: {
647
+ session_id: { type: 'string', minLength: 1, maxLength: 256 },
648
+ work_id: { type: 'string', minLength: 1, maxLength: 256 },
649
+ target_branch: { type: 'string', minLength: 1, maxLength: 512 },
650
+ complete_work: { type: 'boolean' },
651
+ allow_merge_commit: { type: 'boolean' },
652
+ },
653
+ },
654
+ },
655
+ },
656
+ };
657
+ }
658
+
332
659
  export function getPluginActionCapabilitySchema(
333
660
  capabilityId: string,
334
661
  manifests: readonly AssistantPluginManifest[] = [],
@@ -94,15 +94,9 @@ export function normalizeCheckIds(
94
94
  validCheckIds,
95
95
  invalidCheckIds,
96
96
  warnings,
97
- suggestedNextActions: validCheckIds.map((checkId) => ({
98
- label: `Run ${checkId}`,
99
- tool: 'rh_work',
100
- operation: 'verify',
101
- payload: { check_id: checkId },
102
- risk: 'workspace_write',
103
- confidence: 'high',
104
- reason: 'Check id exists in the repository check registry.',
105
- })),
97
+ // Registered check ids are evidence for the model to invoke run_check directly.
98
+ // The facade does not translate them back into a retired Work verification verb.
99
+ suggestedNextActions: [],
106
100
  };
107
101
  }
108
102
 
@@ -8,7 +8,7 @@ import type {
8
8
 
9
9
  export type DelegateTarget = 'codex' | 'grok' | 'claude';
10
10
 
11
- /** @deprecated since 1.4.0; removed no earlier than 2026-12-31. Use controller_claim and handoff_create/read/accept. */
11
+ /** @deprecated since 1.4.0; removed no earlier than 2026-12-31. Use launcher_start for an explicit external controller. */
12
12
 
13
13
  export interface CodexContextPack {
14
14
  schemaVersion: 1;
@@ -25,8 +25,8 @@ export interface CodexContextPack {
25
25
  currentEvidenceRefs: EvidenceRef[];
26
26
  workContractState?: {
27
27
  workId: string;
28
- status: WorkContract['status'];
29
- mode: WorkContract['mode'];
28
+ state: WorkContract['semanticState'];
29
+ dispatchState: WorkContract['dispatchState'];
30
30
  };
31
31
  policyDecision?: string;
32
32
  expectedOutputFormat: {
@@ -100,7 +100,7 @@ export function buildCodexContextPack(input: CodexDelegationInput & { repoId: st
100
100
  target,
101
101
  objective: (input.objective || work?.objective || '').slice(0, 2_000),
102
102
  acceptanceCriteria: (input.acceptanceCriteria ?? work?.acceptanceCriteria ?? []).slice(0, 20),
103
- constraints: input.constraints ?? work?.constraints ?? { requireHandoffOnAmbiguity: true },
103
+ constraints: input.constraints ?? work?.constraints ?? {},
104
104
  relevantFilesSummary: (input.relevantFilesSummary ?? []).slice(0, 30).map((entry) => entry.slice(0, 200)),
105
105
  policyBoundaries: (input.policyBoundaries ?? [
106
106
  `${target} is an external controller, not a Kernel-managed executor.`,
@@ -108,13 +108,13 @@ export function buildCodexContextPack(input: CodexDelegationInput & { repoId: st
108
108
  'Do not push, merge, or perform destructive cleanup.',
109
109
  'Do not return raw secrets, tokens, auth config, or full runtime state.',
110
110
  'Output must be evidence / handoff / patch proposal / suggested_next_actions only.',
111
- 'ChatGPT must review before rh_work.finalize.',
111
+ 'ChatGPT remains responsible for semantic review and explicit Work completion.',
112
112
  ]).slice(0, 20),
113
- allowedPaths: (input.allowedPaths ?? work?.allowedPaths ?? []).slice(0, 50),
114
- forbiddenPaths: (input.forbiddenPaths ?? work?.forbiddenPaths ?? ['.env', '_ops/secrets', '**/*secret*', '**/*token*']).slice(0, 50),
113
+ allowedPaths: (input.allowedPaths ?? []).slice(0, 50),
114
+ forbiddenPaths: (input.forbiddenPaths ?? ['.env', '_ops/secrets', '**/*secret*', '**/*token*']).slice(0, 50),
115
115
  currentEvidenceRefs: (input.evidenceRefs ?? work?.evidenceRefs ?? []).slice(0, 10),
116
116
  workContractState: work
117
- ? { workId: work.workId, status: work.status, mode: work.mode }
117
+ ? { workId: work.workId, state: work.semanticState, dispatchState: work.dispatchState }
118
118
  : undefined,
119
119
  policyDecision: input.policyDecision,
120
120
  expectedOutputFormat: {
@@ -154,7 +154,7 @@ export function prepareGrokDelegateRequest(
154
154
  'Act as a parallel small-brain reviewer/implementer for ChatGPT.',
155
155
  'Return only bounded evidence, patch proposal, and suggested next actions.',
156
156
  'Do not finalize work, push, or request secrets.',
157
- 'ChatGPT remains the primary controller and must review before finalize.',
157
+ 'ChatGPT remains responsible for semantic review; Forge does not impose a finalize phase.',
158
158
  ],
159
159
  directExecutionAvailable: false,
160
160
  returnPath: 'evidence_or_handoff_for_chatgpt_review',
@@ -177,7 +177,7 @@ export function delegateToCodexCerebellum(
177
177
  });
178
178
  return buildFacadeResult({
179
179
  status: 'blocked',
180
- summary: 'DEPRECATED_DELEGATE: delegate is read-only through 2026-12-31 and will be removed in 1.5.0. Use controller_claim, launcher_start, and rh_inbox.create/accept.',
180
+ summary: 'DEPRECATED_DELEGATE: delegate is read-only through 2026-12-31 and will be removed in 1.5.0. Use launcher_start for an explicit external controller and the inbox only for genuine human decisions.',
181
181
  data: {
182
182
  target,
183
183
  workId: input.workId,
@@ -189,7 +189,6 @@ export function delegateToCodexCerebellum(
189
189
  workerOutputIgnored: input.workerOutput !== undefined,
190
190
  },
191
191
  suggestedNextActions: input.workId ? [
192
- { label: 'Claim controller ownership', tool: 'rh_work', operation: 'controller_claim', payload: { work_id: input.workId }, risk: 'workspace_write' },
193
192
  { label: 'Start external controller', tool: 'rh_work', operation: 'launcher_start', payload: { work_id: input.workId, controller_type: target }, risk: 'workspace_write' },
194
193
  ] : [],
195
194
  });