toolroll 0.9.103 → 0.9.105

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 (1518) hide show
  1. package/CHANGELOG.md +65 -0
  2. package/README.md +27 -27
  3. package/dist/accent-colors.js +0 -29
  4. package/dist/acp-agents.js +0 -3
  5. package/dist/acp-attest.js +0 -30
  6. package/dist/acp-check.js +3 -70
  7. package/dist/acp-client.js +3 -94
  8. package/dist/acp-inspect.js +1 -20
  9. package/dist/action-ledger.js +0 -8
  10. package/dist/activity-line.js +0 -14
  11. package/dist/actor.js +0 -15
  12. package/dist/advanced-schema.js +12 -0
  13. package/dist/advanced-view.js +26 -0
  14. package/dist/advanced.js +61 -0
  15. package/dist/agent-board.js +0 -117
  16. package/dist/agent-fence.js +11 -367
  17. package/dist/agent-onboard.js +12 -50
  18. package/dist/agent-pulse.js +5 -38
  19. package/dist/agent-state-words.js +0 -8
  20. package/dist/agent-state.js +1 -45
  21. package/dist/agent-turns.js +3 -17
  22. package/dist/agentconfig.js +1 -99
  23. package/dist/agents-board.js +0 -60
  24. package/dist/agents-live.js +1 -8
  25. package/dist/api-tokens.js +0 -27
  26. package/dist/approval-authority.js +0 -59
  27. package/dist/approval-password.js +0 -10
  28. package/dist/approval-policy.js +0 -29
  29. package/dist/approval-rules-ui.js +0 -9
  30. package/dist/assignment-adapters.js +0 -14
  31. package/dist/assignment-brief.js +1 -17
  32. package/dist/assignment-delivery.js +0 -22
  33. package/dist/assignment-presentation.js +0 -14
  34. package/dist/assignment-status.js +1 -30
  35. package/dist/assignment-ui.js +0 -12
  36. package/dist/assignment.js +117 -103
  37. package/dist/attest.js +0 -38
  38. package/dist/audit-cli.js +0 -9
  39. package/dist/backend.js +0 -59
  40. package/dist/backup-ui.js +0 -12
  41. package/dist/backup.js +8 -61
  42. package/dist/batch-checks.js +0 -20
  43. package/dist/batch-policy.js +0 -4
  44. package/dist/beads.js +0 -48
  45. package/dist/bin.js +0 -8
  46. package/dist/board.js +1 -36
  47. package/dist/boot-identity.js +0 -42
  48. package/dist/bounded-spawn.js +4 -28
  49. package/dist/brand-mark.js +0 -21
  50. package/dist/brief-fence.js +0 -16
  51. package/dist/browser/terminal.css +1 -1
  52. package/dist/browser/terminal.js +16 -16
  53. package/dist/browser/workspace.css +2 -2
  54. package/dist/browser/workspace.js +26 -26
  55. package/dist/browser-crew.js +0 -8
  56. package/dist/browser-shell.js +2 -15
  57. package/dist/browser-workspace.js +6 -30
  58. package/dist/budget-alerts.js +1 -4
  59. package/dist/build-review.js +2 -50
  60. package/dist/builder-restart.js +0 -13
  61. package/dist/builder.js +21 -1035
  62. package/dist/canonical-json.js +0 -12
  63. package/dist/capscan.js +1 -32
  64. package/dist/card-catalog.js +0 -12
  65. package/dist/card-cli.js +0 -1
  66. package/dist/card-render.js +0 -25
  67. package/dist/card-sources.js +0 -10
  68. package/dist/chat-acceptance.js +0 -7
  69. package/dist/chat-actions.js +5 -190
  70. package/dist/chat-admission.js +0 -7
  71. package/dist/chat-approval.js +0 -25
  72. package/dist/chat-ask.js +0 -17
  73. package/dist/chat-card-part.js +0 -3
  74. package/dist/chat-card.js +0 -6
  75. package/dist/chat-channel.js +2 -83
  76. package/dist/chat-continuity.js +0 -31
  77. package/dist/chat-controls.js +0 -7
  78. package/dist/chat-core.js +0 -55
  79. package/dist/chat-decide.js +2 -153
  80. package/dist/chat-delivery-state.js +0 -49
  81. package/dist/chat-delivery.js +2 -143
  82. package/dist/chat-display.js +0 -2
  83. package/dist/chat-evidence.js +0 -65
  84. package/dist/chat-flow.js +0 -72
  85. package/dist/chat-follow.js +0 -13
  86. package/dist/chat-inbox.js +0 -34
  87. package/dist/chat-live-schema.js +0 -14
  88. package/dist/chat-live.js +2 -87
  89. package/dist/chat-message-states.js +13 -40
  90. package/dist/chat-messages.js +0 -153
  91. package/dist/chat-migration.js +0 -57
  92. package/dist/chat-polish.js +0 -7
  93. package/dist/chat-quiet.js +0 -37
  94. package/dist/chat-review.js +0 -4
  95. package/dist/chat-rooms.js +0 -22
  96. package/dist/chat-settings-page.js +0 -4
  97. package/dist/chat-task-actions.js +0 -7
  98. package/dist/chat-terms.js +0 -21
  99. package/dist/chat-voice.js +0 -38
  100. package/dist/chat-warmth.js +1 -3
  101. package/dist/check-access.js +0 -30
  102. package/dist/check-facts.js +2 -62
  103. package/dist/check-failure.js +0 -98
  104. package/dist/check-levels-ui.js +4 -10
  105. package/dist/check-levels.js +3 -35
  106. package/dist/check-load.js +1 -49
  107. package/dist/check-only-standing.js +0 -6
  108. package/dist/check-only.js +0 -22
  109. package/dist/check-progress.js +0 -32
  110. package/dist/check-repair.js +2 -35
  111. package/dist/check-report.js +1 -108
  112. package/dist/check-stamp.js +0 -20
  113. package/dist/checkout-cleanup.js +0 -84
  114. package/dist/checkout-proof.js +1 -13
  115. package/dist/child-database.js +0 -3
  116. package/dist/claim.js +4 -508
  117. package/dist/claude-print.js +0 -10
  118. package/dist/cli-fast.js +0 -8
  119. package/dist/cli-help.js +90 -78
  120. package/dist/cli-http.js +0 -10
  121. package/dist/cli.js +26 -241
  122. package/dist/code-extract.js +0 -6
  123. package/dist/code-map-acts.js +0 -7
  124. package/dist/code-map-admission.js +2 -26
  125. package/dist/code-map-build.js +3 -24
  126. package/dist/code-map-cli.js +0 -4
  127. package/dist/code-map-main.js +0 -6
  128. package/dist/code-map-read.js +0 -12
  129. package/dist/code-map-report.js +0 -9
  130. package/dist/code-map-shape.js +0 -19
  131. package/dist/code-map-store.js +0 -26
  132. package/dist/codex-limits.js +1 -17
  133. package/dist/coding-context.js +0 -10
  134. package/dist/coding-handoff.js +0 -14
  135. package/dist/coding-provider.js +0 -39
  136. package/dist/coding-shipping-ui.js +0 -1
  137. package/dist/coding-ui.js +0 -1
  138. package/dist/coding-update.js +1 -18
  139. package/dist/coding-workspace.js +0 -27
  140. package/dist/commit-extract.js +0 -83
  141. package/dist/connect-cli.js +0 -19
  142. package/dist/console-chrome.js +1 -34
  143. package/dist/console-instance.js +2 -91
  144. package/dist/container-state.js +0 -4
  145. package/dist/containment.js +2 -105
  146. package/dist/contract-changes.js +0 -6
  147. package/dist/contracts/acceptance-terms.js +0 -7
  148. package/dist/contracts/chat-actions.js +0 -46
  149. package/dist/contracts/chat-callback-rows.js +0 -8
  150. package/dist/contracts/chat-card.js +0 -14
  151. package/dist/contracts/chat-content.js +0 -55
  152. package/dist/contracts/chat-tables.js +0 -7
  153. package/dist/contracts/cli.js +0 -59
  154. package/dist/contracts/coding-activity.js +0 -15
  155. package/dist/contracts/coding-context.js +0 -15
  156. package/dist/contracts/coding-handoff.js +0 -11
  157. package/dist/contracts/coding-workspace.js +0 -14
  158. package/dist/contracts/console-api.js +3 -54
  159. package/dist/contracts/contract-test.js +0 -14
  160. package/dist/contracts/contract.js +0 -48
  161. package/dist/contracts/decision.js +0 -20
  162. package/dist/contracts/diff-stat.js +0 -16
  163. package/dist/contracts/discord-callback.js +0 -9
  164. package/dist/contracts/flow-card.js +0 -18
  165. package/dist/contracts/flow-propose.js +0 -8
  166. package/dist/contracts/flow-send.js +0 -31
  167. package/dist/contracts/flow.js +0 -112
  168. package/dist/contracts/gateway-tools.js +0 -22
  169. package/dist/contracts/handoff.js +0 -22
  170. package/dist/contracts/integration-metadata.js +0 -39
  171. package/dist/contracts/lead-context.js +0 -14
  172. package/dist/contracts/lead-tools.js +0 -49
  173. package/dist/contracts/mcp-oauth.js +0 -12
  174. package/dist/contracts/memory-pass.js +0 -21
  175. package/dist/contracts/model-catalog.js +0 -9
  176. package/dist/contracts/observation-request.js +0 -11
  177. package/dist/contracts/plan.js +0 -16
  178. package/dist/contracts/project-knowledge.js +0 -26
  179. package/dist/contracts/project-memory.js +0 -16
  180. package/dist/contracts/project-skills.js +0 -31
  181. package/dist/contracts/proof.js +0 -23
  182. package/dist/contracts/provider.js +0 -9
  183. package/dist/contracts/recipes.js +0 -16
  184. package/dist/contracts/release-check.js +0 -61
  185. package/dist/contracts/release-terms.js +0 -27
  186. package/dist/contracts/retention.js +0 -12
  187. package/dist/contracts/review-findings.js +0 -13
  188. package/dist/contracts/route-results.js +0 -15
  189. package/dist/contracts/route.js +0 -33
  190. package/dist/contracts/scope.js +0 -29
  191. package/dist/contracts/scout-report.js +0 -34
  192. package/dist/contracts/slack-callback.js +0 -11
  193. package/dist/contracts/sort-answer.js +0 -24
  194. package/dist/contracts/stage-output.js +0 -46
  195. package/dist/contracts/storage.js +0 -8
  196. package/dist/contracts/store-json.js +0 -41
  197. package/dist/contracts/subagent-turn.js +0 -23
  198. package/dist/contracts/task-sizing.js +0 -10
  199. package/dist/contracts/teams-callback.js +0 -7
  200. package/dist/contracts/telegram-callback.js +0 -27
  201. package/dist/contracts/trigger-payloads.js +0 -41
  202. package/dist/contracts/update-journal.js +0 -47
  203. package/dist/contracts/verification-receipt.js +0 -36
  204. package/dist/contracts/verification-view.js +0 -15
  205. package/dist/contracts/youiyoux-request.js +0 -26
  206. package/dist/control-setup.js +0 -7
  207. package/dist/control-ui.js +0 -3
  208. package/dist/controller-service.js +0 -4
  209. package/dist/controller-supervisor.js +0 -15
  210. package/dist/converse.js +3 -129
  211. package/dist/coordinator-proposals.js +1 -6
  212. package/dist/coordinator.js +0 -65
  213. package/dist/credentials-ui.js +0 -6
  214. package/dist/daemon.js +0 -137
  215. package/dist/database-reclaim.js +0 -3
  216. package/dist/decision.js +0 -78
  217. package/dist/demo-chat.js +4 -15
  218. package/dist/demo-sign-in.js +77 -0
  219. package/dist/demo.js +5 -194
  220. package/dist/deploy-gate.js +0 -20
  221. package/dist/deploy-lock.js +0 -4
  222. package/dist/deploy-phase.js +0 -22
  223. package/dist/deploy-rescue.js +0 -21
  224. package/dist/deprecations.js +0 -12
  225. package/dist/design/kit.css +9 -6
  226. package/dist/design/kit.js +2 -33
  227. package/dist/desktop-access.js +0 -9
  228. package/dist/desktop-bundle.js +1 -3
  229. package/dist/desktop-host.js +0 -34
  230. package/dist/desktop-update-gate.js +0 -8
  231. package/dist/desktop-update-recovery.js +1 -18
  232. package/dist/desktop-update.js +2 -48
  233. package/dist/digest-times.js +0 -2
  234. package/dist/disclosure.js +0 -5
  235. package/dist/discord-api.js +0 -6
  236. package/dist/discord-chat.js +0 -31
  237. package/dist/discord.js +0 -7
  238. package/dist/discover.js +0 -50
  239. package/dist/dispatch.js +61 -60
  240. package/dist/dispose.js +0 -208
  241. package/dist/doctor.js +0 -48
  242. package/dist/easy-start-args.js +7 -7
  243. package/dist/easy-start.js +32 -45
  244. package/dist/egress.js +1 -63
  245. package/dist/email-settings.js +0 -8
  246. package/dist/envelope.js +50 -86
  247. package/dist/eval-gate.js +1 -37
  248. package/dist/eval-hooks.js +0 -120
  249. package/dist/eval-oracle-main.js +0 -7
  250. package/dist/eval-oracle.js +3 -42
  251. package/dist/eval-world.js +1 -23
  252. package/dist/evals.js +6 -134
  253. package/dist/evidence-pack.js +0 -29
  254. package/dist/evidence-pair.js +0 -17
  255. package/dist/evidence.js +4 -280
  256. package/dist/exec.js +19 -404
  257. package/dist/exhaustion.js +0 -30
  258. package/dist/export-ui.js +0 -7
  259. package/dist/export.js +1 -38
  260. package/dist/failing-first.js +0 -6
  261. package/dist/fallback-schema.js +0 -5
  262. package/dist/fallback.js +0 -81
  263. package/dist/fast-start.js +0 -97
  264. package/dist/fast-terms.js +0 -3
  265. package/dist/fenced-check-coverage.js +0 -11
  266. package/dist/findings.js +1 -63
  267. package/dist/first-run.js +4 -57
  268. package/dist/first-tasks-child.js +0 -5
  269. package/dist/flaky-ci.js +1 -24
  270. package/dist/flaky-cli.js +0 -4
  271. package/dist/flaky.js +0 -43
  272. package/dist/fleet-schema.js +0 -11
  273. package/dist/flow-actions.js +0 -31
  274. package/dist/flow-browser.js +0 -42
  275. package/dist/flow-cadence.js +1 -24
  276. package/dist/flow-card-task.js +0 -11
  277. package/dist/flow-changed.js +0 -16
  278. package/dist/flow-code.js +1 -45
  279. package/dist/flow-draft.js +0 -17
  280. package/dist/flow-engine.js +2 -76
  281. package/dist/flow-gallery-ui.js +0 -28
  282. package/dist/flow-gallery.js +0 -54
  283. package/dist/flow-insights.js +0 -12
  284. package/dist/flow-items.js +0 -27
  285. package/dist/flow-live.js +0 -31
  286. package/dist/flow-people.js +0 -14
  287. package/dist/flow-pull-request.js +0 -32
  288. package/dist/flow-replies.js +0 -9
  289. package/dist/flow-result-card.js +0 -8
  290. package/dist/flow-schedule.js +0 -74
  291. package/dist/flow-scripts.js +0 -13
  292. package/dist/flow-secrets.js +0 -10
  293. package/dist/flow-send.js +0 -45
  294. package/dist/flow-share.js +0 -60
  295. package/dist/flow-sort.js +1 -24
  296. package/dist/flow-starters-ui.js +0 -2
  297. package/dist/flow-starters.js +0 -13
  298. package/dist/flow-steps.js +0 -80
  299. package/dist/flow-triggers.js +2 -256
  300. package/dist/flow-unattended-words.js +0 -13
  301. package/dist/flow-unattended.js +2 -115
  302. package/dist/flows-cli.js +2 -36
  303. package/dist/flows-ui.js +0 -51
  304. package/dist/flows.js +0 -158
  305. package/dist/folder-gate.js +0 -21
  306. package/dist/folder-look.js +0 -42
  307. package/dist/follow-through-brief.js +0 -6
  308. package/dist/follow-through-cli.js +0 -5
  309. package/dist/fonts.js +0 -13
  310. package/dist/gaps.js +0 -20
  311. package/dist/gate-failure.js +0 -7
  312. package/dist/git-floor.js +0 -12
  313. package/dist/git-incident.js +2 -38
  314. package/dist/git-views.js +0 -24
  315. package/dist/git.js +0 -31
  316. package/dist/github-import.js +0 -22
  317. package/dist/github-jobs.js +0 -12
  318. package/dist/google-mail.js +2 -27
  319. package/dist/grant.js +0 -110
  320. package/dist/graph.js +0 -108
  321. package/dist/guides.js +4 -15
  322. package/dist/handover-note.js +0 -12
  323. package/dist/health-cli.js +0 -2
  324. package/dist/home-groups.js +0 -15
  325. package/dist/html.js +0 -54
  326. package/dist/install-method.js +0 -12
  327. package/dist/integrations-ui.js +0 -15
  328. package/dist/integrations.js +7 -50
  329. package/dist/invoke.js +1 -381
  330. package/dist/is-record.js +0 -1
  331. package/dist/issues.js +0 -48
  332. package/dist/jsonl-discriminants.js +0 -6
  333. package/dist/keymap.js +2 -16
  334. package/dist/keys.js +0 -56
  335. package/dist/kits-ui.js +0 -3
  336. package/dist/kits.js +1 -24
  337. package/dist/knowledge-cli.js +0 -4
  338. package/dist/knowledge-ui.js +0 -8
  339. package/dist/landed-cleanup.js +0 -119
  340. package/dist/laptop-background.js +0 -85
  341. package/dist/laptop-service.js +0 -67
  342. package/dist/latency-timeline.js +2 -23
  343. package/dist/lead-about.js +0 -7
  344. package/dist/lead-answer-eval.js +0 -39
  345. package/dist/lead-capabilities.js +0 -19
  346. package/dist/lead-cli-live.js +0 -22
  347. package/dist/lead-cli.js +0 -27
  348. package/dist/lead-commitments.js +1 -27
  349. package/dist/lead-context.js +2 -42
  350. package/dist/lead-contract.js +0 -8
  351. package/dist/lead-doors.js +0 -105
  352. package/dist/lead-follow.js +0 -41
  353. package/dist/lead-identity.js +1 -4
  354. package/dist/lead-latency-schema.js +0 -13
  355. package/dist/lead-people.js +3 -18
  356. package/dist/lead-progress.js +0 -12
  357. package/dist/lead-queue-runtime.js +0 -26
  358. package/dist/lead-queue.js +0 -35
  359. package/dist/lead-route.js +0 -33
  360. package/dist/lead-status.js +0 -37
  361. package/dist/lead-sweep.js +0 -18
  362. package/dist/lead-tools.js +0 -160
  363. package/dist/lead-voice.js +0 -54
  364. package/dist/lead.js +2 -105
  365. package/dist/learning-child.js +0 -6
  366. package/dist/learning-look.js +0 -14
  367. package/dist/ledger-chain.js +0 -34
  368. package/dist/ledger-csv.js +0 -2
  369. package/dist/ledger-view.js +0 -3
  370. package/dist/lesson-notes.js +0 -56
  371. package/dist/limits-ui.js +0 -14
  372. package/dist/link.js +0 -79
  373. package/dist/live-backup.js +3 -33
  374. package/dist/live-bus.js +7 -81
  375. package/dist/live-children-read.js +4 -47
  376. package/dist/live-children.js +4 -44
  377. package/dist/live-detail.js +0 -17
  378. package/dist/live-input.js +5 -68
  379. package/dist/live-main-read.js +1 -14
  380. package/dist/live-notes.js +0 -12
  381. package/dist/live-open.js +1 -23
  382. package/dist/live-records.js +4 -151
  383. package/dist/live-reply.js +1 -51
  384. package/dist/live-terminal.js +12 -111
  385. package/dist/live.js +4 -130
  386. package/dist/local-owner-acts.js +168 -0
  387. package/dist/local-owner.js +15 -80
  388. package/dist/log.js +0 -8
  389. package/dist/login-secrets.js +2 -38
  390. package/dist/machine-check.js +0 -2
  391. package/dist/machine-identity.js +1 -46
  392. package/dist/mailbox.js +0 -30
  393. package/dist/maintenance.js +1 -3
  394. package/dist/mcp-connect.js +0 -88
  395. package/dist/mcp-core.js +0 -45
  396. package/dist/mcp-http.js +0 -13
  397. package/dist/mcp-oauth.js +0 -37
  398. package/dist/mcp-person.js +0 -11
  399. package/dist/mcp.js +3 -73
  400. package/dist/memory-cli.js +0 -3
  401. package/dist/memory-pass.js +0 -53
  402. package/dist/memory-tidy.js +0 -55
  403. package/dist/memory-use.js +2 -24
  404. package/dist/merge-checklist.js +21 -29
  405. package/dist/metrics.js +0 -10
  406. package/dist/mobile-viewport.js +0 -6
  407. package/dist/model-catalog.js +1 -33
  408. package/dist/model-choices.js +9 -84
  409. package/dist/model-names.js +0 -9
  410. package/dist/models-cli.js +0 -13
  411. package/dist/models-ui.js +0 -17
  412. package/dist/modes.js +0 -35
  413. package/dist/monitoring-settings.js +2 -27
  414. package/dist/monitoring-ui.js +2 -14
  415. package/dist/monitoring.js +2 -38
  416. package/dist/names.js +0 -39
  417. package/dist/needs-you.js +7 -70
  418. package/dist/never-index.js +0 -9
  419. package/dist/nightly-check.js +0 -74
  420. package/dist/nightly-github.js +0 -168
  421. package/dist/notification-delivery.js +0 -3
  422. package/dist/notification-rows.js +0 -17
  423. package/dist/oauth-run-token.js +1 -37
  424. package/dist/observations.js +0 -16
  425. package/dist/oidc.js +1 -20
  426. package/dist/onboard.js +4 -57
  427. package/dist/one-step-chat-schema.js +0 -15
  428. package/dist/openrouter-models.js +0 -6
  429. package/dist/operate-remote-arguments.js +2 -17
  430. package/dist/operate-remote.js +0 -33
  431. package/dist/operate.js +280 -2304
  432. package/dist/orphan-sweep.js +3 -37
  433. package/dist/page-work-contract.js +0 -3
  434. package/dist/password-bearer.js +1 -11
  435. package/dist/passwordless.js +0 -3
  436. package/dist/peek-cli.js +0 -46
  437. package/dist/peek.js +2 -61
  438. package/dist/people-audit-ui.js +0 -6
  439. package/dist/person-proof.js +0 -6
  440. package/dist/phase-routing.js +8 -183
  441. package/dist/plain-schema.js +0 -14
  442. package/dist/plain-words.js +18 -12
  443. package/dist/plan-auto.js +3 -18
  444. package/dist/plan-login.js +0 -16
  445. package/dist/plan.js +0 -68
  446. package/dist/plane-review.js +0 -56
  447. package/dist/planner-source.js +0 -96
  448. package/dist/planner.js +0 -117
  449. package/dist/policy-ui.js +0 -8
  450. package/dist/policy.js +0 -47
  451. package/dist/prepared-evidence.js +0 -5
  452. package/dist/principal.js +0 -29
  453. package/dist/probe.js +0 -30
  454. package/dist/process-custody.js +0 -15
  455. package/dist/process-liveness.js +0 -32
  456. package/dist/process-tree.js +3 -29
  457. package/dist/project-access.js +0 -10
  458. package/dist/project-admission.js +1 -41
  459. package/dist/project-cli.js +0 -6
  460. package/dist/project-concurrency.js +0 -35
  461. package/dist/project-delete-ui.js +4 -29
  462. package/dist/project-delete.js +1 -73
  463. package/dist/project-demo.js +0 -13
  464. package/dist/project-file.js +0 -2
  465. package/dist/project-identity.js +0 -41
  466. package/dist/project-knowledge.js +0 -39
  467. package/dist/project-learning.js +3 -55
  468. package/dist/project-memory.js +2 -45
  469. package/dist/project-outcomes.js +0 -6
  470. package/dist/project-sandbox.js +0 -23
  471. package/dist/project-skills.js +0 -12
  472. package/dist/project-tools.js +6 -184
  473. package/dist/project.js +0 -48
  474. package/dist/prompt.js +0 -31
  475. package/dist/proof.js +0 -220
  476. package/dist/proposal.js +0 -50
  477. package/dist/protected-storage-look.js +0 -6
  478. package/dist/protected-storage.js +1 -84
  479. package/dist/provider-auth.js +3 -69
  480. package/dist/provider-capture.js +1 -15
  481. package/dist/provider-connection.js +0 -8
  482. package/dist/provider-home.js +0 -25
  483. package/dist/provider-limits.js +0 -14
  484. package/dist/provider.js +0 -324
  485. package/dist/public-access.js +11 -30
  486. package/dist/public-check.js +0 -16
  487. package/dist/publish.js +1 -150
  488. package/dist/pull-request-flow.js +6 -74
  489. package/dist/pull-request-schema.js +0 -4
  490. package/dist/pull-request-ui.js +0 -5
  491. package/dist/pulls.js +0 -80
  492. package/dist/push.js +5 -89
  493. package/dist/quick-start.js +1 -23
  494. package/dist/read-executor-worker.js +0 -1
  495. package/dist/read-executor.js +0 -10
  496. package/dist/read-only-request.js +0 -7
  497. package/dist/recipe-ui.js +0 -6
  498. package/dist/recipes.js +0 -13
  499. package/dist/release-adapters.js +6 -214
  500. package/dist/release-approval.js +0 -74
  501. package/dist/release-authority.js +0 -42
  502. package/dist/release-auto.js +0 -142
  503. package/dist/release-card.js +26 -103
  504. package/dist/release-carry.js +0 -132
  505. package/dist/release-ci-hold.js +0 -20
  506. package/dist/release-cli.js +0 -46
  507. package/dist/release-coverage.js +0 -16
  508. package/dist/release-gate.js +0 -30
  509. package/dist/release-git.js +0 -24
  510. package/dist/release-links.js +0 -17
  511. package/dist/release-net.js +0 -42
  512. package/dist/release-next.js +0 -25
  513. package/dist/release-recheck.js +0 -89
  514. package/dist/release-refusal.js +0 -18
  515. package/dist/release-view.js +0 -5
  516. package/dist/release.js +7 -341
  517. package/dist/releases.js +0 -49
  518. package/dist/remote-audit.js +0 -25
  519. package/dist/remote-command.js +0 -16
  520. package/dist/remote-destination.js +5 -26
  521. package/dist/remote-exec.js +1 -27
  522. package/dist/remote-main.js +1 -53
  523. package/dist/remote-run.js +0 -5
  524. package/dist/remote.js +0 -49
  525. package/dist/render.js +0 -133
  526. package/dist/reply-shape.js +0 -85
  527. package/dist/reply-voice.js +0 -7
  528. package/dist/report-summary.js +0 -5
  529. package/dist/reported-usage.js +0 -30
  530. package/dist/repos.js +9 -62
  531. package/dist/repository-context.js +1 -24
  532. package/dist/request-budget-ui.js +0 -4
  533. package/dist/request-budget.js +0 -23
  534. package/dist/restart-certification.js +0 -37
  535. package/dist/result-actions.js +0 -62
  536. package/dist/result-acts.js +0 -34
  537. package/dist/result-completion.js +9 -28
  538. package/dist/result-evidence-readers.js +0 -3
  539. package/dist/result-follow-ups.js +1 -39
  540. package/dist/result-review.js +0 -86
  541. package/dist/result-shots.js +0 -39
  542. package/dist/retention-ui.js +0 -7
  543. package/dist/retention.js +2 -46
  544. package/dist/review-context.js +0 -129
  545. package/dist/review-evidence.js +0 -4
  546. package/dist/review-switch.js +1 -7
  547. package/dist/reviewer.js +0 -35
  548. package/dist/route-change-check.js +0 -2
  549. package/dist/route-change.js +0 -16
  550. package/dist/route-hooks.js +0 -27
  551. package/dist/route-results.js +2 -58
  552. package/dist/route-rules.js +1 -106
  553. package/dist/route-savings.js +0 -36
  554. package/dist/route-store.js +1 -133
  555. package/dist/run-closeout.js +2 -50
  556. package/dist/run-efficiency.js +2 -44
  557. package/dist/run-ending.js +0 -13
  558. package/dist/runner-process.js +0 -33
  559. package/dist/runner.js +17 -189
  560. package/dist/sample-project.js +2 -27
  561. package/dist/sandbox-launch.js +4 -25
  562. package/dist/sandbox-runtime.js +1 -88
  563. package/dist/scan.js +0 -27
  564. package/dist/scope.js +88 -566
  565. package/dist/scout-browser-lock.js +0 -6
  566. package/dist/scout-browser.js +2 -68
  567. package/dist/scout-net.js +1 -32
  568. package/dist/scout-report.js +0 -22
  569. package/dist/scout.js +1 -116
  570. package/dist/secret-mint.js +0 -6
  571. package/dist/serve.js +29 -564
  572. package/dist/server/agents-computers.js +0 -10
  573. package/dist/server/agents-live-filed.js +0 -13
  574. package/dist/server/agents-live-lead.js +0 -19
  575. package/dist/server/agents-live-room.js +0 -19
  576. package/dist/server/chat.js +2 -194
  577. package/dist/server/chrome.js +17 -263
  578. package/dist/server/console.css +4 -4
  579. package/dist/server/edge-refusal.js +0 -3
  580. package/dist/server/flows.js +5 -74
  581. package/dist/server/guards.js +9 -86
  582. package/dist/server/handler-registry.js +0 -2
  583. package/dist/server/home-asks.js +1 -22
  584. package/dist/server/home.js +1 -30
  585. package/dist/server/http.js +0 -82
  586. package/dist/server/in-place.js +0 -15
  587. package/dist/server/kit-standalone.js +0 -20
  588. package/dist/server/kit.js +2 -114
  589. package/dist/server/last-checks.js +0 -2
  590. package/dist/server/live.js +1 -36
  591. package/dist/server/merge-ready-view.js +0 -6
  592. package/dist/server/mutation-key.js +3 -40
  593. package/dist/server/pages-assets.js +0 -16
  594. package/dist/server/pages.js +7 -195
  595. package/dist/server/people-tokens.js +3 -101
  596. package/dist/server/remote-hooks.js +0 -13
  597. package/dist/server/remote.js +0 -28
  598. package/dist/server/render-chat.js +8 -144
  599. package/dist/server/render-code-map.js +0 -5
  600. package/dist/server/render-flaky.js +0 -8
  601. package/dist/server/render-follow-through.js +2 -5
  602. package/dist/server/render-history.js +2 -34
  603. package/dist/server/render-new-task.js +2 -29
  604. package/dist/server/render-pages.js +1 -111
  605. package/dist/server/render-people.js +2 -46
  606. package/dist/server/render-projects.js +15 -32
  607. package/dist/server/render-release.js +1 -14
  608. package/dist/server/render-results.js +4 -355
  609. package/dist/server/render-settings.js +0 -15
  610. package/dist/server/render-tasks.js +17 -497
  611. package/dist/server/request-context.js +2 -9
  612. package/dist/server/retired-routes.js +0 -11
  613. package/dist/server/route-policy.js +0 -3
  614. package/dist/server/route-table.js +8 -133
  615. package/dist/server/runtime.js +0 -1
  616. package/dist/server/session.js +0 -28
  617. package/dist/server/settings.js +40 -246
  618. package/dist/server/signup-gate.js +0 -11
  619. package/dist/server/sweeps.js +0 -6
  620. package/dist/server/task-views.js +12 -227
  621. package/dist/server/tasks.js +37 -531
  622. package/dist/server/terminals.js +2 -46
  623. package/dist/server/welcome.js +2 -22
  624. package/dist/server-telemetry.js +0 -9
  625. package/dist/settings-groups-ui.js +50 -63
  626. package/dist/settings-kit-script.js +0 -19
  627. package/dist/settings-kit.js +0 -63
  628. package/dist/settings-proofs.js +0 -23
  629. package/dist/setup-guide.js +1 -9
  630. package/dist/shared-deps.js +9 -84
  631. package/dist/sign-in-guard.js +0 -27
  632. package/dist/skills-ui.js +0 -2
  633. package/dist/skills.js +2 -54
  634. package/dist/slack-api.js +0 -3
  635. package/dist/slack-chat.js +0 -25
  636. package/dist/slack-settings.js +0 -1
  637. package/dist/slack-socket.js +0 -5
  638. package/dist/slack.js +0 -4
  639. package/dist/sleep.js +0 -1
  640. package/dist/source-key.js +0 -10
  641. package/dist/spend-report.js +0 -29
  642. package/dist/spend-ui.js +0 -26
  643. package/dist/spend.js +0 -40
  644. package/dist/sqlite-runtime.js +0 -2
  645. package/dist/sqlite-telemetry.js +0 -9
  646. package/dist/sso-settings.js +0 -13
  647. package/dist/sso-ui.js +0 -2
  648. package/dist/staged-runtimes.js +5 -39
  649. package/dist/steer-capabilities.js +1 -7
  650. package/dist/steer-controls.js +0 -10
  651. package/dist/steer-live.js +0 -31
  652. package/dist/steer-mailbox.js +4 -65
  653. package/dist/steer-status.js +0 -7
  654. package/dist/stop-proof.js +5 -62
  655. package/dist/storage-sweep-child.js +1 -5
  656. package/dist/storage-sweep-process.js +2 -20
  657. package/dist/storage-sweep-schedule.js +0 -32
  658. package/dist/storage-sweep.js +2 -51
  659. package/dist/storage-ui.js +0 -18
  660. package/dist/storage.js +0 -31
  661. package/dist/store-baseline.js +0 -14
  662. package/dist/store.js +109 -4763
  663. package/dist/stream-scope.js +0 -16
  664. package/dist/structured-output.js +0 -39
  665. package/dist/style-asset.js +0 -2
  666. package/dist/subagent-admin.js +0 -9
  667. package/dist/subagent-desk.js +0 -29
  668. package/dist/subagent-memory.js +0 -38
  669. package/dist/subagent-question.js +0 -29
  670. package/dist/subagent-tools.js +1 -60
  671. package/dist/subagent-week.js +0 -28
  672. package/dist/subagent-work.js +1 -39
  673. package/dist/subagents-ui.js +1 -13
  674. package/dist/subagents.js +0 -40
  675. package/dist/subscription-chat.js +1 -42
  676. package/dist/summary.js +0 -19
  677. package/dist/surface.js +8 -73
  678. package/dist/sweep-gate.js +0 -2
  679. package/dist/sweep-quarantine.js +2 -13
  680. package/dist/sync.js +0 -47
  681. package/dist/tailnet.js +0 -9
  682. package/dist/tamper-scan.js +0 -15
  683. package/dist/task-activity.js +1 -16
  684. package/dist/task-aliases.js +0 -3
  685. package/dist/task-archive.js +0 -7
  686. package/dist/task-base.js +0 -18
  687. package/dist/task-composer.js +0 -2
  688. package/dist/task-control.js +0 -74
  689. package/dist/task-live.js +0 -23
  690. package/dist/task-moves.js +0 -28
  691. package/dist/task-outcome-cli.js +66 -19
  692. package/dist/task-review-brief.js +0 -7
  693. package/dist/task-sizing.js +0 -47
  694. package/dist/task-source.js +0 -23
  695. package/dist/task-status.js +0 -106
  696. package/dist/task-text.js +0 -12
  697. package/dist/team-chat-authorization.js +0 -3
  698. package/dist/team-contract.js +0 -2
  699. package/dist/team-http.js +0 -4
  700. package/dist/team-leads.js +1 -16
  701. package/dist/team-runtime.js +0 -13
  702. package/dist/team-ui.js +0 -1
  703. package/dist/team-updates.js +0 -4
  704. package/dist/teams-api.js +0 -12
  705. package/dist/teams-chat.js +0 -28
  706. package/dist/teams.js +0 -12
  707. package/dist/teardown-git.js +6 -294
  708. package/dist/telegram-flow.js +0 -51
  709. package/dist/telegram-lead.js +2 -203
  710. package/dist/telegram-live.js +1 -42
  711. package/dist/telegram-progress.js +0 -18
  712. package/dist/telegram-settings.js +0 -7
  713. package/dist/telegram-status.js +0 -46
  714. package/dist/telegram-team.js +1 -33
  715. package/dist/telegram.js +6 -454
  716. package/dist/templates.js +0 -24
  717. package/dist/terminal-catalog.js +2 -20
  718. package/dist/terminal-text.js +0 -12
  719. package/dist/test-infra.js +0 -50
  720. package/dist/test-temp.js +3 -26
  721. package/dist/text-limits.js +0 -92
  722. package/dist/tidy.js +0 -76
  723. package/dist/tier-report.js +0 -2
  724. package/dist/token-notices.js +1 -9
  725. package/dist/tokens-cli.js +0 -13
  726. package/dist/tool-broker.js +2 -53
  727. package/dist/tool-launcher.js +0 -14
  728. package/dist/tool-secret-store.js +3 -125
  729. package/dist/toolroll-update-cli.js +0 -9
  730. package/dist/toolroll-update-ui.js +0 -14
  731. package/dist/toolroll-update.js +13 -252
  732. package/dist/tools-ui.js +0 -17
  733. package/dist/transitions-recipes.js +0 -2
  734. package/dist/tree-proof.js +0 -23
  735. package/dist/tui-contract.js +0 -8
  736. package/dist/tui-source.js +91 -40
  737. package/dist/tui.js +54 -54
  738. package/dist/typed-start.js +0 -27
  739. package/dist/unfenced-test-support.js +0 -5
  740. package/dist/up-processes.js +1 -40
  741. package/dist/up-role-child.js +1 -13
  742. package/dist/update-notice.js +0 -1
  743. package/dist/vanished-retry.js +0 -40
  744. package/dist/verification-evidence.js +0 -39
  745. package/dist/version.js +0 -1
  746. package/dist/wake-hub.js +0 -28
  747. package/dist/webhook-limits.js +0 -7
  748. package/dist/webhook-readers.js +0 -30
  749. package/dist/webhook-signing.js +0 -14
  750. package/dist/webhooks.js +0 -54
  751. package/dist/welcome-facts.js +2 -14
  752. package/dist/when-html.js +0 -27
  753. package/dist/work-index.js +26 -98
  754. package/dist/work-summary.js +2 -17
  755. package/dist/workspace-motion.js +0 -2
  756. package/dist/workspace-revision.js +1 -21
  757. package/dist/workspace-ui.js +15 -135
  758. package/dist/worktree-notices.js +0 -3
  759. package/dist/worktree.js +0 -308
  760. package/dist/writes-mode.js +0 -1
  761. package/dist/youiyoux-intake.js +4 -159
  762. package/package.json +5 -4
  763. package/dist/accent-colors.d.ts +0 -51
  764. package/dist/acp-agents.d.ts +0 -43
  765. package/dist/acp-attest.d.ts +0 -44
  766. package/dist/acp-check.d.ts +0 -37
  767. package/dist/acp-client.d.ts +0 -163
  768. package/dist/acp-inspect.d.ts +0 -23
  769. package/dist/action-ledger.d.ts +0 -27
  770. package/dist/activity-line.d.ts +0 -29
  771. package/dist/actor.d.ts +0 -11
  772. package/dist/agent-board.d.ts +0 -229
  773. package/dist/agent-fence.d.ts +0 -479
  774. package/dist/agent-onboard.d.ts +0 -158
  775. package/dist/agent-pulse.d.ts +0 -43
  776. package/dist/agent-state-words.d.ts +0 -19
  777. package/dist/agent-state.d.ts +0 -65
  778. package/dist/agent-turns.d.ts +0 -52
  779. package/dist/agentconfig.d.ts +0 -191
  780. package/dist/agents-board.d.ts +0 -145
  781. package/dist/agents-live.d.ts +0 -31
  782. package/dist/api-tokens.d.ts +0 -80
  783. package/dist/approval-authority.d.ts +0 -51
  784. package/dist/approval-password.d.ts +0 -31
  785. package/dist/approval-policy.d.ts +0 -69
  786. package/dist/approval-rules-ui.d.ts +0 -40
  787. package/dist/assignment-adapters.d.ts +0 -152
  788. package/dist/assignment-brief.d.ts +0 -83
  789. package/dist/assignment-delivery.d.ts +0 -86
  790. package/dist/assignment-presentation.d.ts +0 -37
  791. package/dist/assignment-status.d.ts +0 -71
  792. package/dist/assignment-ui.d.ts +0 -68
  793. package/dist/assignment.d.ts +0 -318
  794. package/dist/attest.d.ts +0 -59
  795. package/dist/audit-cli.d.ts +0 -17
  796. package/dist/backend.d.ts +0 -97
  797. package/dist/backup-ui.d.ts +0 -32
  798. package/dist/backup.d.ts +0 -92
  799. package/dist/batch-checks.d.ts +0 -15
  800. package/dist/batch-policy.d.ts +0 -23
  801. package/dist/beads.d.ts +0 -34
  802. package/dist/bin.d.ts +0 -2
  803. package/dist/board.d.ts +0 -134
  804. package/dist/boot-identity.d.ts +0 -64
  805. package/dist/bounded-spawn.d.ts +0 -57
  806. package/dist/brand-icons.d.ts +0 -168
  807. package/dist/brand-mark.d.ts +0 -28
  808. package/dist/brief-fence.d.ts +0 -9
  809. package/dist/browser-crew.d.ts +0 -12
  810. package/dist/browser-shell.d.ts +0 -9
  811. package/dist/browser-workspace.d.ts +0 -1972
  812. package/dist/budget-alerts.d.ts +0 -19
  813. package/dist/build-review.d.ts +0 -38
  814. package/dist/builder-restart.d.ts +0 -21
  815. package/dist/builder.d.ts +0 -409
  816. package/dist/canonical-json.d.ts +0 -14
  817. package/dist/capscan.d.ts +0 -35
  818. package/dist/card-catalog.d.ts +0 -209
  819. package/dist/card-cli.d.ts +0 -43
  820. package/dist/card-render.d.ts +0 -43
  821. package/dist/card-sources.d.ts +0 -68
  822. package/dist/chat-acceptance.d.ts +0 -74
  823. package/dist/chat-actions.d.ts +0 -460
  824. package/dist/chat-admission.d.ts +0 -19
  825. package/dist/chat-approval.d.ts +0 -58
  826. package/dist/chat-ask.d.ts +0 -32
  827. package/dist/chat-card-part.d.ts +0 -11
  828. package/dist/chat-card.d.ts +0 -46
  829. package/dist/chat-channel.d.ts +0 -126
  830. package/dist/chat-continuity.d.ts +0 -32
  831. package/dist/chat-controls.d.ts +0 -117
  832. package/dist/chat-core.d.ts +0 -177
  833. package/dist/chat-decide.d.ts +0 -269
  834. package/dist/chat-delivery-state.d.ts +0 -132
  835. package/dist/chat-delivery.d.ts +0 -71
  836. package/dist/chat-display.d.ts +0 -1
  837. package/dist/chat-evidence.d.ts +0 -123
  838. package/dist/chat-flow.d.ts +0 -70
  839. package/dist/chat-follow.d.ts +0 -20
  840. package/dist/chat-inbox.d.ts +0 -57
  841. package/dist/chat-live-schema.d.ts +0 -17
  842. package/dist/chat-live.d.ts +0 -161
  843. package/dist/chat-message-states.d.ts +0 -75
  844. package/dist/chat-messages.d.ts +0 -338
  845. package/dist/chat-migration.d.ts +0 -30
  846. package/dist/chat-polish.d.ts +0 -17
  847. package/dist/chat-quiet.d.ts +0 -40
  848. package/dist/chat-review.d.ts +0 -51
  849. package/dist/chat-rooms.d.ts +0 -123
  850. package/dist/chat-settings-page.d.ts +0 -43
  851. package/dist/chat-task-actions.d.ts +0 -59
  852. package/dist/chat-terms.d.ts +0 -29
  853. package/dist/chat-voice.d.ts +0 -69
  854. package/dist/chat-warmth.d.ts +0 -21
  855. package/dist/check-access.d.ts +0 -54
  856. package/dist/check-facts.d.ts +0 -126
  857. package/dist/check-failure.d.ts +0 -113
  858. package/dist/check-levels-ui.d.ts +0 -36
  859. package/dist/check-levels.d.ts +0 -70
  860. package/dist/check-load.d.ts +0 -85
  861. package/dist/check-only-standing.d.ts +0 -36
  862. package/dist/check-only.d.ts +0 -15
  863. package/dist/check-progress.d.ts +0 -78
  864. package/dist/check-repair.d.ts +0 -47
  865. package/dist/check-report.d.ts +0 -177
  866. package/dist/check-stamp.d.ts +0 -46
  867. package/dist/checkout-cleanup.d.ts +0 -157
  868. package/dist/checkout-proof.d.ts +0 -28
  869. package/dist/child-database.d.ts +0 -12
  870. package/dist/claim.d.ts +0 -627
  871. package/dist/claude-print.d.ts +0 -12
  872. package/dist/cli-fast.d.ts +0 -8
  873. package/dist/cli-help.d.ts +0 -8
  874. package/dist/cli-http.d.ts +0 -58
  875. package/dist/cli.d.ts +0 -149
  876. package/dist/code-extract.d.ts +0 -44
  877. package/dist/code-map-acts.d.ts +0 -24
  878. package/dist/code-map-admission.d.ts +0 -52
  879. package/dist/code-map-build.d.ts +0 -63
  880. package/dist/code-map-cli.d.ts +0 -153
  881. package/dist/code-map-main.d.ts +0 -1
  882. package/dist/code-map-read.d.ts +0 -106
  883. package/dist/code-map-report.d.ts +0 -37
  884. package/dist/code-map-shape.d.ts +0 -172
  885. package/dist/code-map-store.d.ts +0 -136
  886. package/dist/codex-limits.d.ts +0 -15
  887. package/dist/coding-context.d.ts +0 -18
  888. package/dist/coding-handoff.d.ts +0 -39
  889. package/dist/coding-provider.d.ts +0 -88
  890. package/dist/coding-shipping-ui.d.ts +0 -5
  891. package/dist/coding-types.d.ts +0 -16
  892. package/dist/coding-ui.d.ts +0 -19
  893. package/dist/coding-update.d.ts +0 -28
  894. package/dist/coding-workspace.d.ts +0 -141
  895. package/dist/commit-extract.d.ts +0 -135
  896. package/dist/connect-cli.d.ts +0 -34
  897. package/dist/console-chrome.d.ts +0 -41
  898. package/dist/console-instance.d.ts +0 -157
  899. package/dist/container-state.d.ts +0 -5
  900. package/dist/containment.d.ts +0 -205
  901. package/dist/contract-changes.d.ts +0 -52
  902. package/dist/contracts/acceptance-terms.d.ts +0 -14
  903. package/dist/contracts/chat-actions.d.ts +0 -465
  904. package/dist/contracts/chat-callback-rows.d.ts +0 -59
  905. package/dist/contracts/chat-card.d.ts +0 -91
  906. package/dist/contracts/chat-content.d.ts +0 -551
  907. package/dist/contracts/chat-tables.d.ts +0 -12
  908. package/dist/contracts/cli.d.ts +0 -987
  909. package/dist/contracts/coding-activity.d.ts +0 -64
  910. package/dist/contracts/coding-context.d.ts +0 -97
  911. package/dist/contracts/coding-handoff.d.ts +0 -44
  912. package/dist/contracts/coding-workspace.d.ts +0 -165
  913. package/dist/contracts/console-api.d.ts +0 -539
  914. package/dist/contracts/contract-test.d.ts +0 -45
  915. package/dist/contracts/contract.d.ts +0 -92
  916. package/dist/contracts/decision.d.ts +0 -45
  917. package/dist/contracts/diff-stat.d.ts +0 -58
  918. package/dist/contracts/discord-callback.d.ts +0 -45
  919. package/dist/contracts/flow-card.d.ts +0 -53
  920. package/dist/contracts/flow-propose.d.ts +0 -334
  921. package/dist/contracts/flow-send.d.ts +0 -245
  922. package/dist/contracts/flow.d.ts +0 -19565
  923. package/dist/contracts/gateway-tools.d.ts +0 -472
  924. package/dist/contracts/handoff.d.ts +0 -91
  925. package/dist/contracts/health.d.ts +0 -82
  926. package/dist/contracts/integration-metadata.d.ts +0 -100
  927. package/dist/contracts/lead-context.d.ts +0 -165
  928. package/dist/contracts/lead-tools.d.ts +0 -2312
  929. package/dist/contracts/mcp-oauth.d.ts +0 -53
  930. package/dist/contracts/memory-pass.d.ts +0 -157
  931. package/dist/contracts/model-catalog.d.ts +0 -21
  932. package/dist/contracts/observation-request.d.ts +0 -37
  933. package/dist/contracts/plan.d.ts +0 -58
  934. package/dist/contracts/project-knowledge.d.ts +0 -159
  935. package/dist/contracts/project-memory.d.ts +0 -119
  936. package/dist/contracts/project-skills.d.ts +0 -120
  937. package/dist/contracts/proof.d.ts +0 -136
  938. package/dist/contracts/provider.d.ts +0 -40
  939. package/dist/contracts/recipes.d.ts +0 -166
  940. package/dist/contracts/release-check.d.ts +0 -371
  941. package/dist/contracts/release-terms.d.ts +0 -107
  942. package/dist/contracts/retention.d.ts +0 -42
  943. package/dist/contracts/review-findings.d.ts +0 -46
  944. package/dist/contracts/route-results.d.ts +0 -121
  945. package/dist/contracts/route.d.ts +0 -897
  946. package/dist/contracts/scope.d.ts +0 -105
  947. package/dist/contracts/scout-report.d.ts +0 -234
  948. package/dist/contracts/slack-callback.d.ts +0 -43
  949. package/dist/contracts/sort-answer.d.ts +0 -83
  950. package/dist/contracts/stage-output.d.ts +0 -127
  951. package/dist/contracts/storage.d.ts +0 -37
  952. package/dist/contracts/store-json.d.ts +0 -313
  953. package/dist/contracts/subagent-turn.d.ts +0 -43
  954. package/dist/contracts/task-sizing.d.ts +0 -24
  955. package/dist/contracts/teams-callback.d.ts +0 -13
  956. package/dist/contracts/telegram-callback.d.ts +0 -120
  957. package/dist/contracts/trigger-payloads.d.ts +0 -389
  958. package/dist/contracts/update-journal.d.ts +0 -254
  959. package/dist/contracts/verification-receipt.d.ts +0 -200
  960. package/dist/contracts/verification-view.d.ts +0 -102
  961. package/dist/contracts/youiyoux-request.d.ts +0 -248
  962. package/dist/control-setup.d.ts +0 -44
  963. package/dist/control-ui.d.ts +0 -37
  964. package/dist/controller-service.d.ts +0 -1
  965. package/dist/controller-supervisor.d.ts +0 -38
  966. package/dist/converse.d.ts +0 -316
  967. package/dist/coordinator-proposals.d.ts +0 -29
  968. package/dist/coordinator.d.ts +0 -186
  969. package/dist/credentials-ui.d.ts +0 -33
  970. package/dist/daemon.d.ts +0 -226
  971. package/dist/database-reclaim.d.ts +0 -4
  972. package/dist/decision.d.ts +0 -119
  973. package/dist/demo-chat.d.ts +0 -32
  974. package/dist/demo.d.ts +0 -153
  975. package/dist/deploy-gate.d.ts +0 -20
  976. package/dist/deploy-lock.d.ts +0 -8
  977. package/dist/deploy-phase.d.ts +0 -37
  978. package/dist/deploy-rescue.d.ts +0 -42
  979. package/dist/deprecations.d.ts +0 -20
  980. package/dist/design/kit.d.ts +0 -216
  981. package/dist/desktop-access.d.ts +0 -28
  982. package/dist/desktop-bundle.d.ts +0 -16
  983. package/dist/desktop-host.d.ts +0 -54
  984. package/dist/desktop-update-gate.d.ts +0 -12
  985. package/dist/desktop-update-recovery.d.ts +0 -14
  986. package/dist/desktop-update.d.ts +0 -147
  987. package/dist/digest-times.d.ts +0 -3
  988. package/dist/disclosure.d.ts +0 -6
  989. package/dist/discord-api.d.ts +0 -24
  990. package/dist/discord-chat.d.ts +0 -27
  991. package/dist/discord-settings.d.ts +0 -4
  992. package/dist/discord.d.ts +0 -10
  993. package/dist/discover.d.ts +0 -75
  994. package/dist/dispatch.d.ts +0 -123
  995. package/dist/dispose.d.ts +0 -194
  996. package/dist/doctor.d.ts +0 -67
  997. package/dist/easy-start-args.d.ts +0 -13
  998. package/dist/easy-start.d.ts +0 -77
  999. package/dist/egress.d.ts +0 -121
  1000. package/dist/email-settings.d.ts +0 -34
  1001. package/dist/envelope.d.ts +0 -47
  1002. package/dist/eval-gate.d.ts +0 -51
  1003. package/dist/eval-hooks.d.ts +0 -94
  1004. package/dist/eval-oracle-main.d.ts +0 -1
  1005. package/dist/eval-oracle.d.ts +0 -60
  1006. package/dist/eval-world.d.ts +0 -17
  1007. package/dist/evals.d.ts +0 -299
  1008. package/dist/evidence-pack.d.ts +0 -186
  1009. package/dist/evidence-pair.d.ts +0 -53
  1010. package/dist/evidence.d.ts +0 -371
  1011. package/dist/exec.d.ts +0 -355
  1012. package/dist/exhaustion.d.ts +0 -58
  1013. package/dist/export-ui.d.ts +0 -11
  1014. package/dist/export.d.ts +0 -48
  1015. package/dist/failing-first.d.ts +0 -31
  1016. package/dist/fallback-schema.d.ts +0 -8
  1017. package/dist/fallback.d.ts +0 -138
  1018. package/dist/fast-start.d.ts +0 -213
  1019. package/dist/fast-terms.d.ts +0 -9
  1020. package/dist/fenced-check-coverage.d.ts +0 -62
  1021. package/dist/findings.d.ts +0 -224
  1022. package/dist/first-run.d.ts +0 -197
  1023. package/dist/first-tasks-child.d.ts +0 -1
  1024. package/dist/flaky-ci.d.ts +0 -31
  1025. package/dist/flaky-cli.d.ts +0 -60
  1026. package/dist/flaky.d.ts +0 -83
  1027. package/dist/fleet-schema.d.ts +0 -17
  1028. package/dist/flow-actions.d.ts +0 -79
  1029. package/dist/flow-browser.d.ts +0 -103
  1030. package/dist/flow-cadence.d.ts +0 -48
  1031. package/dist/flow-card-task.d.ts +0 -11
  1032. package/dist/flow-changed.d.ts +0 -14
  1033. package/dist/flow-code.d.ts +0 -84
  1034. package/dist/flow-draft.d.ts +0 -42
  1035. package/dist/flow-engine.d.ts +0 -82
  1036. package/dist/flow-gallery-ui.d.ts +0 -73
  1037. package/dist/flow-gallery.d.ts +0 -147
  1038. package/dist/flow-insights.d.ts +0 -104
  1039. package/dist/flow-items.d.ts +0 -37
  1040. package/dist/flow-live.d.ts +0 -16
  1041. package/dist/flow-people.d.ts +0 -23
  1042. package/dist/flow-pull-request.d.ts +0 -14
  1043. package/dist/flow-replies.d.ts +0 -48
  1044. package/dist/flow-result-card.d.ts +0 -22
  1045. package/dist/flow-schedule.d.ts +0 -154
  1046. package/dist/flow-scripts.d.ts +0 -31
  1047. package/dist/flow-secrets.d.ts +0 -13
  1048. package/dist/flow-send.d.ts +0 -54
  1049. package/dist/flow-share.d.ts +0 -78
  1050. package/dist/flow-sort.d.ts +0 -63
  1051. package/dist/flow-starters-ui.d.ts +0 -15
  1052. package/dist/flow-starters.d.ts +0 -63
  1053. package/dist/flow-steps.d.ts +0 -52
  1054. package/dist/flow-triggers.d.ts +0 -303
  1055. package/dist/flow-unattended-words.d.ts +0 -48
  1056. package/dist/flow-unattended.d.ts +0 -259
  1057. package/dist/flows-cli.d.ts +0 -358
  1058. package/dist/flows-ui.d.ts +0 -70
  1059. package/dist/flows.d.ts +0 -136
  1060. package/dist/folder-gate.d.ts +0 -32
  1061. package/dist/folder-look.d.ts +0 -110
  1062. package/dist/follow-through-brief.d.ts +0 -12
  1063. package/dist/follow-through-cli.d.ts +0 -23
  1064. package/dist/fonts.d.ts +0 -19
  1065. package/dist/gaps.d.ts +0 -35
  1066. package/dist/gate-failure.d.ts +0 -40
  1067. package/dist/git-floor.d.ts +0 -16
  1068. package/dist/git-incident.d.ts +0 -65
  1069. package/dist/git-views.d.ts +0 -20
  1070. package/dist/git.d.ts +0 -54
  1071. package/dist/github-import.d.ts +0 -62
  1072. package/dist/github-jobs.d.ts +0 -25
  1073. package/dist/google-mail.d.ts +0 -59
  1074. package/dist/grant.d.ts +0 -136
  1075. package/dist/graph.d.ts +0 -164
  1076. package/dist/guides.d.ts +0 -22
  1077. package/dist/handover-note.d.ts +0 -33
  1078. package/dist/health-cli.d.ts +0 -3
  1079. package/dist/home-groups.d.ts +0 -39
  1080. package/dist/html.d.ts +0 -85
  1081. package/dist/install-method.d.ts +0 -17
  1082. package/dist/integrations-ui.d.ts +0 -17
  1083. package/dist/integrations.d.ts +0 -138
  1084. package/dist/invoke.d.ts +0 -228
  1085. package/dist/is-record.d.ts +0 -2
  1086. package/dist/issues.d.ts +0 -41
  1087. package/dist/jsonl-discriminants.d.ts +0 -11
  1088. package/dist/keymap.d.ts +0 -41
  1089. package/dist/keys.d.ts +0 -108
  1090. package/dist/kits-ui.d.ts +0 -16
  1091. package/dist/kits.d.ts +0 -88
  1092. package/dist/knowledge-cli.d.ts +0 -132
  1093. package/dist/knowledge-ui.d.ts +0 -45
  1094. package/dist/landed-cleanup.d.ts +0 -175
  1095. package/dist/laptop-background.d.ts +0 -187
  1096. package/dist/laptop-service.d.ts +0 -111
  1097. package/dist/latency-timeline.d.ts +0 -46
  1098. package/dist/lead-about.d.ts +0 -35
  1099. package/dist/lead-answer-eval.d.ts +0 -93
  1100. package/dist/lead-capabilities.d.ts +0 -57
  1101. package/dist/lead-cli-live.d.ts +0 -56
  1102. package/dist/lead-cli.d.ts +0 -58
  1103. package/dist/lead-commitments.d.ts +0 -84
  1104. package/dist/lead-context.d.ts +0 -45
  1105. package/dist/lead-contract.d.ts +0 -10
  1106. package/dist/lead-doors.d.ts +0 -122
  1107. package/dist/lead-follow.d.ts +0 -26
  1108. package/dist/lead-identity.d.ts +0 -23
  1109. package/dist/lead-latency-schema.d.ts +0 -24
  1110. package/dist/lead-people.d.ts +0 -55
  1111. package/dist/lead-progress.d.ts +0 -67
  1112. package/dist/lead-queue-runtime.d.ts +0 -46
  1113. package/dist/lead-queue.d.ts +0 -104
  1114. package/dist/lead-route.d.ts +0 -56
  1115. package/dist/lead-status.d.ts +0 -116
  1116. package/dist/lead-sweep.d.ts +0 -67
  1117. package/dist/lead-tools.d.ts +0 -167
  1118. package/dist/lead-voice.d.ts +0 -85
  1119. package/dist/lead.d.ts +0 -142
  1120. package/dist/learning-child.d.ts +0 -1
  1121. package/dist/learning-look.d.ts +0 -25
  1122. package/dist/ledger-chain.d.ts +0 -46
  1123. package/dist/ledger-csv.d.ts +0 -4
  1124. package/dist/ledger-view.d.ts +0 -27
  1125. package/dist/lesson-notes.d.ts +0 -81
  1126. package/dist/limits-ui.d.ts +0 -34
  1127. package/dist/link.d.ts +0 -72
  1128. package/dist/live-backup.d.ts +0 -39
  1129. package/dist/live-bus.d.ts +0 -141
  1130. package/dist/live-children-read.d.ts +0 -52
  1131. package/dist/live-children.d.ts +0 -73
  1132. package/dist/live-detail.d.ts +0 -27
  1133. package/dist/live-input.d.ts +0 -68
  1134. package/dist/live-main-read.d.ts +0 -19
  1135. package/dist/live-notes.d.ts +0 -20
  1136. package/dist/live-open.d.ts +0 -28
  1137. package/dist/live-records.d.ts +0 -149
  1138. package/dist/live-reply.d.ts +0 -83
  1139. package/dist/live-terminal.d.ts +0 -273
  1140. package/dist/live.d.ts +0 -152
  1141. package/dist/local-owner.d.ts +0 -124
  1142. package/dist/log.d.ts +0 -7
  1143. package/dist/login-secrets.d.ts +0 -60
  1144. package/dist/machine-check.d.ts +0 -16
  1145. package/dist/machine-identity.d.ts +0 -75
  1146. package/dist/mailbox.d.ts +0 -57
  1147. package/dist/maintenance.d.ts +0 -13
  1148. package/dist/mcp-connect.d.ts +0 -181
  1149. package/dist/mcp-core.d.ts +0 -110
  1150. package/dist/mcp-http.d.ts +0 -32
  1151. package/dist/mcp-oauth.d.ts +0 -92
  1152. package/dist/mcp-person.d.ts +0 -22
  1153. package/dist/mcp.d.ts +0 -20
  1154. package/dist/memory-cli.d.ts +0 -768
  1155. package/dist/memory-pass.d.ts +0 -151
  1156. package/dist/memory-tidy.d.ts +0 -181
  1157. package/dist/memory-use.d.ts +0 -35
  1158. package/dist/merge-checklist.d.ts +0 -55
  1159. package/dist/metrics.d.ts +0 -6
  1160. package/dist/mobile-viewport.d.ts +0 -7
  1161. package/dist/model-catalog.d.ts +0 -123
  1162. package/dist/model-choices.d.ts +0 -235
  1163. package/dist/model-names.d.ts +0 -6
  1164. package/dist/models-cli.d.ts +0 -307
  1165. package/dist/models-ui.d.ts +0 -161
  1166. package/dist/modes.d.ts +0 -99
  1167. package/dist/monitoring-settings.d.ts +0 -44
  1168. package/dist/monitoring-ui.d.ts +0 -23
  1169. package/dist/monitoring.d.ts +0 -34
  1170. package/dist/names.d.ts +0 -67
  1171. package/dist/needs-you.d.ts +0 -164
  1172. package/dist/never-index.d.ts +0 -3
  1173. package/dist/nightly-check.d.ts +0 -107
  1174. package/dist/nightly-github.d.ts +0 -318
  1175. package/dist/notification-delivery.d.ts +0 -19
  1176. package/dist/notification-rows.d.ts +0 -30
  1177. package/dist/oauth-run-token.d.ts +0 -51
  1178. package/dist/observations.d.ts +0 -36
  1179. package/dist/oidc.d.ts +0 -71
  1180. package/dist/onboard.d.ts +0 -108
  1181. package/dist/one-step-chat-schema.d.ts +0 -22
  1182. package/dist/openrouter-models.d.ts +0 -34
  1183. package/dist/operate-remote-arguments.d.ts +0 -36
  1184. package/dist/operate-remote.d.ts +0 -98
  1185. package/dist/operate.d.ts +0 -401
  1186. package/dist/orphan-sweep.d.ts +0 -65
  1187. package/dist/page-work-contract.d.ts +0 -21
  1188. package/dist/password-bearer.d.ts +0 -25
  1189. package/dist/passwordless.d.ts +0 -23
  1190. package/dist/peek-cli.d.ts +0 -112
  1191. package/dist/peek.d.ts +0 -110
  1192. package/dist/people-audit-ui.d.ts +0 -16
  1193. package/dist/person-proof.d.ts +0 -2
  1194. package/dist/phase-routing.d.ts +0 -401
  1195. package/dist/plain-schema.d.ts +0 -23
  1196. package/dist/plain-words.d.ts +0 -20
  1197. package/dist/plan-auto.d.ts +0 -25
  1198. package/dist/plan-login.d.ts +0 -14
  1199. package/dist/plan.d.ts +0 -188
  1200. package/dist/plane-review.d.ts +0 -54
  1201. package/dist/planner-source.d.ts +0 -225
  1202. package/dist/planner.d.ts +0 -76
  1203. package/dist/policy-ui.d.ts +0 -22
  1204. package/dist/policy.d.ts +0 -92
  1205. package/dist/prepared-evidence.d.ts +0 -17
  1206. package/dist/principal.d.ts +0 -42
  1207. package/dist/probe.d.ts +0 -46
  1208. package/dist/process-custody.d.ts +0 -17
  1209. package/dist/process-liveness.d.ts +0 -13
  1210. package/dist/process-tree.d.ts +0 -39
  1211. package/dist/project-access.d.ts +0 -17
  1212. package/dist/project-activity.d.ts +0 -20
  1213. package/dist/project-admission.d.ts +0 -105
  1214. package/dist/project-cli.d.ts +0 -19
  1215. package/dist/project-concurrency.d.ts +0 -62
  1216. package/dist/project-delete-ui.d.ts +0 -96
  1217. package/dist/project-delete.d.ts +0 -59
  1218. package/dist/project-demo.d.ts +0 -12
  1219. package/dist/project-file.d.ts +0 -3
  1220. package/dist/project-identity.d.ts +0 -52
  1221. package/dist/project-knowledge.d.ts +0 -124
  1222. package/dist/project-learning.d.ts +0 -120
  1223. package/dist/project-memory.d.ts +0 -70
  1224. package/dist/project-outcomes.d.ts +0 -119
  1225. package/dist/project-sandbox.d.ts +0 -59
  1226. package/dist/project-skills.d.ts +0 -139
  1227. package/dist/project-tools.d.ts +0 -318
  1228. package/dist/project.d.ts +0 -65
  1229. package/dist/prompt.d.ts +0 -33
  1230. package/dist/proof.d.ts +0 -457
  1231. package/dist/proposal.d.ts +0 -70
  1232. package/dist/protected-storage-look.d.ts +0 -1
  1233. package/dist/protected-storage.d.ts +0 -98
  1234. package/dist/provider-auth.d.ts +0 -143
  1235. package/dist/provider-capture.d.ts +0 -34
  1236. package/dist/provider-connection.d.ts +0 -23
  1237. package/dist/provider-home.d.ts +0 -22
  1238. package/dist/provider-limits.d.ts +0 -37
  1239. package/dist/provider.d.ts +0 -369
  1240. package/dist/public-access.d.ts +0 -52
  1241. package/dist/public-check.d.ts +0 -37
  1242. package/dist/publish.d.ts +0 -146
  1243. package/dist/pull-request-flow.d.ts +0 -189
  1244. package/dist/pull-request-schema.d.ts +0 -5
  1245. package/dist/pull-request-ui.d.ts +0 -25
  1246. package/dist/pulls.d.ts +0 -121
  1247. package/dist/push.d.ts +0 -120
  1248. package/dist/quality.d.ts +0 -8
  1249. package/dist/quick-start.d.ts +0 -26
  1250. package/dist/read-executor-worker.d.ts +0 -1
  1251. package/dist/read-executor.d.ts +0 -66
  1252. package/dist/read-only-request.d.ts +0 -4
  1253. package/dist/recipe-ui.d.ts +0 -21
  1254. package/dist/recipes.d.ts +0 -56
  1255. package/dist/release-adapters.d.ts +0 -205
  1256. package/dist/release-approval.d.ts +0 -180
  1257. package/dist/release-authority.d.ts +0 -173
  1258. package/dist/release-auto.d.ts +0 -184
  1259. package/dist/release-card.d.ts +0 -156
  1260. package/dist/release-carry.d.ts +0 -261
  1261. package/dist/release-ci-hold.d.ts +0 -41
  1262. package/dist/release-cli.d.ts +0 -34
  1263. package/dist/release-coverage.d.ts +0 -16
  1264. package/dist/release-gate.d.ts +0 -84
  1265. package/dist/release-git.d.ts +0 -43
  1266. package/dist/release-links.d.ts +0 -29
  1267. package/dist/release-net.d.ts +0 -90
  1268. package/dist/release-next.d.ts +0 -48
  1269. package/dist/release-recheck.d.ts +0 -146
  1270. package/dist/release-refusal.d.ts +0 -32
  1271. package/dist/release-view.d.ts +0 -37
  1272. package/dist/release.d.ts +0 -806
  1273. package/dist/releases.d.ts +0 -94
  1274. package/dist/remote-audit.d.ts +0 -79
  1275. package/dist/remote-command.d.ts +0 -45
  1276. package/dist/remote-destination.d.ts +0 -36
  1277. package/dist/remote-exec.d.ts +0 -38
  1278. package/dist/remote-main.d.ts +0 -111
  1279. package/dist/remote-run.d.ts +0 -20
  1280. package/dist/remote.d.ts +0 -67
  1281. package/dist/render.d.ts +0 -64
  1282. package/dist/reply-shape.d.ts +0 -106
  1283. package/dist/reply-voice.d.ts +0 -23
  1284. package/dist/report-summary.d.ts +0 -22
  1285. package/dist/reported-usage.d.ts +0 -69
  1286. package/dist/repos.d.ts +0 -67
  1287. package/dist/repository-context-ui.d.ts +0 -3
  1288. package/dist/repository-context.d.ts +0 -66
  1289. package/dist/request-budget-ui.d.ts +0 -14
  1290. package/dist/request-budget.d.ts +0 -127
  1291. package/dist/restart-certification.d.ts +0 -133
  1292. package/dist/result-actions.d.ts +0 -36
  1293. package/dist/result-acts.d.ts +0 -112
  1294. package/dist/result-completion.d.ts +0 -35
  1295. package/dist/result-evidence-readers.d.ts +0 -42
  1296. package/dist/result-follow-ups.d.ts +0 -118
  1297. package/dist/result-review.d.ts +0 -220
  1298. package/dist/result-shots.d.ts +0 -59
  1299. package/dist/retention-ui.d.ts +0 -21
  1300. package/dist/retention.d.ts +0 -77
  1301. package/dist/review-context.d.ts +0 -245
  1302. package/dist/review-evidence.d.ts +0 -33
  1303. package/dist/review-switch.d.ts +0 -36
  1304. package/dist/reviewer.d.ts +0 -99
  1305. package/dist/route-change-check.d.ts +0 -4
  1306. package/dist/route-change.d.ts +0 -22
  1307. package/dist/route-hooks.d.ts +0 -54
  1308. package/dist/route-results.d.ts +0 -75
  1309. package/dist/route-rules.d.ts +0 -324
  1310. package/dist/route-savings.d.ts +0 -136
  1311. package/dist/route-store.d.ts +0 -300
  1312. package/dist/run-closeout.d.ts +0 -89
  1313. package/dist/run-efficiency.d.ts +0 -74
  1314. package/dist/run-ending.d.ts +0 -21
  1315. package/dist/runner-process.d.ts +0 -76
  1316. package/dist/runner.d.ts +0 -324
  1317. package/dist/sample-project.d.ts +0 -31
  1318. package/dist/sandbox-launch.d.ts +0 -1
  1319. package/dist/sandbox-runtime.d.ts +0 -128
  1320. package/dist/scan.d.ts +0 -32
  1321. package/dist/scope.d.ts +0 -1067
  1322. package/dist/scout-browser-lock.d.ts +0 -69
  1323. package/dist/scout-browser.d.ts +0 -107
  1324. package/dist/scout-net.d.ts +0 -25
  1325. package/dist/scout-report.d.ts +0 -23
  1326. package/dist/scout.d.ts +0 -142
  1327. package/dist/secret-mint.d.ts +0 -1
  1328. package/dist/serve.d.ts +0 -11
  1329. package/dist/server/agents-computers.d.ts +0 -9
  1330. package/dist/server/agents-live-filed.d.ts +0 -17
  1331. package/dist/server/agents-live-lead.d.ts +0 -47
  1332. package/dist/server/agents-live-room.d.ts +0 -23
  1333. package/dist/server/chat.d.ts +0 -39
  1334. package/dist/server/chrome.d.ts +0 -328
  1335. package/dist/server/edge-refusal.d.ts +0 -7
  1336. package/dist/server/flows.d.ts +0 -8
  1337. package/dist/server/guards.d.ts +0 -80
  1338. package/dist/server/handler-context.d.ts +0 -22
  1339. package/dist/server/handler-registry.d.ts +0 -23
  1340. package/dist/server/home-asks.d.ts +0 -45
  1341. package/dist/server/home.d.ts +0 -65
  1342. package/dist/server/http.d.ts +0 -337
  1343. package/dist/server/in-place.d.ts +0 -15
  1344. package/dist/server/kit-standalone.d.ts +0 -22
  1345. package/dist/server/kit.d.ts +0 -452
  1346. package/dist/server/last-checks.d.ts +0 -17
  1347. package/dist/server/live.d.ts +0 -74
  1348. package/dist/server/merge-ready-view.d.ts +0 -10
  1349. package/dist/server/mutation-key.d.ts +0 -70
  1350. package/dist/server/pages-assets.d.ts +0 -11
  1351. package/dist/server/pages.d.ts +0 -8
  1352. package/dist/server/people-tokens.d.ts +0 -18
  1353. package/dist/server/remote-hooks.d.ts +0 -29
  1354. package/dist/server/remote.d.ts +0 -59
  1355. package/dist/server/render-chat.d.ts +0 -439
  1356. package/dist/server/render-code-map.d.ts +0 -30
  1357. package/dist/server/render-flaky.d.ts +0 -20
  1358. package/dist/server/render-follow-through.d.ts +0 -11
  1359. package/dist/server/render-history.d.ts +0 -51
  1360. package/dist/server/render-new-task.d.ts +0 -54
  1361. package/dist/server/render-pages.d.ts +0 -236
  1362. package/dist/server/render-people.d.ts +0 -102
  1363. package/dist/server/render-projects.d.ts +0 -104
  1364. package/dist/server/render-release.d.ts +0 -19
  1365. package/dist/server/render-results.d.ts +0 -754
  1366. package/dist/server/render-settings.d.ts +0 -93
  1367. package/dist/server/render-tasks.d.ts +0 -774
  1368. package/dist/server/request-context.d.ts +0 -78
  1369. package/dist/server/retired-routes.d.ts +0 -17
  1370. package/dist/server/route-policy.d.ts +0 -18
  1371. package/dist/server/route-table.d.ts +0 -114
  1372. package/dist/server/runtime.d.ts +0 -342
  1373. package/dist/server/session.d.ts +0 -192
  1374. package/dist/server/settings.d.ts +0 -76
  1375. package/dist/server/signup-gate.d.ts +0 -9
  1376. package/dist/server/sweeps.d.ts +0 -4
  1377. package/dist/server/task-views.d.ts +0 -98
  1378. package/dist/server/tasks.d.ts +0 -83
  1379. package/dist/server/terminals.d.ts +0 -31
  1380. package/dist/server/welcome.d.ts +0 -28
  1381. package/dist/server-telemetry.d.ts +0 -87
  1382. package/dist/settings-groups-ui.d.ts +0 -286
  1383. package/dist/settings-kit-script.d.ts +0 -21
  1384. package/dist/settings-kit.d.ts +0 -173
  1385. package/dist/settings-proofs.d.ts +0 -64
  1386. package/dist/setup-guide.d.ts +0 -39
  1387. package/dist/shared-deps.d.ts +0 -115
  1388. package/dist/sign-in-guard.d.ts +0 -70
  1389. package/dist/skills-ui.d.ts +0 -12
  1390. package/dist/skills.d.ts +0 -99
  1391. package/dist/slack-api.d.ts +0 -59
  1392. package/dist/slack-chat.d.ts +0 -37
  1393. package/dist/slack-settings.d.ts +0 -4
  1394. package/dist/slack-socket.d.ts +0 -12
  1395. package/dist/slack.d.ts +0 -6
  1396. package/dist/sleep.d.ts +0 -2
  1397. package/dist/source-key.d.ts +0 -2
  1398. package/dist/spend-report.d.ts +0 -87
  1399. package/dist/spend-ui.d.ts +0 -80
  1400. package/dist/spend.d.ts +0 -142
  1401. package/dist/sqlite-runtime.d.ts +0 -3
  1402. package/dist/sqlite-telemetry.d.ts +0 -9
  1403. package/dist/sso-settings.d.ts +0 -33
  1404. package/dist/sso-ui.d.ts +0 -26
  1405. package/dist/staged-runtimes.d.ts +0 -54
  1406. package/dist/steer-capabilities.d.ts +0 -32
  1407. package/dist/steer-controls.d.ts +0 -14
  1408. package/dist/steer-live.d.ts +0 -19
  1409. package/dist/steer-mailbox.d.ts +0 -46
  1410. package/dist/steer-status.d.ts +0 -25
  1411. package/dist/stop-proof.d.ts +0 -67
  1412. package/dist/storage-sweep-child.d.ts +0 -1
  1413. package/dist/storage-sweep-process.d.ts +0 -55
  1414. package/dist/storage-sweep-schedule.d.ts +0 -30
  1415. package/dist/storage-sweep.d.ts +0 -77
  1416. package/dist/storage-ui.d.ts +0 -23
  1417. package/dist/storage.d.ts +0 -68
  1418. package/dist/store-baseline.d.ts +0 -19
  1419. package/dist/store.d.ts +0 -8613
  1420. package/dist/stream-scope.d.ts +0 -18
  1421. package/dist/structured-output.d.ts +0 -57
  1422. package/dist/style-asset.d.ts +0 -7
  1423. package/dist/subagent-admin.d.ts +0 -53
  1424. package/dist/subagent-desk.d.ts +0 -59
  1425. package/dist/subagent-memory.d.ts +0 -65
  1426. package/dist/subagent-question.d.ts +0 -59
  1427. package/dist/subagent-tools.d.ts +0 -125
  1428. package/dist/subagent-week.d.ts +0 -68
  1429. package/dist/subagent-work.d.ts +0 -76
  1430. package/dist/subagents-ui.d.ts +0 -22
  1431. package/dist/subagents.d.ts +0 -146
  1432. package/dist/subscription-chat.d.ts +0 -54
  1433. package/dist/summary.d.ts +0 -33
  1434. package/dist/surface.d.ts +0 -49
  1435. package/dist/sweep-gate.d.ts +0 -10
  1436. package/dist/sweep-quarantine.d.ts +0 -29
  1437. package/dist/sync.d.ts +0 -94
  1438. package/dist/tailnet.d.ts +0 -11
  1439. package/dist/tamper-scan.d.ts +0 -4
  1440. package/dist/task-activity.d.ts +0 -27
  1441. package/dist/task-aliases.d.ts +0 -5
  1442. package/dist/task-archive.d.ts +0 -13
  1443. package/dist/task-base.d.ts +0 -39
  1444. package/dist/task-composer.d.ts +0 -14
  1445. package/dist/task-control.d.ts +0 -159
  1446. package/dist/task-live.d.ts +0 -8
  1447. package/dist/task-moves.d.ts +0 -90
  1448. package/dist/task-outcome-cli.d.ts +0 -30
  1449. package/dist/task-review-brief.d.ts +0 -69
  1450. package/dist/task-sizing.d.ts +0 -58
  1451. package/dist/task-source.d.ts +0 -77
  1452. package/dist/task-status.d.ts +0 -324
  1453. package/dist/task-text.d.ts +0 -31
  1454. package/dist/team-chat-authorization.d.ts +0 -11
  1455. package/dist/team-contract.d.ts +0 -103
  1456. package/dist/team-http.d.ts +0 -25
  1457. package/dist/team-leads.d.ts +0 -85
  1458. package/dist/team-runtime.d.ts +0 -25
  1459. package/dist/team-ui.d.ts +0 -4
  1460. package/dist/team-updates.d.ts +0 -8
  1461. package/dist/teams-api.d.ts +0 -33
  1462. package/dist/teams-chat.d.ts +0 -36
  1463. package/dist/teams-settings.d.ts +0 -14
  1464. package/dist/teams.d.ts +0 -24
  1465. package/dist/teardown-git.d.ts +0 -164
  1466. package/dist/telegram-flow.d.ts +0 -112
  1467. package/dist/telegram-lead.d.ts +0 -151
  1468. package/dist/telegram-live.d.ts +0 -116
  1469. package/dist/telegram-progress.d.ts +0 -20
  1470. package/dist/telegram-settings.d.ts +0 -9
  1471. package/dist/telegram-status.d.ts +0 -83
  1472. package/dist/telegram-team.d.ts +0 -68
  1473. package/dist/telegram.d.ts +0 -271
  1474. package/dist/templates.d.ts +0 -69
  1475. package/dist/terminal-catalog.d.ts +0 -11
  1476. package/dist/terminal-text.d.ts +0 -11
  1477. package/dist/test-infra.d.ts +0 -34
  1478. package/dist/test-temp.d.ts +0 -40
  1479. package/dist/text-limits.d.ts +0 -297
  1480. package/dist/tidy.d.ts +0 -130
  1481. package/dist/tier-report.d.ts +0 -44
  1482. package/dist/token-notices.d.ts +0 -11
  1483. package/dist/tokens-cli.d.ts +0 -21
  1484. package/dist/tool-broker.d.ts +0 -52
  1485. package/dist/tool-launcher.d.ts +0 -1
  1486. package/dist/tool-secret-store.d.ts +0 -167
  1487. package/dist/toolroll-update-cli.d.ts +0 -15
  1488. package/dist/toolroll-update-ui.d.ts +0 -47
  1489. package/dist/toolroll-update.d.ts +0 -265
  1490. package/dist/tools-ui.d.ts +0 -51
  1491. package/dist/transitions-recipes.d.ts +0 -1
  1492. package/dist/tree-proof.d.ts +0 -34
  1493. package/dist/tui-contract.d.ts +0 -144
  1494. package/dist/tui-source.d.ts +0 -14
  1495. package/dist/typed-start.d.ts +0 -51
  1496. package/dist/unfenced-test-support.d.ts +0 -2
  1497. package/dist/up-processes.d.ts +0 -162
  1498. package/dist/up-role-child.d.ts +0 -1
  1499. package/dist/update-notice.d.ts +0 -5
  1500. package/dist/vanished-retry.d.ts +0 -30
  1501. package/dist/verification-evidence.d.ts +0 -68
  1502. package/dist/version.d.ts +0 -2
  1503. package/dist/wake-hub.d.ts +0 -72
  1504. package/dist/webhook-limits.d.ts +0 -23
  1505. package/dist/webhook-readers.d.ts +0 -56
  1506. package/dist/webhook-signing.d.ts +0 -27
  1507. package/dist/webhooks.d.ts +0 -84
  1508. package/dist/welcome-facts.d.ts +0 -18
  1509. package/dist/when-html.d.ts +0 -40
  1510. package/dist/work-index.d.ts +0 -175
  1511. package/dist/work-summary.d.ts +0 -61
  1512. package/dist/workspace-motion.d.ts +0 -4
  1513. package/dist/workspace-revision.d.ts +0 -48
  1514. package/dist/workspace-ui.d.ts +0 -385
  1515. package/dist/worktree-notices.d.ts +0 -13
  1516. package/dist/worktree.d.ts +0 -365
  1517. package/dist/writes-mode.d.ts +0 -9
  1518. package/dist/youiyoux-intake.d.ts +0 -234
