@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
@@ -1,3 +1,4 @@
1
+ import { randomUUID } from 'crypto';
1
2
  import type { RepositoryRecord } from '../repositories/types';
2
3
  import {
3
4
  accessModeDescriptor,
@@ -19,9 +20,10 @@ import type { BootstrapSnapshot } from '../../runtime/control-plane/bootstrap';
19
20
  import { readForgeRuntimeStatus } from '../../runtime/control-plane/runtime-status-client';
20
21
  import { evaluateActiveRuntimeSourceDrift, readRuntimeGeneration } from '../../runtime/control-plane/runtime-generation';
21
22
  import {
22
- controllerPluginRepository,
23
23
  getAssistantPluginManifest,
24
+ getControllerPluginManifest,
24
25
  listAssistantPluginManifests,
26
+ listControllerPluginManifests,
25
27
  } from '../../runtime/plugins/store';
26
28
  import type { AssistantPluginManifest } from '../../runtime/plugins/types';
27
29
  import {
@@ -29,22 +31,18 @@ import {
29
31
  buildFacadeResult,
30
32
  buildSyncOperationDigest,
31
33
  classifyUserFacingError,
32
- continueGoalWorkloop,
33
34
  delegateToCodexCerebellum,
34
35
  dismissHandoffItem,
35
- finalizeGoalWorkloop,
36
36
  getHandoffItem,
37
37
  getWorkContract,
38
38
  listHandoffItems,
39
39
  listWorkContracts,
40
40
  normalizeCheckIds,
41
- routeWorkStart,
41
+ createWorkSemanticContext,
42
+ workSemanticView,
42
43
  runSelfHealingLoop,
43
- selectExecutionMode,
44
- stopGoalWorkloop,
45
44
  summarizeHandoffItem,
46
45
  summarizeWorkContract,
47
- type ExecutionModeSelectionInput,
48
46
  type FacadeResult,
49
47
  type HandoffItem,
50
48
  type SuggestedNextAction,
@@ -81,7 +79,6 @@ import type {
81
79
  ConnectorFreshnessViewModel,
82
80
  ConsoleErrorViewModel,
83
81
  HandoffCardViewModel,
84
- ModePreviewViewModel,
85
82
  PlainStatusTone,
86
83
  PluginActionViewModel,
87
84
  AccessStateViewModel,
@@ -105,34 +102,6 @@ function store(ctx: ConsoleFacadeContext) {
105
102
  return { controllerHome: ctx.controllerHome, repoId: ctx.repository.repoId };
106
103
  }
107
104
 
108
- function plainMode(mode: ModePreviewViewModel['mode']): ModePreviewViewModel {
109
- if (mode === 'direct_control') {
110
- return {
111
- mode,
112
- label: '直接执行',
113
- explanation: '小范围、目标清晰的改动;适合由 ChatGPT 直接监督完成。',
114
- createWorkContract: false,
115
- createHandoff: false,
116
- };
117
- }
118
- if (mode === 'handoff_only') {
119
- return {
120
- mode,
121
- label: '需要你先决定',
122
- explanation: '目标不清、风险较高或缺少授权;执行前需要你的判断。',
123
- createWorkContract: false,
124
- createHandoff: true,
125
- };
126
- }
127
- return {
128
- mode: 'goal_workloop',
129
- label: '可恢复的后台任务',
130
- explanation: '多步骤或需要恢复/隔离的任务;会创建工作项并支持继续、验证与收尾。',
131
- createWorkContract: true,
132
- createHandoff: false,
133
- };
134
- }
135
-
136
105
  function mapSuggested(actions: SuggestedNextAction[] = []): SuggestedActionViewModel[] {
137
106
  return actions.slice(0, 8).map((action, index) => {
138
107
  const op = action.operation;
@@ -159,17 +128,14 @@ function mapSuggested(actions: SuggestedNextAction[] = []): SuggestedActionViewM
159
128
  });
160
129
  }
161
130
 
162
- function workStatusLabel(status: WorkContract['status']): { label: string; tone: PlainStatusTone; phase: UserFacingPhase } {
163
- switch (status) {
164
- case 'running': return { label: '进行中', tone: 'blue', phase: 'running' };
165
- case 'open': return { label: '待开始', tone: 'gray', phase: 'queued' };
166
- case 'blocked': return { label: '已阻塞', tone: 'red', phase: 'blocked' };
167
- case 'ready': return { label: '需要你审阅', tone: 'amber', phase: 'needs_attention' };
168
- case 'completed': return { label: '已完成', tone: 'green', phase: 'succeeded' };
169
- case 'failed': return { label: '未通过验收', tone: 'red', phase: 'failed' };
170
- case 'cancelled': return { label: '已停止', tone: 'gray', phase: 'cancelled' };
171
- default: return { label: String(status), tone: 'gray', phase: 'running' };
172
- }
131
+ function workStatusLabel(work: WorkContract): { label: string; tone: PlainStatusTone; phase: UserFacingPhase } {
132
+ if (work.semanticState === 'completed') return { label: '已完成', tone: 'green', phase: 'succeeded' };
133
+ if (work.semanticState === 'cancelled') return { label: '已停止', tone: 'gray', phase: 'cancelled' };
134
+ if (work.evidenceState === 'failed' || work.phaseEvidence[work.phase].state === 'failed') return { label: '执行失败', tone: 'red', phase: 'failed' };
135
+ if (work.dispatchState === 'blocked' || work.phaseEvidence[work.phase].state === 'blocked') return { label: '已阻塞', tone: 'red', phase: 'blocked' };
136
+ if (work.phase === 'review' && work.phaseEvidence.review.state === 'active') return { label: '需要你审阅', tone: 'amber', phase: 'needs_attention' };
137
+ if (['claimed', 'launching', 'running'].includes(work.dispatchState)) return { label: '进行中', tone: 'blue', phase: 'running' };
138
+ return { label: '待继续', tone: 'gray', phase: 'queued' };
173
139
  }
174
140
 
175
141
  const ERROR_COPY: Record<UserFacingErrorClass, { title: string; explanation: string; nextActions: string[] }> = {
@@ -310,17 +276,18 @@ function progressSteps(work: WorkContract): WorkSummaryViewModel['progressSteps'
310
276
  const hasPass = checks.some((entry) => entry.outcome === 'valid_pass');
311
277
  const hasFail = checks.some((entry) => entry.outcome === 'valid_fail');
312
278
  const hasDelegate = Boolean(work.workerRef);
313
- const review = work.status === 'ready';
314
- const done = work.status === 'completed';
315
- const failed = work.status === 'failed';
316
- const cancelled = work.status === 'cancelled';
279
+ const review = work.phase === 'review' && work.phaseEvidence.review.state === 'active';
280
+ const done = work.semanticState === 'completed';
281
+ const failed = work.evidenceState === 'failed' || work.phaseEvidence[work.phase].state === 'failed';
282
+ const cancelled = work.semanticState === 'cancelled';
283
+ const executing = ['claimed', 'launching', 'running'].includes(work.dispatchState);
317
284
  return [
318
- { label: '已开始', done: true, active: work.status === 'running' && !hasDelegate && !hasPass },
285
+ { label: '已开始', done: true, active: executing && !hasDelegate && !hasPass },
319
286
  { label: '已委派助手', done: hasDelegate, active: hasDelegate && !hasPass && !review },
320
287
  { label: '已提出修改', done: hasDelegate || hasPass || hasFail, active: false },
321
288
  { label: '已验证', done: hasPass || hasFail, active: hasFail && !review },
322
289
  { label: '等待审阅', done: review || done, active: review },
323
- { label: done ? '已完成' : failed ? '验收失败' : cancelled ? '已停止' : '收尾', done: done || failed || cancelled, active: false },
290
+ { label: done ? '已完成' : failed ? '执行失败' : cancelled ? '已停止' : '收尾', done: done || cancelled, active: false },
324
291
  ];
325
292
  }
326
293
 
@@ -354,27 +321,27 @@ export function mapWorkSummary(
354
321
  work: WorkContract,
355
322
  opts: { controllerHome?: string; repoId?: string } = {},
356
323
  ): WorkSummaryViewModel {
357
- const status = workStatusLabel(work.status);
358
- const mode = plainMode(work.mode === 'direct_control' || work.mode === 'handoff_only' ? work.mode : 'goal_workloop');
324
+ const status = workStatusLabel(work);
359
325
  const verification = latestVerification(work);
360
326
  const suggested = mapSuggested(work.suggestedNextActions);
361
327
  const nextAction = suggested[0]?.label
362
- ?? (work.status === 'ready' ? '请审阅后继续或收尾'
363
- : work.status === 'running' ? '继续或运行检查'
364
- : work.status === 'completed' ? '任务已完成'
365
- : work.status === 'failed' ? '查看失败原因并决定是否重试'
366
- : '查看任务状态');
328
+ ?? (work.semanticState === 'completed' ? '任务已完成'
329
+ : work.semanticState === 'cancelled' ? '任务已停止'
330
+ : status.phase === 'needs_attention' ? '请审阅后继续或收尾'
331
+ : status.phase === 'running' ? '继续或运行检查'
332
+ : status.phase === 'failed' ? '查看失败原因并决定是否重试'
333
+ : '查看任务状态');
367
334
  const storeOpts = opts.controllerHome && opts.repoId
368
335
  ? { controllerHome: opts.controllerHome, repoId: opts.repoId }
369
336
  : null;
370
337
  const changedFiles = summarizeChangedFiles(extractChangedPathsFromWork(work, storeOpts));
371
338
  let error: ConsoleErrorViewModel | undefined;
372
- if (work.status === 'failed') {
339
+ if (status.phase === 'failed') {
373
340
  error = describeConsoleError(
374
341
  verification?.isInfrastructureIssue ? 'infrastructure_failure' : 'acceptance_failure',
375
342
  verification?.summary,
376
343
  );
377
- } else if (work.status === 'blocked' || work.status === 'ready') {
344
+ } else if (status.phase === 'blocked' || status.phase === 'needs_attention') {
378
345
  error = describeConsoleError(
379
346
  'handoff_required',
380
347
  work.suggestedNextActions[0]?.reason,
@@ -383,15 +350,13 @@ export function mapWorkSummary(
383
350
  const latestSummary = verification?.summary
384
351
  || work.evidenceRefs[0]?.summary
385
352
  || work.evidenceRefs[0]?.title
386
- || (work.status === 'running' ? '任务执行中…' : status.label);
353
+ || (status.phase === 'running' ? '任务执行中…' : status.label);
387
354
  return {
388
355
  id: work.workId,
389
356
  repoId: work.repoId,
390
357
  updatedAt: work.updatedAt,
391
358
  title: work.objective.slice(0, 160) || '未命名任务',
392
359
  objective: work.objective,
393
- modeLabel: mode.label,
394
- mode: mode.mode,
395
360
  accessMode: work.constraints.accessMode ?? 'full_access',
396
361
  accessModeLabel: accessModeDescriptor(work.constraints.accessMode ?? 'full_access').shortLabel,
397
362
  statusLabel: status.label,
@@ -414,7 +379,9 @@ export function mapWorkSummary(
414
379
  primaryActionLabel: suggested[0]?.label,
415
380
  advanced: {
416
381
  workId: work.workId,
417
- status: work.status,
382
+ state: work.semanticState,
383
+ dispatchState: work.dispatchState,
384
+ evidenceState: work.evidenceState,
418
385
  checkIds: work.checks,
419
386
  handoffRefs: work.handoffRefs,
420
387
  },
@@ -440,11 +407,9 @@ function describeHandoffDecision(item: HandoffItem): HandoffCardViewModel['decis
440
407
  const payload = approvalAction?.payload ?? {};
441
408
  const objective = typeof payload.objective === 'string' ? payload.objective.trim() : '';
442
409
  const allowedPaths = Array.isArray(payload.allowedPaths) ? payload.allowedPaths.map(String).filter(Boolean) : [];
443
- const expectedFiles = typeof payload.expectedFiles === 'number' ? payload.expectedFiles : undefined;
444
410
  const scopeSummary = allowedPaths.length
445
411
  ? `允许修改:${allowedPaths.slice(0, 4).join('、')}${allowedPaths.length > 4 ? ' 等' : ''}`
446
412
  : '修改范围仍受原任务描述和仓库策略限制';
447
- const estimate = expectedFiles === undefined ? '' : `;预计涉及约 ${expectedFiles} 个文件`;
448
413
  return {
449
414
  type: 'approval',
450
415
  typeLabel: destructive ? '高风险操作审批' : '执行授权',
@@ -456,7 +421,7 @@ function describeHandoffDecision(item: HandoffItem): HandoffCardViewModel['decis
456
421
  ? '此操作包含高风险或潜在不可逆副作用,系统不能替你默认同意。'
457
422
  : '当前安全策略要求显式授权;缩小范围或改为只读预览后可避免本次审批。',
458
423
  impact: approvalAction?.operation === 'start'
459
- ? `批准后会创建正式任务。${scopeSummary}${estimate}。`
424
+ ? `批准后会创建正式任务。${scopeSummary}。`
460
425
  : '当前审批没有保存可安全重放的具体动作,因此不能自动续跑。',
461
426
  afterApproval: canApproveAndContinue
462
427
  ? '系统会记录批准、立即创建任务并打开任务详情;接下来会明确显示继续、委派、验证或收尾动作,不代表任务已经完成。'
@@ -539,18 +504,6 @@ export function mapHandoffCard(item: HandoffItem): HandoffCardViewModel {
539
504
  };
540
505
  }
541
506
 
542
- export function previewExecutionMode(input: ExecutionModeSelectionInput & { objective?: string }): ModePreviewViewModel {
543
- const selection = selectExecutionMode(input);
544
- return {
545
- ...plainMode(selection.mode),
546
- createWorkContract: selection.createWorkContract,
547
- createHandoff: selection.createHandoff,
548
- explanation: selection.reason.includes('Small') || selection.reason.includes('small')
549
- ? plainMode(selection.mode).explanation
550
- : plainMode(selection.mode).explanation,
551
- };
552
- }
553
-
554
507
  function displayPath(path: string): string {
555
508
  const home = process.env.HOME?.trim();
556
509
  if (home && path.startsWith(home)) return `~${path.slice(home.length)}`;
@@ -645,8 +598,6 @@ function controllerAccessStateView(ctx: ConsoleFacadeContext): AccessStateViewMo
645
598
  const effective = resolveControllerAccessState({
646
599
  controllerHome: ctx.controllerHome,
647
600
  repoRoot: ctx.repository.canonicalRoot,
648
- toolsetOverride: toolCtx.toolset,
649
- toolsetLocked: toolCtx.toolsetLocked,
650
601
  });
651
602
  const repositoryPolicy = readRepositoryAccessPolicy(ctx.controllerHome, ctx.repository.repoId);
652
603
  const runtimeGeneration = readRuntimeGeneration(ctx.controllerHome);
@@ -943,25 +894,28 @@ export function mapPluginCard(manifest: AssistantPluginManifest): PluginCardView
943
894
  }
944
895
 
945
896
  export function listConsolePlugins(ctx: ConsoleFacadeContext): PluginCardViewModel[] {
946
- const repositories = [ctx.repository, controllerPluginRepository(ctx.controllerHome)];
947
897
  const byPluginId = new Map<string, PluginCardViewModel>();
948
- for (const repository of repositories) {
949
- for (const manifest of listAssistantPluginManifests(ctx.controllerHome, repository, { preferStored: true })) {
950
- if (!byPluginId.has(manifest.pluginId)) byPluginId.set(manifest.pluginId, mapPluginCard(manifest));
951
- }
898
+ const manifests = [
899
+ ...listAssistantPluginManifests(ctx.controllerHome, ctx.repository, { preferStored: true }),
900
+ ...listControllerPluginManifests(ctx.controllerHome, { preferStored: true }),
901
+ ];
902
+ for (const manifest of manifests) {
903
+ if (!byPluginId.has(manifest.pluginId)) byPluginId.set(manifest.pluginId, mapPluginCard(manifest));
952
904
  }
953
905
  return [...byPluginId.values()].sort((left, right) => left.name.localeCompare(right.name));
954
906
  }
955
907
 
956
908
  export function getConsolePlugin(ctx: ConsoleFacadeContext, pluginId: string): PluginCardViewModel | null {
957
- for (const repository of [ctx.repository, controllerPluginRepository(ctx.controllerHome)]) {
958
- try {
959
- return mapPluginCard(getAssistantPluginManifest(ctx.controllerHome, repository, pluginId));
960
- } catch {
961
- // Try the other supported plugin scope before reporting an unknown plugin.
962
- }
909
+ try {
910
+ return mapPluginCard(getAssistantPluginManifest(ctx.controllerHome, ctx.repository, pluginId));
911
+ } catch {
912
+ // Try controller-scoped plugins before reporting an unknown plugin.
913
+ }
914
+ try {
915
+ return mapPluginCard(getControllerPluginManifest(ctx.controllerHome, pluginId));
916
+ } catch {
917
+ return null;
963
918
  }
964
- return null;
965
919
  }
966
920
 
967
921
  export function buildPluginSummary(plugins: PluginCardViewModel[]): PluginSummaryViewModel {
@@ -986,8 +940,8 @@ export async function buildCommandCenter(
986
940
  repoId: ctx.repository.repoId,
987
941
  });
988
942
  const currentRepository = repositories.find((entry) => entry.current) ?? mapRepositoryCard(ctx.repository, true);
989
- const activeWork = listWorkContracts({ ...store(ctx), status: 'active', limit: 20 }).map(mapWork);
990
- const allRecent = listWorkContracts({ ...store(ctx), status: 'all', limit: 12 }).map(mapWork);
943
+ const activeWork = listWorkContracts({ ...store(ctx), state: 'active', limit: 20 }).map(mapWork);
944
+ const allRecent = listWorkContracts({ ...store(ctx), state: 'all', limit: 12 }).map(mapWork);
991
945
  const handoffs = listHandoffItems({ ...store(ctx), status: 'pending', limit: 20 }).map(mapHandoffCard);
992
946
  const plugins = listConsolePlugins(ctx);
993
947
  const pluginSummary = buildPluginSummary(plugins);
@@ -1011,7 +965,6 @@ export async function buildCommandCenter(
1011
965
  handoffs,
1012
966
  pluginSummary,
1013
967
  plugins,
1014
- modePreviewDefault: plainMode('direct_control'),
1015
968
  // Only surface confirmed warnings — never "maybe missing" when ChatGPT snapshot is unobserved.
1016
969
  warnings: banner ? [banner] : [],
1017
970
  setupGuide: needsSetup
@@ -1058,76 +1011,26 @@ export function startConsoleWork(
1058
1011
  acceptanceCriteria?: string[];
1059
1012
  allowedPaths?: string[];
1060
1013
  forbiddenPaths?: string[];
1061
- expectedFiles?: number;
1062
- expectedChangedLines?: number;
1063
1014
  scopeClear?: boolean;
1064
- requiresInvestigation?: boolean;
1065
- requiresLongRunningChecks?: boolean;
1066
- requiresWorker?: boolean;
1067
1015
  requiresApproval?: boolean;
1068
1016
  destructive?: boolean;
1069
1017
  accessMode?: AccessMode;
1070
1018
  workspaceMode?: 'current' | 'isolated' | 'auto';
1071
- requireWorktree?: boolean;
1072
- directMainProhibited?: boolean;
1073
1019
  approvalConfirmed?: boolean;
1074
- forceMode?: 'direct_control' | 'goal_workloop' | 'handoff_only';
1075
1020
  checkIds?: string[];
1076
1021
  },
1077
1022
  ): FacadeResult {
1078
- const checks = listControllerChecks(ctx.repository.canonicalRoot);
1079
- return routeWorkStart(
1080
- {
1081
- workStore: store(ctx),
1082
- handoffStore: store(ctx),
1083
- repoId: ctx.repository.repoId,
1084
- availableChecks: checks,
1085
- },
1086
- {
1087
- objective: input.objective,
1088
- acceptanceCriteria: input.acceptanceCriteria,
1089
- allowedPaths: input.allowedPaths,
1090
- forbiddenPaths: input.forbiddenPaths,
1091
- checks: input.checkIds,
1092
- constraints: input.accessMode !== undefined
1093
- || input.workspaceMode !== undefined
1094
- || input.requireWorktree !== undefined
1095
- || input.directMainProhibited !== undefined
1096
- ? {
1097
- ...(input.accessMode !== undefined ? { accessMode: input.accessMode } : {}),
1098
- ...(input.workspaceMode !== undefined ? { workspaceMode: input.workspaceMode } : {}),
1099
- ...(input.requireWorktree !== undefined ? { requireWorktree: input.requireWorktree } : {}),
1100
- ...(input.directMainProhibited !== undefined ? { directMainProhibited: input.directMainProhibited } : {}),
1101
- }
1102
- : undefined,
1103
- modeInput: {
1104
- objective: input.objective,
1105
- expectedFiles: input.expectedFiles,
1106
- expectedChangedLines: input.expectedChangedLines,
1107
- scopeClear: input.scopeClear !== false,
1108
- requiresInvestigation: input.requiresInvestigation === true,
1109
- requiresLongRunningChecks: input.requiresLongRunningChecks === true,
1110
- requiresWorker: input.requiresWorker === true,
1111
- requiresApproval: input.requiresApproval === true,
1112
- destructive: input.destructive === true,
1113
- },
1114
- requestedBy: 'user',
1115
- approvalConfirmed: input.approvalConfirmed === true,
1116
- forceMode: input.forceMode,
1117
- },
1118
- );
1119
- }
1120
-
1121
- export function continueConsoleWork(ctx: ConsoleFacadeContext, workId: string, note?: string): FacadeResult {
1122
- return continueGoalWorkloop(
1123
- {
1124
- workStore: store(ctx),
1125
- handoffStore: store(ctx),
1126
- repoId: ctx.repository.repoId,
1127
- availableChecks: listControllerChecks(ctx.repository.canonicalRoot),
1128
- },
1129
- { workId, note },
1130
- );
1023
+ const objective = input.objective.trim();
1024
+ if (!objective) return buildFacadeResult({ status: 'blocked', summary: 'WORK_OBJECTIVE_REQUIRED', data: {} });
1025
+ const created = createWorkSemanticContext(store(ctx), {
1026
+ workId: `work-console-${randomUUID().slice(0, 12)}`,
1027
+ objective,
1028
+ requestedBy: 'user',
1029
+ });
1030
+ return buildFacadeResult({
1031
+ summary: `Work ${created.workId} created as semantic context.`,
1032
+ data: { work: workSemanticView(created) },
1033
+ });
1131
1034
  }
1132
1035
 
1133
1036
  export async function verifyConsoleWork(
@@ -1150,30 +1053,6 @@ export async function verifyConsoleWork(
1150
1053
  return verification.facade;
1151
1054
  }
1152
1055
 
1153
- export function finalizeConsoleWork(ctx: ConsoleFacadeContext, workId: string): FacadeResult {
1154
- return finalizeGoalWorkloop(
1155
- {
1156
- workStore: store(ctx),
1157
- handoffStore: store(ctx),
1158
- repoId: ctx.repository.repoId,
1159
- availableChecks: listControllerChecks(ctx.repository.canonicalRoot),
1160
- },
1161
- { workId },
1162
- );
1163
- }
1164
-
1165
- export function stopConsoleWork(ctx: ConsoleFacadeContext, workId: string, reason?: string): FacadeResult {
1166
- return stopGoalWorkloop(
1167
- {
1168
- workStore: store(ctx),
1169
- handoffStore: store(ctx),
1170
- repoId: ctx.repository.repoId,
1171
- availableChecks: listControllerChecks(ctx.repository.canonicalRoot),
1172
- },
1173
- { workId, reason },
1174
- );
1175
- }
1176
-
1177
1056
  export function delegateConsoleWork(
1178
1057
  ctx: ConsoleFacadeContext,
1179
1058
  input: { workId?: string; target?: 'codex' | 'grok' | 'claude'; objective?: string; available?: boolean },
@@ -1279,22 +1158,14 @@ export async function approveConsoleHandoff(ctx: ConsoleFacadeContext, handoffId
1279
1158
  acceptanceCriteria: strings(payload.acceptanceCriteria),
1280
1159
  allowedPaths: strings(payload.allowedPaths),
1281
1160
  forbiddenPaths: strings(payload.forbiddenPaths),
1282
- expectedFiles: typeof payload.expectedFiles === 'number' ? payload.expectedFiles : undefined,
1283
- expectedChangedLines: typeof payload.expectedChangedLines === 'number' ? payload.expectedChangedLines : undefined,
1284
1161
  scopeClear: payload.scopeClear !== false,
1285
- requiresInvestigation: payload.requiresInvestigation === true,
1286
- requiresLongRunningChecks: payload.requiresLongRunningChecks === true,
1287
- requiresWorker: payload.requiresWorker === true,
1288
1162
  requiresApproval: payload.requiresApproval === true,
1289
1163
  destructive: payload.destructive === true,
1290
1164
  accessMode: isAccessMode(payload.accessMode) ? payload.accessMode : undefined,
1291
1165
  workspaceMode: payload.workspaceMode === 'current' || payload.workspaceMode === 'isolated' || payload.workspaceMode === 'auto'
1292
1166
  ? payload.workspaceMode
1293
1167
  : undefined,
1294
- requireWorktree: typeof payload.requireWorktree === 'boolean' ? payload.requireWorktree : undefined,
1295
- directMainProhibited: typeof payload.directMainProhibited === 'boolean' ? payload.directMainProhibited : undefined,
1296
1168
  approvalConfirmed: true,
1297
- forceMode: 'goal_workloop',
1298
1169
  checkIds: strings(payload.checkIds),
1299
1170
  });
1300
1171
 
@@ -1329,8 +1200,8 @@ export function getConsoleWork(ctx: ConsoleFacadeContext, workId: string): WorkS
1329
1200
  : undefined;
1330
1201
  }
1331
1202
 
1332
- export function listConsoleWork(ctx: ConsoleFacadeContext, status: 'active' | 'all' = 'active'): WorkSummaryViewModel[] {
1333
- return listWorkContracts({ ...store(ctx), status, limit: 50 }).map((work) =>
1203
+ export function listConsoleWork(ctx: ConsoleFacadeContext, state: 'active' | 'all' = 'active'): WorkSummaryViewModel[] {
1204
+ return listWorkContracts({ ...store(ctx), state, limit: 50 }).map((work) =>
1334
1205
  mapWorkSummary(work, { controllerHome: ctx.controllerHome, repoId: ctx.repository.repoId }));
1335
1206
  }
1336
1207