package/dist/claim.js CHANGED
@@ -1,32 +1,3 @@
1
- /**
2
- * The claim, and the fence around it.
3
- *
4
- * This is the record §4 calls the one that matters, and the reason is a
5
- * specific 3am failure. A runner takes a task, starts work, and then stops
6
- * being reachable — the machine sleeps, the process is OOM-killed, the network
7
- * partitions. The scheduler cannot tell "dead" from "slow", so it waits for the
8
- * lease to expire and gives the task to someone else. Then the first runner
9
- * wakes up, finishes the work it was doing, and reports success for a task that
10
- * another runner is now halfway through.
11
- *
12
- * Both runners are behaving correctly. Without a fence, the control plane
13
- * believes the last one to speak.
14
- *
15
- * So a lease carries two things. `lease_id` is immutable and identifies one
16
- * grant of one task to one runner. `lease_generation` counts how many times
17
- * that task has been granted at all, and it only ever goes up. Acquiring is a
18
- * compare-and-swap on the generation; every later call carries the lease it
19
- * thinks it holds, and anything whose generation has been superseded is
20
- * refused. The late completion above is refused not because we detected the
21
- * crash — we never did — but because the world moved on without it.
22
- *
23
- * Losing a race here is ordinary, not an error. Several runners asking for the
24
- * same task at the same moment is the system working; exactly one wins.
25
- *
26
- * Time is a parameter everywhere. Expiry decided by an implicit clock is
27
- * untestable, and a lease is exactly the kind of thing that has to be provable
28
- * rather than probable.
29
- */
30
1
  import { randomUUID } from "node:crypto";
31
2
  import { authenticate, drainOf } from "./runner.js";
32
3
  import { pauseForAuth } from "./provider-auth.js";
@@ -35,62 +6,26 @@ import { BUILT_IN, checkCleanupTaskOf, isClosedState, refArchived, taskStateForC
35
6
  import { digestOf } from "./scope.js";
36
7
  import { parseExecutionPlanDocument } from "./plan.js";
37
8
  import { sealUnchangedPlanUnderMode } from "./plan-auto.js";
38
- import { routeFromJson } from "./phase-routing.js";
9
+ import { readinessRefuses, routeFromJson } from "./phase-routing.js";
39
10
  import { contractChangesOf, decodePlannerSource, encodePlannerSource, canonicalContractJson, PLANNER_SOURCE_LIMITS, describeContractChanges, encodePlanContractRecord, plannerContractOf, plannerSourceDigest, } from "./planner-source.js";
40
11
  import { storeEvidence, readVerifiedArtifact, EVIDENCE_CAPS } from "./evidence.js";
41
12
  import { moveOnIfExhausted } from "./fallback.js";
42
13
  import { moveTask } from "./task-moves.js";
43
- /** How stale a mirror's last complete sync may be before admission refuses. */
44
14
  export const SYNC_MAX_AGE_MS = 15 * 60_000;
45
- /**
46
- * Long enough that an ordinary build does not lose its lease mid-thought,
47
- * short enough that a dead runner's work is picked up the same night rather
48
- * than at breakfast.
49
- */
50
15
  export const DEFAULT_LEASE_MS = 15 * 60_000;
51
- /**
52
- * Take the task, if it is free.
53
- *
54
- * Free means no claim, or a claim whose lease expired, or one already released.
55
- * A live lease belonging to somebody else is refused with who holds it and
56
- * until when, because "no" without a reason is indistinguishable from a bug.
57
- */
58
16
  export function acquire(store, taskRef, runner, options) {
59
- // Replay detection is ACQUIRE-SPECIFIC (external dispatch, finding 36):
60
- // the stored payload is untouched — the flag rides only the returned
61
- // copy, so a second replay cannot double-stamp, and Store.replay's T→T
62
- // contract holds for every other user.
63
17
  const replayed = store.hasMutationRecord(options.mutation ?? {});
64
18
  const result = inTransaction(store, () => acquireLocked(store, taskRef, runner, options, "refuse"));
65
19
  return replayed && result.ok ? { ...result, replayed: true } : result;
66
20
  }
67
- /**
68
- * The body of `acquire`, for callers already holding the transaction.
69
- * `acquireIfReady` needs its readiness check and the CAS to be one atomic
70
- * step, and SQLite does not nest transactions.
71
- */
72
- function acquireLocked(store, taskRef, runner, options,
73
- /** Not an AcquireOptions field, so no options object (CLI flag, HTTP body, chat, MCP) can carry it. Only
74
- * acquireForCheckCleanup passes "check-cleanup", after proving its check row in this transaction. */
75
- closed) {
21
+ function acquireLocked(store, taskRef, runner, options, closed) {
76
22
  const { now, ttlMs = DEFAULT_LEASE_MS, newLeaseId = randomUUID, mutation = {} } = options;
77
23
  const db = store.handle;
78
- // Idempotency wraps the CAS, not the other way round: a retried
79
- // acquire must hand back the first answer rather than take a second lease.
80
24
  return (store.replay(mutation, "acquire", () => {
81
25
  const stamp = now.toISOString();
82
- // THE RUNNER GATE, first leg (MCP gateway spec v6). Identity is
83
- // proven INSIDE this transaction — the row re-read, the hash
84
- // re-compared — so a takeover between the caller's own auth and
85
- // this CAS never lets a stale process ride its successor's
86
- // authority. Then the repo tuple: authority derives from
87
- // task_ref.repo ONLY; a task placed nowhere cannot be authorized
88
- // by a repo-scoped runner, and a runner not bound to the task's
89
- // repo never even holds a claim.
90
26
  const gate = authenticate(store, runner, options.token);
91
27
  if (!gate.ok)
92
28
  return { ok: false, reason: "unauthenticated", detail: gate.reason };
93
- // DRAINING (v137): a runner whose stop has begun admits nothing new, on every claim road.
94
29
  const drain = drainOf(store, gate.runner, now);
95
30
  if (drain !== null)
96
31
  return { ok: false, reason: "draining", until: drain.until };
@@ -101,45 +36,21 @@ closed) {
101
36
  if (!gate.runner.repos.includes(placedRepo)) {
102
37
  return { ok: false, reason: "unauthorized-repo", repo: placedRepo };
103
38
  }
104
- // The watch may have lapsed while this pass awaited I/O, before its heartbeat callback ran. Runner tokens
105
- // survive a role restart, so prove this exact watch in the claim transaction as well.
106
39
  if (options.incarnation !== undefined && db.prepare("SELECT 1 FROM watch_lease WHERE runner = ? AND repo = ? AND owner = ? AND expires_at > ?").get(runner, placedRepo, options.incarnation, stamp) === undefined)
107
40
  return { ok: false, reason: "watch-custody" };
108
- // THE COORDINATOR QUARANTINE in the one primitive every claim road
109
- // shares (MCP spec v6, round-3 f1): a coordinator-filed task whose
110
- // scope has not been sealed by the password ceremony claims for
111
- // NOBODY — not the pre-approval planner road, not a raw CLI claim.
112
- // One SQL predicate, so roads cannot diverge. After the seal it is
113
- // ordinary in every respect.
114
41
  if (placedRef !== null && placedRef.coordinatorCid !== null && !store.scopeSealed(placedRef.externalId)) {
115
42
  return { ok: false, reason: "coordinator-filed" };
116
43
  }
117
- // A PUT-AWAY TASK (v145, task-tidy.md) claims for nobody, on every road: restore it first.
118
44
  if (refArchived(store, taskRef))
119
45
  return { ok: false, reason: "archived" };
120
- // The reservation gate lives HERE, in the one primitive every
121
- // acquisition path shares (queue-columns review, finding 1): tick's
122
- // acquireIfReady and the raw CLI claim both
123
- // pass through this line, so a task reserved for one worker can
124
- // never be taken by another, whatever the caller's snapshot said.
125
- // Scheduling, not authority: nothing about WHAT may build changes.
126
46
  const reservedFor = store.assignedRunnerOf(taskRef);
127
47
  if (reservedFor !== null && reservedFor !== runner) {
128
48
  return { ok: false, reason: "reserved", reservedFor };
129
49
  }
130
- // The external-mirror gate (dispatch v3 §2): every acquisition path
131
- // shares this line, so a stale, closed, revoked, or plane-blocked
132
- // mirror never starts a build — whatever the caller's snapshot said.
133
- // An ordinary task costs one indexed lookup.
134
50
  const mirrorWhy = store.mirrorAdmissionRefusal(taskRef, now, options.syncMaxAgeMs ?? SYNC_MAX_AGE_MS);
135
51
  if (mirrorWhy !== null && mirrorWhy !== "not-a-mirror") {
136
52
  return { ok: false, reason: "external", detail: mirrorWhy };
137
53
  }
138
- // THE MODE BELT on the one primitive every claim road shares (Codex
139
- // people round 2, finding 2): a mode-sealed approval whose signature
140
- // no longer stands — revoked, expired by clock, or a dead signer —
141
- // does not dispatch, CLI claim included. Live claims already taken
142
- // are untouched; this fences only NEW takes.
143
54
  if (!store.modeApprovalLive(taskRef, now)) {
144
55
  return {
145
56
  ok: false,
@@ -147,8 +58,6 @@ closed) {
147
58
  message: "the approval it was sealed with no longer stands (an ended mode or flow grant, or an approval that wasn't a person's) — a person approves it again",
148
59
  };
149
60
  }
150
- // A LEAD SWEEP'S LIMIT, inside this write transaction so two runners can't both take the last slot: at most
151
- // max_parallel of its families hold a live claim (claimed-but-not-started counts; a revision counts as its child).
152
61
  const sweep = placedRef === null ? null : store.sweepOfTask(placedRef.externalId);
153
62
  if (sweep !== null && store.sweepLiveClaims(sweep.id, stamp, taskRef) >= sweep.maxParallel) {
154
63
  return { ok: false, reason: "sweep-limit", sweep: sweep.id, limit: sweep.maxParallel };
@@ -162,10 +71,6 @@ closed) {
162
71
  until: String(existing["expires_at"]),
163
72
  };
164
73
  }
165
- // A CLOSED TASK claims for nobody (docs/plans/closed-task-claims.md, decision A), read here in the same write
166
- // transaction as the insert below. Placed after every older refusal, so each of those answers as before; this
167
- // only replaces what would have been a grant. A built-in reference with no task row has nothing to claim. A
168
- // task of another backend keeps today's answer: its state is in that tracker, not in this database.
169
74
  if (placedRef !== null && placedRef.backend === BUILT_IN) {
170
75
  const known = taskStateForClaim(store, taskRef);
171
76
  if (known.kind === "missing")
@@ -184,11 +89,6 @@ closed) {
184
89
  expiresAt: new Date(now.getTime() + ttlMs).toISOString(),
185
90
  heartbeatAt: stamp,
186
91
  };
187
- // The compare-and-swap, enforced by UNIQUE (task_ref, lease_generation)
188
- // rather than by anything this code does. Two runners that both read the
189
- // same generation both try to write generation + 1; the database admits
190
- // one. OR IGNORE turns the loser's constraint violation into a row count
191
- // of zero, because losing a race is an ordinary outcome and not an error.
192
92
  const { changes } = db
193
93
  .prepare(`INSERT OR IGNORE INTO claim
194
94
  (lease_id, task_ref, lease_generation, runner, acquired_at, expires_at, heartbeat_at, released_at, incarnation)
@@ -204,39 +104,14 @@ closed) {
204
104
  };
205
105
  }
206
106
  return { ok: true, claim, reclaimed: existing !== undefined };
207
- },
208
- // Only a lease that was actually granted is worth remembering. Recording
209
- // the refusal would make this key a permanent "no" for a task that is
210
- // free again five minutes later.
211
- result => result.ok));
107
+ }, result => result.ok));
212
108
  }
213
- /** The newest lease on a task, held or not. */
214
109
  function latest(db, taskRef) {
215
110
  return db
216
111
  .prepare("SELECT * FROM claim WHERE task_ref = ? ORDER BY lease_generation DESC LIMIT 1")
217
112
  .get(taskRef);
218
113
  }
219
- /** DESIGN §8 gate 6: above this many open decisions, stop dispatching the parkers.
220
- * `missingCapability` remains re-exported for callers of the old claim seam. */
221
114
  export { DEFAULT_MAX_OPEN_DECISIONS, missingCapability } from "./dispatch.js";
222
- /**
223
- * Take the task, if it is free *and still worth taking*.
224
- *
225
- * `listReady` then `acquire` is two reads of a world that moves between them:
226
- * a hold placed, a blocker reopened, the task cancelled — and the CAS admits
227
- * the claim anyway, because the CAS only defends against other claimants. An
228
- * unattended pass has nobody watching who would notice the stale dispatch, so
229
- * the readiness conditions are re-proved inside the same transaction as the
230
- * acquire, against rows the write lock has already pinned.
231
- *
232
- * "Not ready" is a different answer from "held": held means somebody else got
233
- * it, which is a race being won; not-ready means nobody should have it, and
234
- * says why.
235
- */
236
- /**
237
- * A conformance check's claim (acp-check.ts): its task has no scope to approve, so readiness is not asked — but a
238
- * check runs real agents, so the runner's capacity is counted where the claim lands, as for dispatch.
239
- */
240
115
  export function acquireForCheck(store, taskRef, runner, options) {
241
116
  return inTransaction(store, () => {
242
117
  const registered = store.getRunner(runner);
@@ -252,13 +127,6 @@ export function acquireIfReady(store, taskRef, runner, options) {
252
127
  const why = taskReadinessBlocker(store, taskRef, options.now);
253
128
  if (why !== null)
254
129
  return { ok: false, reason: "not-ready", message: why.message };
255
- // The role's own precondition, re-read where the write lock has pinned
256
- // it — never an early return past the shared gates below. A planner
257
- // dispatches exactly when the operator asked and no promise exists yet;
258
- // a builder dispatches exactly when the promise is approved. A
259
- // mode-sealed approval additionally re-proves its signature is STILL
260
- // the live mode (belt to the demotion sweep — R-REVOKE's next gate
261
- // holds even in the window before an expired mode is durably closed).
262
130
  const approvedScope = scopeApprovedForDispatch(store, taskRef, options.now);
263
131
  if (role === "planner") {
264
132
  const ref = store.refForId(taskRef);
@@ -269,9 +137,6 @@ export function acquireIfReady(store, taskRef, runner, options) {
269
137
  return { ok: false, reason: "not-ready", message: "the scope is already approved — nothing left to plan" };
270
138
  }
271
139
  }
272
- // The deliverable is re-read here (v34): a scout dispatches exactly on
273
- // a report task with an approved scope, and a builder never on one —
274
- // the caller's survey chose the role, the row proves it.
275
140
  if (role === "scout" || role === "builder") {
276
141
  const deliverable = store.refForId(taskRef)?.deliverable ?? "branch";
277
142
  if (role === "scout" && deliverable !== "report") {
@@ -287,16 +152,9 @@ export function acquireIfReady(store, taskRef, runner, options) {
287
152
  if (role !== "planner" && !approvedScope) {
288
153
  return { ok: false, reason: "not-ready", message: "the scope is not approved" };
289
154
  }
290
- // Capabilities are re-read inside the same transaction as the CAS, like
291
- // every other readiness fact: a key that expired between the survey and
292
- // the take must not be dispatched on the survey's answer.
293
155
  const gap = missingCapability(store, taskRef, options.repo ?? null, options.now);
294
156
  if (gap !== null)
295
157
  return { ok: false, reason: "capability", message: gap };
296
- // Capacity (§8 gate 3), counted where the claim lands — two overlapping
297
- // passes cannot both see a free slot that only exists once. Enforced for
298
- // registered runners; a runner the store has never met is a test driving
299
- // the API directly, and the CLI always registers.
300
158
  const registered = store.getRunner(runner);
301
159
  if (registered !== null) {
302
160
  const held = store.liveClaimCount(runner, options.now);
@@ -308,13 +166,7 @@ export function acquireIfReady(store, taskRef, runner, options) {
308
166
  };
309
167
  }
310
168
  }
311
- // Quota, same gate: an exhausted credential refuses; a half-open one
312
- // admits exactly this dispatch as its probe, consumed here so a racing
313
- // pass cannot also treat it as open.
314
169
  const scope = options.model ?? "";
315
- // Quota is keyed to the credential that actually exhausts: the RESOLVED
316
- // provider, never a fixed binary name — codex quota must not collide
317
- // with claude's, nor bypass it (Codex provider review, high finding 5).
318
170
  const quota = store.quotaState(runner, options.provider ?? "claude", scope, options.now, options.authMode ?? "subscription");
319
171
  if (quota !== null && quota.state === "exhausted") {
320
172
  return {
@@ -323,27 +175,16 @@ export function acquireIfReady(store, taskRef, runner, options) {
323
175
  message: `${runner}'s provider quota is exhausted (${quota.reason})${quota.resetAt === null ? "" : ` until ${quota.resetAt}`} — a free slot against an exhausted quota is not capacity`,
324
176
  };
325
177
  }
326
- // THE ROUTED PROVIDER'S READINESS (v47), re-read inside the same
327
- // transaction: a provider THIS runner has reported unavailable never
328
- // claims — no substitution, no second-best. Unknown passes; only a
329
- // recorded unavailable refuses, and it says what was observed.
330
178
  const readiness = store.runnerReadinessOf(runner, options.provider ?? "claude");
331
- if (readiness !== null && readiness.state === "unavailable") {
179
+ if (readiness !== null && readinessRefuses(readiness, options.authMode ?? "subscription")) {
332
180
  return {
333
181
  ok: false,
334
182
  reason: "provider-unavailable",
335
183
  message: `${readiness.provider} is reported unavailable on ${runner} (${readiness.reason}; observed ${readiness.observedAt}) — nothing substitutes for a routed provider`,
336
184
  };
337
185
  }
338
- // The attention budget (§8, gate 6), proved where every other readiness
339
- // fact is proved. A phone with thirty open questions answers none of
340
- // them; above the budget, tasks with a *measured* habit of parking step
341
- // aside so the night keeps building what builds. First-time parkers pass
342
- // — a rate nobody measured is not a rate.
343
186
  const budget = options.maxOpenDecisions ?? DEFAULT_MAX_OPEN_DECISIONS;
344
187
  if (store.countUnanswered() >= budget) {
345
- // A planner exists to generate questions; above the budget it is
346
- // refused outright — no zero-rate first-timer pass (finding 2).
347
188
  if (role === "planner") {
348
189
  return {
349
190
  ok: false,
@@ -361,28 +202,16 @@ export function acquireIfReady(store, taskRef, runner, options) {
361
202
  }
362
203
  }
363
204
  const taken = acquireLocked(store, taskRef, runner, options, "refuse");
364
- // The half-open probe slot is consumed only WITH the claim it admits —
365
- // an attention refusal or a lost CAS must not re-arm the quota as
366
- // exhausted with no probe in flight (finding 3). Same transaction, so
367
- // consume-with-claim is all-or-nothing.
368
205
  if (taken.ok && quota !== null) {
369
206
  store.consumeHalfOpen(runner, options.provider ?? "claude", scope, options.now, options.authMode ?? "subscription");
370
207
  }
371
208
  return taken;
372
209
  });
373
210
  }
374
- /**
375
- * "I am still here." Extends the lease, and tells a superseded runner that it
376
- * has been superseded — which is the cheapest moment for it to find out, well
377
- * before it has finished work nobody will accept.
378
- */
379
211
  export function heartbeat(store, leaseId, now, ttlMs = DEFAULT_LEASE_MS) {
380
212
  const db = store.handle;
381
213
  const expiresAt = new Date(now.getTime() + ttlMs).toISOString();
382
214
  return inTransaction(store, () => {
383
- // An expired claim is not brought back on a task closed meanwhile (closed-task-claims.md, finding 1): that would
384
- // be a new claim on a closed task by another road. A live claim, and an expired one on an open task, renew as
385
- // always. Read in this write transaction, before the renewal.
386
215
  const closedNow = expiredOnClosedTask(store, leaseId, now);
387
216
  if (closedNow !== null)
388
217
  return { ok: false, reason: "closed", state: closedNow };
@@ -396,41 +225,21 @@ export function heartbeat(store, leaseId, now, ttlMs = DEFAULT_LEASE_MS) {
396
225
  return { ok: true, claim: readClaim(row) };
397
226
  });
398
227
  }
399
- /**
400
- * The fence, as a predicate on the write rather than a check before it.
401
- *
402
- * Checking first and updating second leaves a window: a reclaim committing
403
- * between the two makes the check's answer stale, and the update — matching on
404
- * lease id alone — succeeds anyway. Both runners then believe they hold the
405
- * task, which is the precise failure this module was written to make
406
- * impossible. Putting the condition inside the statement closes it, because
407
- * SQLite evaluates it against the row it is about to write.
408
- */
409
228
  const NOT_SUPERSEDED = `NOT EXISTS (
410
229
  SELECT 1 FROM claim AS newer
411
230
  WHERE newer.task_ref = claim.task_ref
412
231
  AND newer.lease_generation > claim.lease_generation
413
232
  )`;
414
- /**
415
- * Why a fenced write matched nothing. Worth the extra read: "you were
416
- * superseded" and "I have never heard of this lease" send a runner to very
417
- * different places.
418
- */
419
233
  function refusal(db, leaseId) {
420
234
  const row = db.prepare("SELECT 1 AS hit FROM claim WHERE lease_id = ?").get(leaseId);
421
235
  return { ok: false, reason: row === undefined ? "unknown" : "fenced" };
422
236
  }
423
- /** The release every ending makes: a compare-and-swap that only the live lease nobody superseded wins. */
424
237
  function releaseAs(store, leaseId, as, now) {
425
238
  const { changes } = store.handle
426
239
  .prepare(`UPDATE claim SET released_at = ?, released_by = ? WHERE lease_id = ? AND released_at IS NULL AND ${NOT_SUPERSEDED}`)
427
240
  .run(now.toISOString(), as, leaseId);
428
241
  return Number(changes) > 0;
429
242
  }
430
- /**
431
- * The open attempt an ending seals, proved first inside finalize's transaction: the run must be this lease's open
432
- * attempt of the role the ending is for (anything else is a caller defect, thrown — not a race to absorb).
433
- */
434
243
  function openAttempt(store, leaseId, runId, what, role) {
435
244
  const run = store.getRun(runId);
436
245
  if (run === null || run.leaseId !== leaseId || run.outcome !== null)
@@ -439,8 +248,6 @@ function openAttempt(store, leaseId, runId, what, role) {
439
248
  throw new Error(`run ${runId} is a ${run.role} run — only ${role} runs can be sealed as ${what}`);
440
249
  return run;
441
250
  }
442
- /** Release the claim as `as`, or — for a lease the world moved past — finish the run (and its open repair child) as a
443
- * fenced refusal and say why. Null when the release won. */
444
251
  function releaseOrRefuse(store, leaseId, as, runId, now, repairRun = null) {
445
252
  if (releaseAs(store, leaseId, as, now))
446
253
  return null;
@@ -449,36 +256,10 @@ function releaseOrRefuse(store, leaseId, as, runId, now, repairRun = null) {
449
256
  store.finishRun(runId, { outcome: "refused", reason: "fenced", now });
450
257
  return refusal(store.handle, leaseId);
451
258
  }
452
- /**
453
- * Hand the task back.
454
- *
455
- * Accepted only from the lease that currently holds it. A completion arriving
456
- * on a superseded lease is the failure this whole module exists for, and it is
457
- * rejected without touching anything — the work is not lost, it is simply not
458
- * this runner's to report, and the record says so rather than overwriting a
459
- * live claim with a dead runner's opinion.
460
- */
461
259
  export function release(store, leaseId, now) {
462
260
  const db = store.handle;
463
261
  return inTransaction(store, () => {
464
262
  if (!releaseAs(store, leaseId, "released", now)) {
465
- // A repeat of a hand-back this same lease already made is not a fence —
466
- // nobody took the task away, the runner simply said so twice because its
467
- // first acknowledgement was lost. M1 asks for duplicate completion to be
468
- // reconciled rather than refused, and telling an honest runner it was
469
- // superseded would send it to stop when it should carry on.
470
- //
471
- // Deliberately not filtered by supersession. A lease that released and
472
- // was then reacquired by somebody else still *completed*: its work was
473
- // accepted at the time, and the honest answer to a late retry is "you
474
- // already did this", not "you were fenced" — which would say its work
475
- // never counted. Fencing is for a lease that never finished.
476
- //
477
- // But *how* the lease came to be released decides everything. Only a
478
- // release the runner itself made counts as "you already did this". A
479
- // lease the reaper or dead-runner recovery took back was never handed
480
- // in by anybody — the world moved on without it, and the answer to its
481
- // late retry is the fence.
482
263
  return duplicateOrRefusal(db, leaseId, ["released", "completed"]);
483
264
  }
484
265
  const row = db.prepare("SELECT * FROM claim WHERE lease_id = ?").get(leaseId);
@@ -486,12 +267,6 @@ export function release(store, leaseId, now) {
486
267
  return { ok: true, claim: readClaim(row) };
487
268
  });
488
269
  }
489
- /**
490
- * Whether an already-released lease was released in a way the caller may
491
- * treat as its own doing. Anything else — reaped, recovered, or provenance
492
- * unknown — is the fence, because accepting it would let a reclaimed lease's
493
- * late retry pass as an ordinary duplicate.
494
- */
495
270
  function duplicateOrRefusal(db, leaseId, own) {
496
271
  const released = db
497
272
  .prepare("SELECT * FROM claim WHERE lease_id = ? AND released_at IS NOT NULL")
@@ -503,18 +278,6 @@ function duplicateOrRefusal(db, leaseId, own) {
503
278
  return { ok: false, reason: "fenced" };
504
279
  return refusal(db, leaseId);
505
280
  }
506
- /**
507
- * THE ONE WAY AN ATTEMPT ENDS: seal `outcome` for `leaseId` in one fenced transaction.
508
- *
509
- * Every ending passes the same fence, in the same order: the run is this lease's open attempt of the right role (a
510
- * caller defect otherwise, thrown); a stop that applies to it wins — the attempt is sealed as interrupted instead
511
- * (except the endings that ARE a stop or a service hand-back); then the claim is released by a compare-and-swap only the
512
- * live, unsuperseded lease wins. A lease the world moved past writes nothing but its own run's fenced refusal (the
513
- * stop and hand-back endings still end their run, touching no task state), and a retry of an ending the same lease
514
- * already made answers as a duplicate where that ending allows it. Only then does the ending's own effect run —
515
- * decision and hold, incident, strike and backoff, scope, report, revision, task state, the disowned mirror — inside
516
- * the same transaction, so nothing of it exists without the release, and a crash rolls all of it back together.
517
- */
518
281
  export function finalize(store, leaseId, outcome) {
519
282
  return inTransaction(store, () => {
520
283
  switch (outcome.kind) {
@@ -532,20 +295,6 @@ export function finalize(store, leaseId, outcome) {
532
295
  }
533
296
  });
534
297
  }
535
- /**
536
- * Release the lease and write the task's terminal state, as one step.
537
- *
538
- * Release-then-mark is a window: between the two, the freed task is back in
539
- * the ready set, and another pass can claim it before the terminal state
540
- * lands — two builders for one task, the second dispatched by our own
541
- * bookkeeping. Here the state is written inside the same transaction as the
542
- * fenced release, so a task is never simultaneously free and unfinished.
543
- *
544
- * A fenced or unknown lease writes nothing: a runner the world moved past
545
- * does not get to say how the task ended. A duplicate release reports
546
- * `duplicate` and also writes nothing — the first completion already said,
547
- * and a retry changing the answer would make "done" negotiable.
548
- */
549
298
  function sealComplete(store, leaseId, args) {
550
299
  const { state, now, mutation = {} } = args;
551
300
  const db = store.handle;
@@ -559,12 +308,6 @@ function sealComplete(store, leaseId, args) {
559
308
  return { ok: false, reason: "stopped" };
560
309
  }
561
310
  if (!releaseAs(store, leaseId, "completed", now)) {
562
- // Only a completion this same lease already made reads as a duplicate.
563
- // The DURABLE disposition (released_by) reproduces the original arm —
564
- // whatever the task or the tracker did since (finding 33). A lease
565
- // the reaper or recovery released was never *accepted*; a late
566
- // completion after that is exactly the stale commit the fence keeps
567
- // out.
568
311
  const released = db
569
312
  .prepare("SELECT * FROM claim WHERE lease_id = ? AND released_at IS NOT NULL")
570
313
  .get(leaseId);
@@ -587,11 +330,6 @@ function sealComplete(store, leaseId, args) {
587
330
  const taskId = db
588
331
  .prepare("SELECT external_id FROM task_ref WHERE id = ? AND backend = ?")
589
332
  .get(claim.taskRef, BUILT_IN);
590
- // The completion gate (external dispatch, v4 §24): the latch is read
591
- // INSIDE this transaction, on a FRESH win only. A latched mirror's
592
- // completion is DISOWNED — the task is cancelled, the disposition is
593
- // written durably, and the caller never sees the completed arm, so
594
- // publication is impossible by construction.
595
333
  const disowned = taskId !== undefined && !store.mirrorAllowsCompletion(String(taskId["external_id"]));
596
334
  if (disowned) {
597
335
  db.prepare("UPDATE claim SET released_by = 'disowned' WHERE lease_id = ?").run(leaseId);
@@ -599,8 +337,6 @@ function sealComplete(store, leaseId, args) {
599
337
  if (taskId !== undefined) {
600
338
  store.replay(mutation, "completeFenced", () => {
601
339
  if (disowned) {
602
- // Cancellation goes through the one floor — a disowned
603
- // completion is a typed machine reason, not a bare state write.
604
340
  store.applyCancellation(String(taskId["external_id"]), { kind: "machine", code: "disowned-completion" }, now, null);
605
341
  }
606
342
  else {
@@ -612,11 +348,6 @@ function sealComplete(store, leaseId, args) {
612
348
  store.bumpWake();
613
349
  return { ok: true, arm: disowned ? "disowned" : "completed", claim };
614
350
  }
615
- /**
616
- * Validate the optional accepted formatting child against the open planner
617
- * root. The child remains open until the root's fence settles, so a crash or
618
- * takeover can never leave it masquerading as successfully delivered work.
619
- */
620
351
  function plannerRepairChild(store, root, repairRunId) {
621
352
  if (repairRunId === null)
622
353
  return null;
@@ -656,22 +387,6 @@ function plannerRepairChild(store, root, repairRunId) {
656
387
  }
657
388
  throw new Error(`run ${repairRunId} is outside planner ${root.id}'s bounded linear correction chain`);
658
389
  }
659
- /**
660
- * Seal a park, fenced at the write (§7).
661
- *
662
- * The builder proved its lease after the agent ran; this transaction proves
663
- * it again *in the same statement that releases it*, because everything a
664
- * park creates — the decision, its hold, the outbox row — is only true if
665
- * this lease still spoke for the task at the moment of sealing. A superseded
666
- * lease creates none of it: no decision, no hold, no notification, and the
667
- * run is finalized as the fenced refusal it was. A crash anywhere inside
668
- * rolls all of it back together; there is no instant at which a decision
669
- * exists without its hold.
670
- *
671
- * `released_by = 'parked'` so a late retry from this lease is answered with
672
- * the fence, not "duplicate": a park hands the task to a person, and nothing
673
- * the runner says afterwards is that person's answer.
674
- */
675
390
  function sealPark(store, leaseId, args) {
676
391
  const { runId, taskId, decision, artifactIds, now } = args;
677
392
  const run = openAttempt(store, leaseId, runId, "a park");
@@ -694,9 +409,6 @@ function sealPark(store, leaseId, args) {
694
409
  }, now);
695
410
  for (const artifact of artifactIds)
696
411
  store.linkEvidence(decisionId, artifact);
697
- // The hold is indefinite by construction. The decision's deadline is
698
- // attention metadata; wiring it into `until` would dispatch the task,
699
- // unanswered, the moment the deadline passed — expiry never chooses.
700
412
  store.holdOwned({
701
413
  taskRef: run.taskRef,
702
414
  ownerKind: "decision",
@@ -714,21 +426,11 @@ function sealPark(store, leaseId, args) {
714
426
  kind: "decision",
715
427
  subject: `${taskId} parked a decision`,
716
428
  body: `${oneLine(decision.question, 200)}\n\`toolroll decide ${decisionId}\``,
717
- // The push stamp (arc 3): class + machine-minted link, at enqueue
718
- // or never. Fixed phrases ride the push service; this subject does not.
719
429
  pushClass: "decision",
720
430
  link: `/d/${decisionId}`,
721
431
  }, now);
722
432
  return { ok: true, decisionId };
723
433
  }
724
- /**
725
- * Seal a park whose payload never became a decision (§6's bounded repair ran
726
- * out). Same fence, same atomicity, different record: an incident that stays
727
- * in every brief until a person resolves it, holding the task so the next
728
- * pass does not spend the same tokens hitting the same wall nightly. The
729
- * malformed payload is preserved as evidence — a person may still be able to
730
- * read what the agent meant.
731
- */
732
434
  function sealMalformed(store, leaseId, args) {
733
435
  const { runId, taskId, problems, now } = args;
734
436
  const run = openAttempt(store, leaseId, runId, "a park");
@@ -762,35 +464,16 @@ function sealMalformed(store, leaseId, args) {
762
464
  }, now);
763
465
  return { ok: true, incidentId };
764
466
  }
765
- /** 1m, 2m, 4m, 8m, 16m — doubling, capped. Indexed by strikes-1. */
766
467
  const BACKOFF_MS = [60_000, 120_000, 240_000, 480_000, 960_000];
767
468
  export const MAX_STRIKES = 3;
768
- /**
769
- * Seal an operator-stopped attempt (v52): ONE fenced transaction for the
770
- * claim's release as `interrupted`, the run's ending as `failed` /
771
- * `interrupted` (the same words dead-runner recovery writes, so the
772
- * recovered-draft road inherits the preserved work exactly as after a
773
- * crash), every open run the attempt owns, the task's return to the
774
- * queue under the stop's own hold, and the stop's settlement. Nothing
775
- * here is a failure: no strike, no backoff, no incident, no automatic
776
- * repair task, no notification page. A commit the attempt already made
777
- * is kept as a reviewable artifact — `committed` records that it exists.
778
- *
779
- * A lease the world moved past (reaped, recovered, superseded) still
780
- * ends the run as interrupted — that IS the honest ending — but touches
781
- * no task state: the task belongs to whoever holds it now.
782
- */
783
469
  function sealInterrupted(store, leaseId, args) {
784
470
  const { runId, taskId, stopRun, now } = args;
785
471
  const db = store.handle;
786
472
  openAttempt(store, leaseId, runId, "an interruption");
787
- // A lease the world moved past still ends its run as interrupted — that IS the honest ending — touching no task state.
788
473
  const fenced = !releaseAs(store, leaseId, "interrupted", now);
789
474
  if (args.message !== undefined && args.message.trim() !== "") {
790
475
  store.recordOutcomeFacts(runId, { handoff: args.message });
791
476
  }
792
- // Owned descendants first (a repair turn, a correction) — the parent's
793
- // ending settles the stop, and every owned row ends in the same write.
794
477
  for (const owned of store.ownedRunsOf(runId)) {
795
478
  if (owned === runId)
796
479
  continue;
@@ -809,28 +492,14 @@ function sealInterrupted(store, leaseId, args) {
809
492
  store.settleRunStop(stopRun, "interrupted", now);
810
493
  if (fenced)
811
494
  return { ok: true, stopRun, requeued: false, fenced: true };
812
- // Back to the queue, where the stop's hold keeps it — a paused task
813
- // reads as queued-and-held, exactly like an operator pause.
814
495
  const requeued = moveTask(db, taskId, "requeue", now);
815
496
  store.bumpWake();
816
497
  return { ok: true, stopRun, requeued, fenced: false };
817
498
  }
818
- /**
819
- * Hand an attempt back because the SERVICE stopped (its builder is
820
- * stopping or restarting), not because anyone stopped the task: one fenced
821
- * transaction releases the claim as `interrupted`, ends the run (and every
822
- * open run it owns) as `failed` / `interrupted` — the words dead-runner
823
- * recovery writes, so the next attempt inherits the preserved work in the
824
- * same checkout exactly as after a crash — and returns the task to the
825
- * queue with no strike, no backoff and no hold, so the next builder pass
826
- * resumes it. A lease the world moved past still ends the run, touching no
827
- * task state.
828
- */
829
499
  function sealHandBack(store, leaseId, args) {
830
500
  const { runId, taskId, now } = args;
831
501
  const db = store.handle;
832
502
  openAttempt(store, leaseId, runId, "a hand-back");
833
- // A lease the world moved past still ends its run as interrupted — that IS the honest ending — touching no task state.
834
503
  const fenced = !releaseAs(store, leaseId, "interrupted", now);
835
504
  if (args.message.trim() !== "")
836
505
  store.recordOutcomeFacts(runId, { handoff: args.message });
@@ -848,14 +517,6 @@ function sealHandBack(store, leaseId, args) {
848
517
  store.bumpWake();
849
518
  return { ok: true, requeued, fenced: false };
850
519
  }
851
- /**
852
- * THE STOP FENCE at settlement (v52): when a stop applies to the run —
853
- * its own or an owning ancestor's — seal the attempt as interrupted and
854
- * answer with the seal; otherwise null, and the caller's own ending
855
- * proceeds. Every fenced finalizer asks this first, inside its own
856
- * transaction, so a stop that commits before terminal settlement wins
857
- * whatever the attempt was about to say.
858
- */
859
520
  export function interruptIfStopped(store, args) {
860
521
  const stop = store.applicableStopFor(args.runId);
861
522
  if (stop === null)
@@ -869,21 +530,6 @@ export function interruptIfStopped(store, args) {
869
530
  message: args.message ?? `stopped by ${stop.requestedBy} (run #${stop.run}) — ${where === null ? "the attempt's evidence is on record" : `the work is preserved in ${where}`}`,
870
531
  }));
871
532
  }
872
- /**
873
- * Seal a failed attempt: one fenced transaction for the release, the run,
874
- * the strike, the hold, and the page (§6, gnhf adopted rather than
875
- * reinvented).
876
- *
877
- * Strikes count only top-level builder attempts; built, no-change, and
878
- * parked reset them elsewhere; refusals, fenced attempts, and repair
879
- * children never reach this function. Under three strikes the task
880
- * requeues behind a doubling backoff hold the failure owns; at three it
881
- * stalls — an 'attempts-exhausted' incident, the task marked failed, held,
882
- * and paged once — because a fourth identical attempt at 3am is a token
883
- * bonfire, not persistence. A commit-stage failure takes neither road: the
884
- * worktree holds unpreserved work, ordinary re-pooling would refuse it as
885
- * dirty forever, so it is an immediate incident naming the checkout.
886
- */
887
533
  function sealFailure(store, leaseId, args) {
888
534
  const { runId, taskId, failureClass, message, now } = args;
889
535
  const run = openAttempt(store, leaseId, runId, "a failure", "builder");
@@ -893,14 +539,9 @@ function sealFailure(store, leaseId, args) {
893
539
  const fenced = releaseOrRefuse(store, leaseId, "released", runId, now);
894
540
  if (fenced !== null)
895
541
  return fenced;
896
- // A sign-in that no longer works is not the attempt's fault: no strike,
897
- // no retry, the task back in the queue, and its provider paused.
898
542
  if (failureClass !== "commit-failure" && run.terminalClass === "auth-expired") {
899
543
  return { ok: true, ...sealAuthExpired(store, run, taskId, now) };
900
544
  }
901
- // Out of plan on an approved chain: the walk moves on, no strike, and the next agent runs through the ordinary claim.
902
- // Anything else about this ending (fallback.ts says what closed the walk) stays the ordinary road below.
903
- // Only the agent's own exit moves: a lease, branch or HEAD law that failed, or a commit that failed, is that ending.
904
545
  if (failureClass === "unknown") {
905
546
  const moved = moveOnIfExhausted(store, runId, taskId, now);
906
547
  if (moved !== null) {
@@ -910,8 +551,6 @@ function sealFailure(store, leaseId, args) {
910
551
  }
911
552
  store.finishRun(runId, { outcome: "failed", reason: failureClass, now });
912
553
  if (failureClass === "commit-failure") {
913
- // The work exists and is uncommitted; nothing times its way out of
914
- // that. A person (or an explicit repair) proves the checkout.
915
554
  const incidentId = store.createIncident({ run: runId, kind: "commit-failure" }, now);
916
555
  store.holdOwned({
917
556
  taskRef: run.taskRef,
@@ -933,8 +572,6 @@ function sealFailure(store, leaseId, args) {
933
572
  }
934
573
  const strikes = store.addStrike(run.taskRef);
935
574
  if (strikes >= MAX_STRIKES) {
936
- // The state first: a task a person already closed keeps its state, and then no incident, hold or page is
937
- // written either (closed-task-claims.md, decision B). The run's outcome, the release and the strike stand.
938
575
  const closedState = exhaustUnlessClosed(store, run, taskId, now);
939
576
  if (closedState !== null)
940
577
  return { ok: true, disposition: "closed", strikes, state: closedState };
@@ -957,16 +594,12 @@ function sealFailure(store, leaseId, args) {
957
594
  }, now);
958
595
  return { ok: true, disposition: "stalled", strikes, incidentId };
959
596
  }
960
- // Under the limit: requeue behind a doubling pause the failure owns.
961
- // Replacing the previous backoff hold is correct — this attempt's strike
962
- // already reflects the whole streak.
963
597
  const wait = BACKOFF_MS[Math.min(strikes, BACKOFF_MS.length) - 1];
964
598
  const until = new Date(now.getTime() + wait);
965
599
  store.holdOwned({
966
600
  taskRef: run.taskRef,
967
601
  ownerKind: "backoff",
968
602
  ownerId: String(run.taskRef),
969
- // Run 2085: this failure is named in plain words wherever the hold shows.
970
603
  reason: failureClass === "no-handoff"
971
604
  ? `The agent stopped before handing off; its work was kept and it is being resumed (retry ${strikes}/${MAX_STRIKES} in ${Math.round(wait / 60_000)}m)`
972
605
  : `retry ${strikes}/${MAX_STRIKES} after ${failureClass} — backing off ${Math.round(wait / 60_000)}m`,
@@ -983,12 +616,6 @@ function sealFailure(store, leaseId, args) {
983
616
  }, now);
984
617
  return { ok: true, disposition: "backoff", strikes, until: until.toISOString() };
985
618
  }
986
- /**
987
- * The auth-expired ending, inside the caller's fenced transaction (claim
988
- * already released): the run fails as `auth-expired`, the task goes back to
989
- * the queue with no strike and no backoff, and dispatch for the run's
990
- * provider pauses — the first such run of an incident tells a person once.
991
- */
992
619
  function sealAuthExpired(store, run, taskId, now) {
993
620
  store.finishRun(run.id, { outcome: "failed", reason: "auth-expired", now });
994
621
  moveTask(store.handle, taskId, "requeue", now);
@@ -996,33 +623,16 @@ function sealAuthExpired(store, run, taskId, now) {
996
623
  store.bumpWake();
997
624
  return { disposition: "auth-expired", provider: run.provider };
998
625
  }
999
- /** Untrusted text on its way into a subject line: one line, bounded. */
1000
626
  function oneLine(text, cap) {
1001
627
  const flat = text.replace(/\s+/g, " ").trim();
1002
628
  return flat.length <= cap ? flat : `${flat.slice(0, cap)}…`;
1003
629
  }
1004
- /** The live claim on a task, if there is one. */
1005
630
  export const MAX_PLAN_STRIKES = 3;
1006
- /** Backoff for planner retries: shorter than the builder's — a planner that
1007
- * cannot start is usually a transient, and nothing downstream is waiting on
1008
- * a workspace. */
1009
631
  const PLAN_BACKOFF_MS = [60_000, 2 * 60_000, 4 * 60_000];
1010
- /**
1011
- * Seal a successful planning run: the proposed scope, the plan document
1012
- * artifact, the drafted state, the run outcome, and the page to the
1013
- * operator exist together or — if the lease was superseded — not at all.
1014
- * The scope proposal is authority-bearing (it is what the approve card
1015
- * will restate), which is why this is the park discipline, not the DONE
1016
- * one (Codex planning review, question 2).
1017
- */
1018
632
  function sealPlan(store, leaseId, args) {
1019
633
  const { runId, taskId, plan, now } = args;
1020
- // The ingestion record (contract handoff, task 1) is composed here from
1021
- // the filed terms and the drafted plan; its file and row land inside the
1022
- // transaction below, only after the stale-source check admits the draft.
1023
634
  const filed = args.source?.contract.scope ?? null;
1024
635
  const contractChanges = filed === null ? [] : contractChangesOf(filed, plan);
1025
- // A hand-built plan (the pre-source road) carries no amendment field.
1026
636
  const amendment = plan.amendment ?? null;
1027
637
  const record = args.source === undefined
1028
638
  ? null
@@ -1049,8 +659,6 @@ function sealPlan(store, leaseId, args) {
1049
659
  return failed.ok ? { ok: false, reason: "source-invalid", detail } : failed;
1050
660
  };
1051
661
  const sources = store.artifactsFor(runId).filter(one => one.kind === "plan-contract" && one.key.endsWith("/planner-source.json"));
1052
- // Legacy rows have no input stamp or artifact. Every current dispatch
1053
- // stamps even an empty scope; dropping a caller argument cannot bypass custody.
1054
662
  if (args.source !== undefined || sources.length > 0 || run.scopeDigest !== null) {
1055
663
  if (args.source === undefined || args.evidenceRoot === undefined || sources.length !== 1 || sources[0].id !== args.sourceArtifact) {
1056
664
  return invalidSource("the planner's admitted source inventory is missing, ambiguous, or was not presented");
@@ -1073,13 +681,6 @@ function sealPlan(store, leaseId, args) {
1073
681
  return invalidSource("a planner changed the filed contract without a bounded, explicit amendment");
1074
682
  }
1075
683
  }
1076
- // THE SOURCE RECHECK (contract handoff, task 1): the filed request is
1077
- // re-derived from durable state inside this very transaction and must
1078
- // still be the one the planner read. A scope rewritten, approved, or
1079
- // re-termed while the planner ran is the NEWER source; an old draft
1080
- // never overwrites it. The attempt ends refused in words — no strike,
1081
- // the planner did nothing wrong — and the task stays requested. The
1082
- // claim releases under the same fence the ingestion would have used.
1083
684
  if (args.source !== undefined) {
1084
685
  const current = plannerContractOf(store, taskId);
1085
686
  const currentDigest = current.ok ? plannerSourceDigest(current.contract) : null;
@@ -1181,8 +782,6 @@ function sealPlan(store, leaseId, args) {
1181
782
  }, now);
1182
783
  return { ok: true, changes: contractChanges.length, amendment };
1183
784
  }
1184
- /** Which part of the filed request moved, in words — for the refusal,
1185
- * the page, and the notification. */
1186
785
  function describeSourceDrift(source, current) {
1187
786
  const was = source.contract;
1188
787
  const parts = [];
@@ -1205,40 +804,6 @@ function describeSourceDrift(source, current) {
1205
804
  parts.push("the revision brief changed");
1206
805
  return `the filed request changed while the planner ran: ${parts.length === 0 ? "its source identity moved" : parts.join("; ")} (planned against ${source.sourceDigest.slice(0, 12)})`;
1207
806
  }
1208
- /**
1209
- * Seal a running build's plan-revision proposal (adaptive execution plans).
1210
- *
1211
- * A builder that finds repository evidence invalidating a named dependency,
1212
- * risk, or assumption in the plan it was given files ONE proposal and stops
1213
- * without committing — the park discipline, applied to the road rather than
1214
- * to a question. The ledger row, the hold when one is owed, the run's
1215
- * outcome, and the page exist together or, if the lease was superseded,
1216
- * not at all. Structurally the plan ending's twin: the same
1217
- * open-attempt assertion, the same fenced release, the same all-or-nothing
1218
- * transaction.
1219
- *
1220
- * Two dispositions, decided by the caller's classification and recorded
1221
- * here:
1222
- *
1223
- * plan-only the signed scope and publication authority are
1224
- * byte-identical to what this build started under, so
1225
- * nothing authority-bearing moved and the revision is
1226
- * APPLIED. The claim releases plainly, the task returns
1227
- * to the ready set, and the next attempt reads the new
1228
- * plan — that is the "resume" the subject line promises.
1229
- *
1230
- * authority-change something else moved the signed scope or the
1231
- * publication authority WHILE this build ran. Whatever
1232
- * the revision proposes, it is never auto-applied: the
1233
- * row lands 'blocked', a `revision` hold keeps the task
1234
- * out of every ready set until a person accepts or
1235
- * rejects it, and the page names exactly which fields
1236
- * changed.
1237
- *
1238
- * The lease is released either way — the attempt is over — and the run is
1239
- * finished as `refused`, reusing the existing outcome vocabulary rather
1240
- * than growing it: no work was committed, and nothing failed.
1241
- */
1242
807
  function sealRevision(store, leaseId, args) {
1243
808
  const { runId, taskId, taskRef, revision, now } = args;
1244
809
  openAttempt(store, leaseId, runId, "a plan revision", "builder");
@@ -1276,19 +841,6 @@ function sealRevision(store, leaseId, args) {
1276
841
  }, now);
1277
842
  return { ok: true, revisionId, authorityKind: revision.authorityKind };
1278
843
  }
1279
- /**
1280
- * The planner's own fenced failure finalizer (Codex planning review,
1281
- * finding 6): releases exactly the planner claim, finishes the run,
1282
- * counts a SEPARATE planning strike — a planner that cannot finish must
1283
- * never spend the builder's three attempts — and eventually leaves a
1284
- * durable incident + hold + page. It never marks the task done, never
1285
- * touches builder strikes, never commits, never publishes.
1286
- *
1287
- * A malformed payload goes straight to its incident with no strike: the
1288
- * protocol failed, not the weather, and retrying the same session buys
1289
- * nothing without the repair machinery (deliberately not wired for
1290
- * planners in v1).
1291
- */
1292
844
  function sealPlanFailure(store, leaseId, args) {
1293
845
  const { runId, taskId, failure: kind, message, now } = args;
1294
846
  const run = openAttempt(store, leaseId, runId, "a failure", "planner");
@@ -1347,8 +899,6 @@ function sealPlanFailure(store, leaseId, args) {
1347
899
  const until = new Date(now.getTime() + wait);
1348
900
  store.holdOwned({
1349
901
  taskRef: run.taskRef,
1350
- // Its own owner id: a planning pause must never displace the
1351
- // builder's backoff for the same task, or vice versa.
1352
902
  ownerKind: "backoff",
1353
903
  ownerId: `plan:${run.taskRef}`,
1354
904
  reason: `plan retry ${strikes}/${MAX_PLAN_STRIKES} — backing off ${Math.round(wait / 60_000)}m`,
@@ -1363,13 +913,6 @@ function sealPlanFailure(store, leaseId, args) {
1363
913
  }, now);
1364
914
  return { ok: true, disposition: "backoff", strikes };
1365
915
  }
1366
- /**
1367
- * Seal a successful scouting run (mate arc §10): the report artifact, the
1368
- * run outcome, the task's terminal state, and the page to the operator
1369
- * exist together or — if the lease was superseded — not at all. Nothing
1370
- * here touches a branch, a publication, or a scope: the deliverable is
1371
- * the artifact, and the task is done the moment it verifies.
1372
- */
1373
916
  function sealScout(store, leaseId, args) {
1374
917
  const { runId, taskId, report, now } = args;
1375
918
  const run = openAttempt(store, leaseId, runId, "a report", "scout");
@@ -1384,8 +927,6 @@ function sealScout(store, leaseId, args) {
1384
927
  store.finishRun(runId, { outcome: "built", reason: "report-delivered", now });
1385
928
  const done = store.setTaskState(taskId, "done", now);
1386
929
  if (!done.ok) {
1387
- // A mirror the tracker closed meanwhile: the report stands as evidence
1388
- // on the run; the task keeps the tracker's word for its state.
1389
930
  store.finishRun(runId, { outcome: "built", reason: `report-delivered (task ${done.reason})`, now });
1390
931
  }
1391
932
  store.enqueueNotification({
@@ -1397,13 +938,6 @@ function sealScout(store, leaseId, args) {
1397
938
  }, now);
1398
939
  return { ok: true };
1399
940
  }
1400
- /**
1401
- * The scout's fenced failure finalizer: the BUILDER's discipline, not the
1402
- * planner's — a scout task has no builder attempts, so its strikes are the
1403
- * task's own (three stall it, `task requeue` clears them), and a malformed
1404
- * report is a straight incident with no strike. Never a branch, never a
1405
- * repair session, never a commit.
1406
- */
1407
941
  function sealScoutFailure(store, leaseId, args) {
1408
942
  const { runId, taskId, failure: kind, message, now } = args;
1409
943
  const run = openAttempt(store, leaseId, runId, "a failure", "scout");
@@ -1439,7 +973,6 @@ function sealScoutFailure(store, leaseId, args) {
1439
973
  }
1440
974
  const strikes = store.addStrike(run.taskRef);
1441
975
  if (strikes >= MAX_STRIKES) {
1442
- // Same as the build: a task a person already closed keeps its state, with no incident, hold or page.
1443
976
  const closedState = exhaustUnlessClosed(store, run, taskId, now);
1444
977
  if (closedState !== null)
1445
978
  return { ok: true, disposition: "closed", strikes, state: closedState };
@@ -1486,20 +1019,9 @@ export function currentClaim(store, taskRef, now) {
1486
1019
  return null;
1487
1020
  return readClaim(row);
1488
1021
  }
1489
- /**
1490
- * Release every lease that has run out.
1491
- *
1492
- * Expiry alone already frees a task for acquisition, so this is not what makes
1493
- * reclaim work — it is what makes it *visible*. A daemon reaping on a tick
1494
- * turns "this lease is being ignored because its timestamp is in the past" into
1495
- * a released row somebody can read, which is the difference between a system
1496
- * that recovers and a system that appears to have lost the work.
1497
- */
1498
1022
  export function reap(store, now) {
1499
1023
  const stamp = now.toISOString();
1500
1024
  const db = store.handle;
1501
- // One transaction, so the list returned is exactly the list released — a
1502
- // lease expiring between the read and the write belongs to the next reap.
1503
1025
  return inTransaction(store, () => {
1504
1026
  const expired = db
1505
1027
  .prepare("SELECT * FROM claim WHERE released_at IS NULL AND expires_at <= ?")
@@ -1524,21 +1046,9 @@ function readClaim(row) {
1524
1046
  heartbeatAt: String(row["heartbeat_at"]),
1525
1047
  };
1526
1048
  }
1527
- /**
1528
- * IMMEDIATE rather than DEFERRED: the write lock is taken up front, so two
1529
- * processes racing for the same task queue behind one another instead of both
1530
- * reading, both deciding they won, and one failing at commit time.
1531
- */
1532
1049
  function inTransaction(store, body) {
1533
- // The store's transact: same BEGIN IMMEDIATE, plus reentrancy — a caller
1534
- // composing a fenced finalizer with more writes (completion + publication
1535
- // intent) joins one transaction instead of dying on a nested BEGIN.
1536
1050
  return store.transact(body);
1537
1051
  }
1538
- /**
1539
- * Whether `leaseId` is an expired claim, still unreleased and the newest for its task, on a built-in task that is now
1540
- * done, failed or cancelled: that closed state, else null. heartbeat refuses to renew exactly this case.
1541
- */
1542
1052
  function expiredOnClosedTask(store, leaseId, now) {
1543
1053
  const row = store.handle
1544
1054
  .prepare(`SELECT task_ref FROM claim WHERE lease_id = ? AND released_at IS NULL AND expires_at <= ? AND ${NOT_SUPERSEDED}`)
@@ -1548,13 +1058,6 @@ function expiredOnClosedTask(store, leaseId, now) {
1548
1058
  const known = taskStateForClaim(store, Number(row["task_ref"]));
1549
1059
  return known.kind === "built-in" && isClosedState(known.state) ? known.state : null;
1550
1060
  }
1551
- /**
1552
- * The stall's state write (build and scouting), inside finalize's transaction. The task is the run's own: a supplied
1553
- * id that names another task is a caller defect, thrown like openAttempt's. An open built-in task is marked failed
1554
- * (null back, the stall goes on as before). One a person already closed keeps its state: that state comes back and
1555
- * the caller writes no incident, hold or page. A reference with no built-in task row behind it (a missing row, or a
1556
- * task of another backend) writes no state and answers null, so the stall goes on as it did before.
1557
- */
1558
1061
  function exhaustUnlessClosed(store, run, taskId, now) {
1559
1062
  const ref = store.refForId(run.taskRef);
1560
1063
  if (ref === null || ref.externalId !== taskId) {
@@ -1567,13 +1070,6 @@ function exhaustUnlessClosed(store, run, taskId, now) {
1567
1070
  const state = store.getTask(taskId)?.state;
1568
1071
  return state !== undefined && isClosedState(state) ? state : null;
1569
1072
  }
1570
- /**
1571
- * Check cleanup's claim (acp-check.ts settleChecks): the one road that may claim a closed task. Only the task bound to
1572
- * check `checkId`, when that check is this runner's, finished and unsettled, held right now by this cleanup `attempt`,
1573
- * and its task is the built-in one named from the check row's own id (store.ts checkCleanupTaskOf) — proved here, in
1574
- * the same transaction as the grant. Every other gate of the claim still applies. When the proof fails, the claim
1575
- * answers exactly as an ordinary one would: never wider.
1576
- */
1577
1073
  export function acquireForCheckCleanup(store, checkId, attempt, runner, options) {
1578
1074
  return inTransaction(store, () => {
1579
1075
  const proved = checkCleanupTaskOf(store, checkId, runner, attempt, options.now);