@openrig/cli 0.6.9 → 0.6.11

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 (570) hide show
  1. package/README.md +2 -2
  2. package/daemon/assets/onboarding/02-self-and-competent-action.md +4 -3
  3. package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
  4. package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
  5. package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +42 -2
  6. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +1 -1
  7. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -1
  8. package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +6 -1
  9. package/daemon/assets/skills/rigs/SKILL.md +7 -5
  10. package/daemon/context-packs/help/manifest.yaml +1 -1
  11. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  12. package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +64 -14
  13. package/daemon/context-packs/reference/getting-started.md +10 -6
  14. package/daemon/context-packs/reference/manifest.yaml +1 -1
  15. package/daemon/context-packs/reference/rig-spec.md +2 -2
  16. package/daemon/context-packs/reference/whats-new.md +151 -74
  17. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +1 -1
  30. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +3 -3
  31. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +2 -2
  38. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/openrig-user/SKILL.md +7 -1
  46. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  54. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  55. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  56. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  57. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  58. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  59. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  60. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  61. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  62. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  63. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  64. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  65. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  66. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  67. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  68. package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +6 -1
  69. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  70. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  71. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  72. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  73. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  74. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  75. package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -14
  76. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  77. package/daemon/dist/adapters/claude-code-adapter.js +43 -80
  78. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  79. package/daemon/dist/adapters/claude-resume-launch.d.ts +4 -0
  80. package/daemon/dist/adapters/claude-resume-launch.d.ts.map +1 -0
  81. package/daemon/dist/adapters/claude-resume-launch.js +13 -0
  82. package/daemon/dist/adapters/claude-resume-launch.js.map +1 -0
  83. package/daemon/dist/adapters/claude-resume.d.ts +2 -1
  84. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  85. package/daemon/dist/adapters/claude-resume.js +9 -4
  86. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  87. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +35 -0
  88. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  89. package/daemon/dist/adapters/codex-runtime-adapter.js +94 -44
  90. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  91. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  92. package/daemon/dist/adapters/pi-runner.js +6 -3
  93. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  94. package/daemon/dist/adapters/pi-runtime-adapter.js +1 -1
  95. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  96. package/daemon/dist/adapters/tmux-server.d.ts +15 -0
  97. package/daemon/dist/adapters/tmux-server.d.ts.map +1 -0
  98. package/daemon/dist/adapters/tmux-server.js +58 -0
  99. package/daemon/dist/adapters/tmux-server.js.map +1 -0
  100. package/daemon/dist/adapters/tmux.d.ts +26 -1
  101. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  102. package/daemon/dist/adapters/tmux.js +130 -7
  103. package/daemon/dist/adapters/tmux.js.map +1 -1
  104. package/daemon/dist/build-info.js +3 -3
  105. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  106. package/daemon/dist/db/all-migrations.js +6 -0
  107. package/daemon/dist/db/all-migrations.js.map +1 -1
  108. package/daemon/dist/db/migrations/099_queue_items_recovery_tags.d.ts +3 -0
  109. package/daemon/dist/db/migrations/099_queue_items_recovery_tags.d.ts.map +1 -0
  110. package/daemon/dist/db/migrations/099_queue_items_recovery_tags.js +19 -0
  111. package/daemon/dist/db/migrations/099_queue_items_recovery_tags.js.map +1 -0
  112. package/daemon/dist/db/migrations/101_claude_resume_rotation.d.ts +3 -0
  113. package/daemon/dist/db/migrations/101_claude_resume_rotation.d.ts.map +1 -0
  114. package/daemon/dist/db/migrations/101_claude_resume_rotation.js +19 -0
  115. package/daemon/dist/db/migrations/101_claude_resume_rotation.js.map +1 -0
  116. package/daemon/dist/db/migrations/103_session_stop_intent.d.ts +4 -0
  117. package/daemon/dist/db/migrations/103_session_stop_intent.d.ts.map +1 -0
  118. package/daemon/dist/db/migrations/103_session_stop_intent.js +9 -0
  119. package/daemon/dist/db/migrations/103_session_stop_intent.js.map +1 -0
  120. package/daemon/dist/domain/active-occupant.d.ts +14 -0
  121. package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
  122. package/daemon/dist/domain/active-occupant.js +17 -0
  123. package/daemon/dist/domain/active-occupant.js.map +1 -1
  124. package/daemon/dist/domain/agent-activity-store.js +3 -0
  125. package/daemon/dist/domain/agent-activity-store.js.map +1 -1
  126. package/daemon/dist/domain/bootstrap-repository.js +1 -1
  127. package/daemon/dist/domain/bootstrap-repository.js.map +1 -1
  128. package/daemon/dist/domain/chat-repository.d.ts +3 -0
  129. package/daemon/dist/domain/chat-repository.d.ts.map +1 -1
  130. package/daemon/dist/domain/chat-repository.js +15 -4
  131. package/daemon/dist/domain/chat-repository.js.map +1 -1
  132. package/daemon/dist/domain/claude-managed-launch.d.ts +1 -1
  133. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -1
  134. package/daemon/dist/domain/claude-managed-launch.js +3 -2
  135. package/daemon/dist/domain/claude-managed-launch.js.map +1 -1
  136. package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
  137. package/daemon/dist/domain/cmux-layout-service.js +2 -1
  138. package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
  139. package/daemon/dist/domain/codex-git-add-dirs.js +1 -1
  140. package/daemon/dist/domain/codex-git-add-dirs.js.map +1 -1
  141. package/daemon/dist/domain/codex-network-default.d.ts +3 -0
  142. package/daemon/dist/domain/codex-network-default.d.ts.map +1 -1
  143. package/daemon/dist/domain/codex-network-default.js +1 -1
  144. package/daemon/dist/domain/codex-network-default.js.map +1 -1
  145. package/daemon/dist/domain/codex-pane-patterns.d.ts +2 -0
  146. package/daemon/dist/domain/codex-pane-patterns.d.ts.map +1 -0
  147. package/daemon/dist/domain/codex-pane-patterns.js +5 -0
  148. package/daemon/dist/domain/codex-pane-patterns.js.map +1 -0
  149. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  150. package/daemon/dist/domain/context-monitor.js +46 -22
  151. package/daemon/dist/domain/context-monitor.js.map +1 -1
  152. package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
  153. package/daemon/dist/domain/context-usage-store.js +6 -1
  154. package/daemon/dist/domain/context-usage-store.js.map +1 -1
  155. package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -1
  156. package/daemon/dist/domain/crash-cart-conductor.js +3 -1
  157. package/daemon/dist/domain/crash-cart-conductor.js.map +1 -1
  158. package/daemon/dist/domain/cwd-resolution.d.ts +8 -0
  159. package/daemon/dist/domain/cwd-resolution.d.ts.map +1 -1
  160. package/daemon/dist/domain/cwd-resolution.js +24 -3
  161. package/daemon/dist/domain/cwd-resolution.js.map +1 -1
  162. package/daemon/dist/domain/files/file-read.d.ts.map +1 -1
  163. package/daemon/dist/domain/files/file-read.js +11 -3
  164. package/daemon/dist/domain/files/file-read.js.map +1 -1
  165. package/daemon/dist/domain/gateway/connections-projection.d.ts +1 -1
  166. package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -1
  167. package/daemon/dist/domain/gateway/slack/channel-recovery.js +4 -3
  168. package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -1
  169. package/daemon/dist/domain/gateway/slack/inbound.d.ts +21 -2
  170. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  171. package/daemon/dist/domain/gateway/slack/inbound.js +70 -11
  172. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  173. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +4 -0
  174. package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
  175. package/daemon/dist/domain/gateway/slack/slack-delivery.js +1 -1
  176. package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
  177. package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
  178. package/daemon/dist/domain/gateway/slack/slack-subsystem.js +7 -4
  179. package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
  180. package/daemon/dist/domain/history-query.d.ts.map +1 -1
  181. package/daemon/dist/domain/history-query.js +8 -6
  182. package/daemon/dist/domain/history-query.js.map +1 -1
  183. package/daemon/dist/domain/human-questions.d.ts +4 -1
  184. package/daemon/dist/domain/human-questions.d.ts.map +1 -1
  185. package/daemon/dist/domain/human-questions.js.map +1 -1
  186. package/daemon/dist/domain/install-engine.js +2 -2
  187. package/daemon/dist/domain/install-engine.js.map +1 -1
  188. package/daemon/dist/domain/native-process-lineage.d.ts +57 -4
  189. package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
  190. package/daemon/dist/domain/native-process-lineage.js +277 -42
  191. package/daemon/dist/domain/native-process-lineage.js.map +1 -1
  192. package/daemon/dist/domain/node-cmux-service.d.ts.map +1 -1
  193. package/daemon/dist/domain/node-cmux-service.js +2 -1
  194. package/daemon/dist/domain/node-cmux-service.js.map +1 -1
  195. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  196. package/daemon/dist/domain/node-inventory.js +71 -18
  197. package/daemon/dist/domain/node-inventory.js.map +1 -1
  198. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  199. package/daemon/dist/domain/node-launcher.js +2 -1
  200. package/daemon/dist/domain/node-launcher.js.map +1 -1
  201. package/daemon/dist/domain/pane-cutover.d.ts +27 -0
  202. package/daemon/dist/domain/pane-cutover.d.ts.map +1 -0
  203. package/daemon/dist/domain/pane-cutover.js +37 -0
  204. package/daemon/dist/domain/pane-cutover.js.map +1 -0
  205. package/daemon/dist/domain/parent-session-env.d.ts +8 -0
  206. package/daemon/dist/domain/parent-session-env.d.ts.map +1 -0
  207. package/daemon/dist/domain/parent-session-env.js +37 -0
  208. package/daemon/dist/domain/parent-session-env.js.map +1 -0
  209. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -0
  210. package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
  211. package/daemon/dist/domain/policies/parked-owner-consumer.js +81 -11
  212. package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
  213. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  214. package/daemon/dist/domain/profile-resolver.js +2 -3
  215. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  216. package/daemon/dist/domain/progress/progress-indexer.d.ts.map +1 -1
  217. package/daemon/dist/domain/progress/progress-indexer.js +19 -0
  218. package/daemon/dist/domain/progress/progress-indexer.js.map +1 -1
  219. package/daemon/dist/domain/proof/judgments.d.ts +10 -5
  220. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  221. package/daemon/dist/domain/proof/judgments.js +27 -19
  222. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  223. package/daemon/dist/domain/provider/codex-limit-banner.d.ts +40 -0
  224. package/daemon/dist/domain/provider/codex-limit-banner.d.ts.map +1 -0
  225. package/daemon/dist/domain/provider/codex-limit-banner.js +168 -0
  226. package/daemon/dist/domain/provider/codex-limit-banner.js.map +1 -0
  227. package/daemon/dist/domain/provider/codex-usage-reader.d.ts +31 -0
  228. package/daemon/dist/domain/provider/codex-usage-reader.d.ts.map +1 -0
  229. package/daemon/dist/domain/provider/codex-usage-reader.js +115 -0
  230. package/daemon/dist/domain/provider/codex-usage-reader.js.map +1 -0
  231. package/daemon/dist/domain/provider/codex-usage-windows.d.ts +78 -0
  232. package/daemon/dist/domain/provider/codex-usage-windows.d.ts.map +1 -0
  233. package/daemon/dist/domain/provider/codex-usage-windows.js +259 -0
  234. package/daemon/dist/domain/provider/codex-usage-windows.js.map +1 -0
  235. package/daemon/dist/domain/provider/provider-service-impl.d.ts +10 -0
  236. package/daemon/dist/domain/provider/provider-service-impl.d.ts.map +1 -1
  237. package/daemon/dist/domain/provider/provider-service-impl.js +27 -1
  238. package/daemon/dist/domain/provider/provider-service-impl.js.map +1 -1
  239. package/daemon/dist/domain/provider/provider-service.d.ts +5 -0
  240. package/daemon/dist/domain/provider/provider-service.d.ts.map +1 -1
  241. package/daemon/dist/domain/provider/provider-types.d.ts +65 -0
  242. package/daemon/dist/domain/provider/provider-types.d.ts.map +1 -1
  243. package/daemon/dist/domain/ps-projection.d.ts +5 -2
  244. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  245. package/daemon/dist/domain/ps-projection.js +29 -26
  246. package/daemon/dist/domain/ps-projection.js.map +1 -1
  247. package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
  248. package/daemon/dist/domain/queue-recovery.js +10 -3
  249. package/daemon/dist/domain/queue-recovery.js.map +1 -1
  250. package/daemon/dist/domain/queue-repository.d.ts +68 -13
  251. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  252. package/daemon/dist/domain/queue-repository.js +72 -43
  253. package/daemon/dist/domain/queue-repository.js.map +1 -1
  254. package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
  255. package/daemon/dist/domain/queue-stuck-sweep.js +26 -9
  256. package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
  257. package/daemon/dist/domain/queue-wake-ladder.d.ts +17 -0
  258. package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
  259. package/daemon/dist/domain/queue-wake-ladder.js +49 -3
  260. package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
  261. package/daemon/dist/domain/restore-check-service.d.ts +8 -0
  262. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  263. package/daemon/dist/domain/restore-check-service.js +12 -3
  264. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  265. package/daemon/dist/domain/restore-guidance.d.ts +39 -0
  266. package/daemon/dist/domain/restore-guidance.d.ts.map +1 -0
  267. package/daemon/dist/domain/restore-guidance.js +163 -0
  268. package/daemon/dist/domain/restore-guidance.js.map +1 -0
  269. package/daemon/dist/domain/restore-orchestrator.d.ts +10 -1
  270. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  271. package/daemon/dist/domain/restore-orchestrator.js +192 -9
  272. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  273. package/daemon/dist/domain/restore-plan-preview.d.ts +4 -0
  274. package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
  275. package/daemon/dist/domain/restore-plan-preview.js +14 -3
  276. package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
  277. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  278. package/daemon/dist/domain/rigspec-preflight.js +7 -6
  279. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  280. package/daemon/dist/domain/runtime-adapter.d.ts +3 -0
  281. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  282. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  283. package/daemon/dist/domain/scope/scope-view-projection.d.ts +4 -2
  284. package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
  285. package/daemon/dist/domain/scope/scope-view-projection.js +11 -11
  286. package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
  287. package/daemon/dist/domain/seat-attention-reconciler.d.ts +5 -2
  288. package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
  289. package/daemon/dist/domain/seat-attention-reconciler.js +18 -4
  290. package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
  291. package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
  292. package/daemon/dist/domain/seat-identity-reconciler.js +7 -2
  293. package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
  294. package/daemon/dist/domain/seat-lifecycle-service.d.ts +117 -2
  295. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  296. package/daemon/dist/domain/seat-lifecycle-service.js +335 -74
  297. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  298. package/daemon/dist/domain/seat-restart-in-place.d.ts +292 -0
  299. package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -0
  300. package/daemon/dist/domain/seat-restart-in-place.js +895 -0
  301. package/daemon/dist/domain/seat-restart-in-place.js.map +1 -0
  302. package/daemon/dist/domain/seat-status-service.d.ts +2 -1
  303. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  304. package/daemon/dist/domain/seat-status-service.js +1 -0
  305. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  306. package/daemon/dist/domain/seat-structural-activity-service.d.ts +9 -1
  307. package/daemon/dist/domain/seat-structural-activity-service.d.ts.map +1 -1
  308. package/daemon/dist/domain/seat-structural-activity-service.js +27 -4
  309. package/daemon/dist/domain/seat-structural-activity-service.js.map +1 -1
  310. package/daemon/dist/domain/seat-switch-client-service.d.ts.map +1 -1
  311. package/daemon/dist/domain/seat-switch-client-service.js +2 -1
  312. package/daemon/dist/domain/seat-switch-client-service.js.map +1 -1
  313. package/daemon/dist/domain/session-fingerprinter.d.ts.map +1 -1
  314. package/daemon/dist/domain/session-fingerprinter.js +9 -5
  315. package/daemon/dist/domain/session-fingerprinter.js.map +1 -1
  316. package/daemon/dist/domain/session-registry.d.ts +49 -0
  317. package/daemon/dist/domain/session-registry.d.ts.map +1 -1
  318. package/daemon/dist/domain/session-registry.js +92 -5
  319. package/daemon/dist/domain/session-registry.js.map +1 -1
  320. package/daemon/dist/domain/session-transport.d.ts +46 -4
  321. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  322. package/daemon/dist/domain/session-transport.js +492 -26
  323. package/daemon/dist/domain/session-transport.js.map +1 -1
  324. package/daemon/dist/domain/startup-orchestrator.d.ts +10 -0
  325. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  326. package/daemon/dist/domain/startup-orchestrator.js +41 -4
  327. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  328. package/daemon/dist/domain/successor-session-launcher.d.ts +3 -7
  329. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  330. package/daemon/dist/domain/successor-session-launcher.js +6 -32
  331. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  332. package/daemon/dist/domain/terminal/terminal-service.d.ts +5 -1
  333. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
  334. package/daemon/dist/domain/terminal/terminal-service.js +30 -4
  335. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  336. package/daemon/dist/domain/terminal/view-composer.d.ts +6 -0
  337. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  338. package/daemon/dist/domain/terminal/view-composer.js +2 -1
  339. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  340. package/daemon/dist/domain/transcript-store.js +1 -1
  341. package/daemon/dist/domain/transcript-store.js.map +1 -1
  342. package/daemon/dist/domain/types.d.ts +38 -0
  343. package/daemon/dist/domain/types.d.ts.map +1 -1
  344. package/daemon/dist/domain/types.js +5 -0
  345. package/daemon/dist/domain/types.js.map +1 -1
  346. package/daemon/dist/domain/usage-series.d.ts.map +1 -1
  347. package/daemon/dist/domain/usage-series.js +9 -4
  348. package/daemon/dist/domain/usage-series.js.map +1 -1
  349. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  350. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  351. package/daemon/dist/domain/user-settings/settings-store.js +44 -0
  352. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  353. package/daemon/dist/domain/view-projector.d.ts +4 -0
  354. package/daemon/dist/domain/view-projector.d.ts.map +1 -1
  355. package/daemon/dist/domain/view-projector.js +19 -4
  356. package/daemon/dist/domain/view-projector.js.map +1 -1
  357. package/daemon/dist/domain/wake-resolver.js +2 -2
  358. package/daemon/dist/domain/wake-resolver.js.map +1 -1
  359. package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
  360. package/daemon/dist/domain/watchdog-jobs-repository.js +19 -3
  361. package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
  362. package/daemon/dist/domain/whoami-service.d.ts +4 -1
  363. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  364. package/daemon/dist/domain/whoami-service.js +25 -19
  365. package/daemon/dist/domain/whoami-service.js.map +1 -1
  366. package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
  367. package/daemon/dist/domain/workspace/project-read.d.ts +2 -0
  368. package/daemon/dist/domain/workspace/project-read.d.ts.map +1 -1
  369. package/daemon/dist/domain/workspace/project-read.js +19 -8
  370. package/daemon/dist/domain/workspace/project-read.js.map +1 -1
  371. package/daemon/dist/index.d.ts.map +1 -1
  372. package/daemon/dist/index.js +6 -0
  373. package/daemon/dist/index.js.map +1 -1
  374. package/daemon/dist/routes/activity.d.ts.map +1 -1
  375. package/daemon/dist/routes/activity.js +33 -1
  376. package/daemon/dist/routes/activity.js.map +1 -1
  377. package/daemon/dist/routes/chat.d.ts.map +1 -1
  378. package/daemon/dist/routes/chat.js +29 -4
  379. package/daemon/dist/routes/chat.js.map +1 -1
  380. package/daemon/dist/routes/projects.d.ts.map +1 -1
  381. package/daemon/dist/routes/projects.js +5 -1
  382. package/daemon/dist/routes/projects.js.map +1 -1
  383. package/daemon/dist/routes/proof.d.ts.map +1 -1
  384. package/daemon/dist/routes/proof.js +99 -10
  385. package/daemon/dist/routes/proof.js.map +1 -1
  386. package/daemon/dist/routes/provider.d.ts.map +1 -1
  387. package/daemon/dist/routes/provider.js +31 -0
  388. package/daemon/dist/routes/provider.js.map +1 -1
  389. package/daemon/dist/routes/query-limit.d.ts +19 -0
  390. package/daemon/dist/routes/query-limit.d.ts.map +1 -0
  391. package/daemon/dist/routes/query-limit.js +24 -0
  392. package/daemon/dist/routes/query-limit.js.map +1 -0
  393. package/daemon/dist/routes/queue.d.ts.map +1 -1
  394. package/daemon/dist/routes/queue.js +35 -12
  395. package/daemon/dist/routes/queue.js.map +1 -1
  396. package/daemon/dist/routes/rig-cmux.js +8 -10
  397. package/daemon/dist/routes/rig-cmux.js.map +1 -1
  398. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  399. package/daemon/dist/routes/rigs.js +11 -7
  400. package/daemon/dist/routes/rigs.js.map +1 -1
  401. package/daemon/dist/routes/scopes.d.ts.map +1 -1
  402. package/daemon/dist/routes/scopes.js +5 -3
  403. package/daemon/dist/routes/scopes.js.map +1 -1
  404. package/daemon/dist/routes/seat.d.ts.map +1 -1
  405. package/daemon/dist/routes/seat.js +32 -0
  406. package/daemon/dist/routes/seat.js.map +1 -1
  407. package/daemon/dist/routes/stream.d.ts.map +1 -1
  408. package/daemon/dist/routes/stream.js +5 -1
  409. package/daemon/dist/routes/stream.js.map +1 -1
  410. package/daemon/dist/routes/up.d.ts.map +1 -1
  411. package/daemon/dist/routes/up.js +2 -1
  412. package/daemon/dist/routes/up.js.map +1 -1
  413. package/daemon/dist/routes/views.d.ts.map +1 -1
  414. package/daemon/dist/routes/views.js +7 -1
  415. package/daemon/dist/routes/views.js.map +1 -1
  416. package/daemon/dist/startup.d.ts.map +1 -1
  417. package/daemon/dist/startup.js +30 -1
  418. package/daemon/dist/startup.js.map +1 -1
  419. package/daemon/docs/reference/agent-startup-guide.md +19 -0
  420. package/daemon/docs/reference/getting-started.md +10 -6
  421. package/daemon/docs/reference/keeping-a-watch.md +156 -0
  422. package/daemon/docs/reference/rig-spec.md +2 -2
  423. package/daemon/docs/reference/sdlc-conventions.md +11 -1
  424. package/daemon/docs/reference/slack-app-setup.md +12 -4
  425. package/daemon/docs/reference/whats-new.md +151 -74
  426. package/daemon/specs/agents/development/qa/guidance/role.md +9 -0
  427. package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +1 -1
  428. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +2 -2
  429. package/daemon/specs/rigs/launch/factory/CULTURE.md +13 -0
  430. package/daemon/specs/rigs/launch/factory/guidance/lead-first-move.md +18 -5
  431. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +20 -1
  432. package/daemon/specs/rigs/launch/starter/CULTURE.md +13 -0
  433. package/daemon/specs/rigs/launch/starter/guidance/lead-first-move.md +18 -5
  434. package/dist/build-info.js +3 -3
  435. package/dist/cli-error.d.ts.map +1 -1
  436. package/dist/cli-error.js +2 -0
  437. package/dist/cli-error.js.map +1 -1
  438. package/dist/commands/add.d.ts.map +1 -1
  439. package/dist/commands/add.js +55 -4
  440. package/dist/commands/add.js.map +1 -1
  441. package/dist/commands/capture.d.ts +9 -0
  442. package/dist/commands/capture.d.ts.map +1 -1
  443. package/dist/commands/capture.js +93 -41
  444. package/dist/commands/capture.js.map +1 -1
  445. package/dist/commands/config.d.ts.map +1 -1
  446. package/dist/commands/config.js +6 -1
  447. package/dist/commands/config.js.map +1 -1
  448. package/dist/commands/daemon.d.ts.map +1 -1
  449. package/dist/commands/daemon.js +44 -3
  450. package/dist/commands/daemon.js.map +1 -1
  451. package/dist/commands/down.d.ts.map +1 -1
  452. package/dist/commands/down.js +1 -50
  453. package/dist/commands/down.js.map +1 -1
  454. package/dist/commands/env.d.ts.map +1 -1
  455. package/dist/commands/env.js +6 -0
  456. package/dist/commands/env.js.map +1 -1
  457. package/dist/commands/heartbeat.js +2 -2
  458. package/dist/commands/heartbeat.js.map +1 -1
  459. package/dist/commands/proof.d.ts.map +1 -1
  460. package/dist/commands/proof.js +11 -5
  461. package/dist/commands/proof.js.map +1 -1
  462. package/dist/commands/provider.d.ts.map +1 -1
  463. package/dist/commands/provider.js +72 -0
  464. package/dist/commands/provider.js.map +1 -1
  465. package/dist/commands/ps.d.ts +7 -0
  466. package/dist/commands/ps.d.ts.map +1 -1
  467. package/dist/commands/ps.js +20 -6
  468. package/dist/commands/ps.js.map +1 -1
  469. package/dist/commands/queue.d.ts +48 -5
  470. package/dist/commands/queue.d.ts.map +1 -1
  471. package/dist/commands/queue.js +215 -45
  472. package/dist/commands/queue.js.map +1 -1
  473. package/dist/commands/scope.d.ts.map +1 -1
  474. package/dist/commands/scope.js +57 -36
  475. package/dist/commands/scope.js.map +1 -1
  476. package/dist/commands/seat.d.ts.map +1 -1
  477. package/dist/commands/seat.js +167 -10
  478. package/dist/commands/seat.js.map +1 -1
  479. package/dist/commands/setup.d.ts +6 -0
  480. package/dist/commands/setup.d.ts.map +1 -1
  481. package/dist/commands/setup.js +100 -44
  482. package/dist/commands/setup.js.map +1 -1
  483. package/dist/commands/start.d.ts.map +1 -1
  484. package/dist/commands/start.js +9 -4
  485. package/dist/commands/start.js.map +1 -1
  486. package/dist/commands/up.d.ts.map +1 -1
  487. package/dist/commands/up.js +10 -0
  488. package/dist/commands/up.js.map +1 -1
  489. package/dist/commands/usage.d.ts.map +1 -1
  490. package/dist/commands/usage.js +10 -5
  491. package/dist/commands/usage.js.map +1 -1
  492. package/dist/commands/workflow.d.ts.map +1 -1
  493. package/dist/commands/workflow.js +8 -8
  494. package/dist/commands/workflow.js.map +1 -1
  495. package/dist/config-store.d.ts +8 -1
  496. package/dist/config-store.d.ts.map +1 -1
  497. package/dist/config-store.js +57 -0
  498. package/dist/config-store.js.map +1 -1
  499. package/dist/daemon-lifecycle.d.ts +4 -0
  500. package/dist/daemon-lifecycle.d.ts.map +1 -1
  501. package/dist/daemon-lifecycle.js +16 -4
  502. package/dist/daemon-lifecycle.js.map +1 -1
  503. package/dist/lib/scope/capability-delta.d.ts.map +1 -1
  504. package/dist/lib/scope/capability-delta.js +8 -0
  505. package/dist/lib/scope/capability-delta.js.map +1 -1
  506. package/dist/lib/scope/mission-composition.d.ts +5 -1
  507. package/dist/lib/scope/mission-composition.d.ts.map +1 -1
  508. package/dist/lib/scope/mission-composition.js +61 -1
  509. package/dist/lib/scope/mission-composition.js.map +1 -1
  510. package/dist/lib/scope/progress-edit.js +1 -1
  511. package/dist/lib/scope/progress-edit.js.map +1 -1
  512. package/dist/lib/scope/scope-fs.d.ts +2 -1
  513. package/dist/lib/scope/scope-fs.d.ts.map +1 -1
  514. package/dist/lib/scope/scope-fs.js +7 -7
  515. package/dist/lib/scope/scope-fs.js.map +1 -1
  516. package/dist/lib/scope/slice-claims.d.ts +8 -0
  517. package/dist/lib/scope/slice-claims.d.ts.map +1 -0
  518. package/dist/lib/scope/slice-claims.js +88 -0
  519. package/dist/lib/scope/slice-claims.js.map +1 -0
  520. package/dist/queue-receipt.d.ts +41 -0
  521. package/dist/queue-receipt.d.ts.map +1 -0
  522. package/dist/queue-receipt.js +272 -0
  523. package/dist/queue-receipt.js.map +1 -0
  524. package/dist/rig-handle.d.ts +45 -0
  525. package/dist/rig-handle.d.ts.map +1 -0
  526. package/dist/rig-handle.js +51 -0
  527. package/dist/rig-handle.js.map +1 -0
  528. package/dist/system-preflight.d.ts +5 -0
  529. package/dist/system-preflight.d.ts.map +1 -1
  530. package/dist/system-preflight.js +8 -0
  531. package/dist/system-preflight.js.map +1 -1
  532. package/dist/terminal-window.d.ts.map +1 -1
  533. package/dist/terminal-window.js +3 -1
  534. package/dist/terminal-window.js.map +1 -1
  535. package/package.json +1 -1
  536. package/tui/dist/config/config-model.d.ts.map +1 -1
  537. package/tui/dist/config/config-model.js +3 -0
  538. package/tui/dist/config/config-model.js.map +1 -1
  539. package/tui/dist/daemon-client.d.ts +3 -0
  540. package/tui/dist/daemon-client.d.ts.map +1 -1
  541. package/tui/dist/daemon-client.js +4 -1
  542. package/tui/dist/daemon-client.js.map +1 -1
  543. package/tui/dist/detail.d.ts.map +1 -1
  544. package/tui/dist/detail.js +6 -1
  545. package/tui/dist/detail.js.map +1 -1
  546. package/tui/dist/hydrate.d.ts.map +1 -1
  547. package/tui/dist/hydrate.js +30 -21
  548. package/tui/dist/hydrate.js.map +1 -1
  549. package/tui/dist/input.d.ts.map +1 -1
  550. package/tui/dist/input.js +15 -4
  551. package/tui/dist/input.js.map +1 -1
  552. package/tui/dist/local-reading.js +2 -2
  553. package/tui/dist/local-reading.js.map +1 -1
  554. package/tui/dist/pulse/pulse-model.d.ts +1 -0
  555. package/tui/dist/pulse/pulse-model.d.ts.map +1 -1
  556. package/tui/dist/pulse/pulse-model.js +7 -3
  557. package/tui/dist/pulse/pulse-model.js.map +1 -1
  558. package/tui/dist/pulse/render-pulse.d.ts.map +1 -1
  559. package/tui/dist/pulse/render-pulse.js +3 -1
  560. package/tui/dist/pulse/render-pulse.js.map +1 -1
  561. package/tui/dist/reading.d.ts.map +1 -1
  562. package/tui/dist/reading.js +14 -3
  563. package/tui/dist/reading.js.map +1 -1
  564. package/tui/dist/render.d.ts.map +1 -1
  565. package/tui/dist/render.js +26 -11
  566. package/tui/dist/render.js.map +1 -1
  567. package/tui/dist/types.d.ts +3 -0
  568. package/tui/dist/types.d.ts.map +1 -1
  569. package/ui/dist/assets/{index-D5n8EwkG.js → index-DhmxKuZf.js} +159 -159
  570. package/ui/dist/index.html +1 -1
@@ -61,8 +61,9 @@ function workspaceOf(dir, io, required = true) {
61
61
  export function resolveProjectRoot(dir) {
62
62
  return workspaceOf(dir, proofFs);
63
63
  }
64
- function policyOf(dir, io, readManifest = manifest) {
65
- const root = workspaceOf(dir, io, false);
64
+ function policyOf(dir, io, readManifest = manifest, rootOverride) {
65
+ // A selected catalog project bounds the search at its own root: an ancestor's project.yaml is another project.
66
+ const root = rootOverride ?? workspaceOf(dir, io, false);
66
67
  for (let p = path.resolve(dir);; p = path.dirname(p)) {
67
68
  for (const name of ["slice.yaml", "mission.yaml", "project.yaml"]) {
68
69
  const file = path.join(p, name), doc = readManifest(io, file);
@@ -80,6 +81,8 @@ function policyOf(dir, io, readManifest = manifest) {
80
81
  return null;
81
82
  }
82
83
  }
84
+ /** The uncached policy reader, with the optional project-root boundary. */
85
+ const defaultPolicyRead = (dir, io, root) => policyOf(dir, io, manifest, root);
83
86
  /** One synchronous read composition owns this reader, then discards it. Only
84
87
  * policy manifest inputs (including absence) are reused, by absolute path and
85
88
  * exact I/O provider. Never retain across requests or pass through a mutation.
@@ -87,7 +90,7 @@ function policyOf(dir, io, readManifest = manifest) {
87
90
  * Errors still throw with their original source. This is not an atomic snapshot. */
88
91
  export function createProofPolicyRead() {
89
92
  const inputs = new WeakMap();
90
- return (dir, io) => policyOf(dir, io, (provider, file) => {
93
+ return (dir, io, root) => policyOf(dir, io, (provider, file) => {
91
94
  let files = inputs.get(provider);
92
95
  if (!files) {
93
96
  files = new Map();
@@ -96,7 +99,7 @@ export function createProofPolicyRead() {
96
99
  if (!files.has(file))
97
100
  files.set(file, manifest(provider, file));
98
101
  return files.get(file);
99
- });
102
+ }, root);
100
103
  }
101
104
  export function readProofContract(dir, io) {
102
105
  const files = { prd: "IMPLEMENTATION-PRD.md", readme: "README.md", spec: "SPEC.md" };
@@ -172,19 +175,21 @@ export function evidenceAt(root, dir, ref) {
172
175
  }
173
176
  return { ref: path.relative(fs.realpathSync(root), target).split(path.sep).join("/") + (fragment ? `#${fragment}` : ""), sha256: createHash("sha256").update(addressed).digest("hex") };
174
177
  }
175
- export function readSliceReadiness(dir, io = proofFs, readPolicy = policyOf) {
178
+ /** `root` (a selected catalog project's root) bounds the policy search and the scope identity; without it they derive
179
+ * from the nearest project.yaml, as for the selected workspace. */
180
+ export function readSliceReadiness(dir, io = proofFs, readPolicy = defaultPolicyRead, root) {
176
181
  let policy = null, receipts = [], items = [];
177
182
  const issues = [];
178
183
  let policyRead = false;
179
184
  try {
180
- policy = readPolicy(dir, io);
185
+ policy = readPolicy(dir, io, root);
181
186
  policyRead = true;
182
187
  receipts = ledger(dir, io);
183
- const root = workspaceOf(dir, io, false), promises = readProofContract(dir, io);
188
+ const scopeRoot = root ?? workspaceOf(dir, io, false), promises = readProofContract(dir, io);
184
189
  if (new Set(promises.map(p => p.id)).size !== promises.length)
185
190
  throw new JudgmentError("item_ambiguous", "Repeated item identity; give distinct promises explicit <!-- proof-item: id --> markers");
186
191
  items = promises.map(p => {
187
- const scope = path.relative(root, dir).split(path.sep).join("/");
192
+ const scope = path.relative(scopeRoot, dir).split(path.sep).join("/");
188
193
  const revision = hash([scope, p.id, p.text, policy?.revision ?? null]);
189
194
  const judgment = receipts.filter(r => r.itemId === p.id).at(-1) ?? null;
190
195
  let state = "pending", reason = "No current attributed judgment";
@@ -206,9 +211,9 @@ export function readSliceReadiness(dir, io = proofFs, readPolicy = policyOf) {
206
211
  if (!e || typeof e.ref !== "string" || typeof e.sha256 !== "string")
207
212
  return false;
208
213
  try {
209
- const address = parseAddress(e.ref), file = path.resolve(root, address.ref);
214
+ const address = parseAddress(e.ref), file = path.resolve(scopeRoot, address.ref);
210
215
  if (io.readBytes)
211
- contained(root, file);
216
+ contained(scopeRoot, file);
212
217
  const bytes = io.readBytes ? io.readBytes(file) : io.readFile(file);
213
218
  if (bytes === null)
214
219
  return false;
@@ -252,13 +257,16 @@ export function resolveProofScope(root, scope) {
252
257
  * @param provenance - Attestation provenance string recorded in the ledger.
253
258
  * @returns Recorded judgment receipt, current slice readiness, and replay status.
254
259
  */
255
- export function recordJudgment(missionsRoot, input, actor, provenance) {
256
- const dir = resolveProofScope(missionsRoot, input.scope), root = workspaceOf(dir, proofFs);
260
+ /** `projectRoot` (the selected catalog project's root) is the boundary for evidence containment, the policy search and
261
+ * the recorded scope identity. Without it the nearest project.yaml is used, which for a catalog project without its own
262
+ * manifest would be an ANCESTOR, i.e. another project (CWE-22). */
263
+ export function recordJudgment(missionsRoot, input, actor, provenance, projectRoot) {
264
+ const dir = resolveProofScope(missionsRoot, input.scope), root = projectRoot ? contained(projectRoot, dir) && path.resolve(projectRoot) : workspaceOf(dir, proofFs);
257
265
  if (path.basename(path.dirname(dir)) !== "slices")
258
266
  throw new JudgmentError("slice_required", "Item judgments belong to a slice; higher outcome judgments remain workflow decisions");
259
267
  if (!fs.statSync(dir).isDirectory())
260
268
  throw new JudgmentError("scope_missing", "Select a slice directory");
261
- const current = readSliceReadiness(dir);
269
+ const current = readSliceReadiness(dir, proofFs, defaultPolicyRead, projectRoot);
262
270
  if (!current.policy)
263
271
  throw new JudgmentError("policy_required", "Author proofPolicy.judges at the slice, mission or project before judging");
264
272
  if (!current.policy.judges.includes(actor))
@@ -295,7 +303,7 @@ export function recordJudgment(missionsRoot, input, actor, provenance) {
295
303
  if (priorOperation) {
296
304
  if (priorOperation.intent !== intent)
297
305
  throw new JudgmentError("operation_conflict", "Operation identity already records different contents", 409);
298
- return { judgment: priorOperation, readiness: readSliceReadiness(dir), replayed: true };
306
+ return { judgment: priorOperation, readiness: readSliceReadiness(dir, proofFs, defaultPolicyRead, projectRoot), replayed: true };
299
307
  }
300
308
  const latest = receipts.filter(r => r.itemId === item.id).at(-1);
301
309
  if (input.expectedRevision !== item.revision || input.expectedPrevious !== (latest?.id ?? null))
@@ -333,7 +341,7 @@ export function recordJudgment(missionsRoot, input, actor, provenance) {
333
341
  finally {
334
342
  fs.unlinkSync(temporary);
335
343
  }
336
- return { judgment, readiness: readSliceReadiness(dir), replayed: false };
344
+ return { judgment, readiness: readSliceReadiness(dir, proofFs, defaultPolicyRead, projectRoot), replayed: false };
337
345
  }
338
346
  /**
339
347
  * Evaluates readiness for a mission by reading its composition and resolving member slices.
@@ -342,7 +350,7 @@ export function recordJudgment(missionsRoot, input, actor, provenance) {
342
350
  * @param readPolicy - Reader function for determining applicable proof policy.
343
351
  * @returns Evaluated mission readiness, including revision, state, slices, and any issues.
344
352
  */
345
- export function readMissionReadiness(missionDir, readPolicy = policyOf) {
353
+ export function readMissionReadiness(missionDir, readPolicy = defaultPolicyRead, root) {
346
354
  const issues = [], slices = [];
347
355
  let historicalStatus = null;
348
356
  try {
@@ -361,7 +369,7 @@ export function readMissionReadiness(missionDir, readPolicy = policyOf) {
361
369
  const id = data?.metadata?.id ?? path.basename(dir);
362
370
  if (typeof id !== "string" || !id || slices.some(s => s.id === id))
363
371
  throw new JudgmentError("dependency_identity", `${member.path}: missing or repeated slice identity`);
364
- slices.push({ scope: path.basename(dir), id, readiness: readSliceReadiness(dir, proofFs, readPolicy), dependsOn: depends, eligible: null });
372
+ slices.push({ scope: path.basename(dir), id, readiness: readSliceReadiness(dir, proofFs, readPolicy, root), dependsOn: depends, eligible: null });
365
373
  }
366
374
  const memo = new Map();
367
375
  const visit = (s, visiting = new Set()) => {
@@ -392,8 +400,8 @@ export function readMissionReadiness(missionDir, readPolicy = policyOf) {
392
400
  const state = issues.length || slices.some(s => ["unknown", "legacy"].includes(s.readiness.state)) ? "unknown" : slices.length && slices.every(s => s.readiness.state === "ready") ? "ready" : "not-ready";
393
401
  return { revision: hash([slices, issues, historicalStatus]), state, slices, issues, historicalStatus };
394
402
  }
395
- export function readProjectReadiness(missionsRoot, readPolicy = policyOf) {
396
- const missions = fs.readdirSync(missionsRoot).filter(n => fs.statSync(path.join(missionsRoot, n)).isDirectory()).map(name => ({ name, ...readMissionReadiness(contained(missionsRoot, path.join(missionsRoot, name)), readPolicy) }));
403
+ export function readProjectReadiness(missionsRoot, readPolicy = defaultPolicyRead, root) {
404
+ const missions = fs.readdirSync(missionsRoot).filter(n => fs.statSync(path.join(missionsRoot, n)).isDirectory()).map(name => ({ name, ...readMissionReadiness(contained(missionsRoot, path.join(missionsRoot, name)), readPolicy, root) }));
397
405
  const active = missions.filter(m => ["active", "release-candidate"].includes(m.historicalStatus ?? ""));
398
406
  return { revision: hash(active), state: active.length && active.every(m => m.state === "ready") ? "ready" : active.some(m => m.state === "unknown") ? "unknown" : "not-ready", missions, basis: "Active mission readiness; distinct outcome judgment and publication remain separate" };
399
407
  }
@@ -1 +1 @@
1
- {"version":3,"file":"judgments.js","sourceRoot":"","sources":["../../../src/domain/proof/judgments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"judgments.js","sourceRoot":"","sources":["../../../src/domain/proof/judgments.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { type AgentActivityStore } from "../agent-activity-store.js";
2
+ /**
3
+ * Codex usage-limit banner detector (#763).
4
+ *
5
+ * The reactive tap only accepts a typed `at_limit` hook row, and no hook
6
+ * producer emits one for Codex — the limit surfaces solely as a pane banner.
7
+ * This module matches that banner and records it, so `rig provider signals`
8
+ * and seat status report what the seat itself shows.
9
+ */
10
+ export interface CodexLimitBanner {
11
+ /** The "try again at …" text exactly as observed, or null when absent. */
12
+ resetText: string | null;
13
+ /** The banner line, truncated — audit trail for the verdict. */
14
+ evidence: string;
15
+ }
16
+ /**
17
+ * Match the banner's own line form: the ■ marker must lead (after indent).
18
+ * An agent quoting the sentence, or an error line merely containing the
19
+ * words without the marker, never matches. A match inside a fenced code
20
+ * block is quoted agent output, not seat state. And the banner must still be
21
+ * the most recent content: anything below it other than the composer
22
+ * or footer (a user message, a reply, further output) means a recovered seat
23
+ * whose old banner merely scrolled into view — Codex prints a new banner at
24
+ * the bottom when the limit hits again, so that is still detected.
25
+ */
26
+ export declare function detectCodexLimitBanner(paneContent: string): CodexLimitBanner | null;
27
+ /**
28
+ * Forget a session's recorded banner. The poller calls this when a Codex
29
+ * seat shows no current banner: the episode is over, so a banner that
30
+ * appears later is new even if its reset text matches the old one.
31
+ */
32
+ export declare function clearRecordedBanner(sessionName: string): void;
33
+ export declare function recordCodexLimitBanner(deps: {
34
+ store: Pick<AgentActivityStore, "getLatestForNode" | "recordHookEvent">;
35
+ resolveGeneration: (sessionName: string) => string | null;
36
+ sessionName: string;
37
+ banner: CodexLimitBanner | null;
38
+ now?: () => Date;
39
+ }): boolean;
40
+ //# sourceMappingURL=codex-limit-banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-limit-banner.d.ts","sourceRoot":"","sources":["../../../src/domain/provider/codex-limit-banner.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAEpC;;;;;;;GAOG;AACH,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAYD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAgCnF;AA2DD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAE7D;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,iBAAiB,CAAC,CAAC;IACxE,iBAAiB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,GAAG,OAAO,CAuCV"}
@@ -0,0 +1,168 @@
1
+ import { CODEX_TURN_STATUS_PATTERN } from "../codex-pane-patterns.js";
2
+ import { AGENT_ACTIVITY_FRESHNESS_MS, } from "../agent-activity-store.js";
3
+ const BANNER_LINE_RE = /^\s*■ You've hit your usage limit\b/;
4
+ const RESET_RE = /try again at ([^.!\n]+)/i;
5
+ // Fenced code blocks: banner-shaped text an agent printed is quoted content,
6
+ // not the seat's own state.
7
+ const FENCE_RE = /^\s*```/;
8
+ // A prompt can be a draft composer or a submitted message; its suffix decides.
9
+ const INPUT_LINE_RE = /^\s*›(?:\s|$)/;
10
+ /**
11
+ * Match the banner's own line form: the ■ marker must lead (after indent).
12
+ * An agent quoting the sentence, or an error line merely containing the
13
+ * words without the marker, never matches. A match inside a fenced code
14
+ * block is quoted agent output, not seat state. And the banner must still be
15
+ * the most recent content: anything below it other than the composer
16
+ * or footer (a user message, a reply, further output) means a recovered seat
17
+ * whose old banner merely scrolled into view — Codex prints a new banner at
18
+ * the bottom when the limit hits again, so that is still detected.
19
+ */
20
+ export function detectCodexLimitBanner(paneContent) {
21
+ const lines = paneContent.split("\n");
22
+ for (let i = 0; i < lines.length; i++) {
23
+ const line = lines[i];
24
+ if (!BANNER_LINE_RE.test(line))
25
+ continue;
26
+ if (isFenced(lines, i))
27
+ continue;
28
+ // Once a banner is established, its following user blocks cannot supply
29
+ // output or alter quote boundaries. Keep initial banner recognition intact.
30
+ const after = withoutPromptContinuations(lines.slice(i + 1));
31
+ lines.splice(i + 1, after.length, ...after);
32
+ // The reset phrase can wrap onto the following lines in a capture — but
33
+ // only when the banner line doesn't carry it yet. A one-line banner with
34
+ // its reset text ends here: the next line is newer output, not a
35
+ // continuation, and is judged on its own below.
36
+ let blockEnd = i;
37
+ if (!RESET_RE.test(line)) {
38
+ for (let j = i + 1; j <= Math.min(i + 2, lines.length - 1); j++) {
39
+ if (RESET_RE.test(lines.slice(i, j + 1).join("\n"))) {
40
+ blockEnd = j;
41
+ break;
42
+ }
43
+ }
44
+ }
45
+ const window = lines.slice(i, blockEnd + 1).join("\n");
46
+ const reset = RESET_RE.exec(window);
47
+ if (!isMostRecent(lines, blockEnd))
48
+ continue;
49
+ return {
50
+ resetText: reset ? reset[1].trim() : null,
51
+ evidence: line.trim().slice(0, 200),
52
+ };
53
+ }
54
+ return null;
55
+ }
56
+ function withoutPromptContinuations(lines) {
57
+ // Codex renders draft continuations in a two-column gutter. Preserve the
58
+ // outer prompt as their boundary; nested markers, banners and fences are
59
+ // user text. Conservatively keep any deeper indentation inside that block.
60
+ let promptIndent = null;
61
+ let fenced = false;
62
+ return lines.map((line) => {
63
+ const indent = line.search(/\S/);
64
+ if (indent < 0)
65
+ return line;
66
+ if (promptIndent !== null && indent > promptIndent)
67
+ return "";
68
+ if (FENCE_RE.test(line))
69
+ fenced = !fenced;
70
+ promptIndent = !fenced && INPUT_LINE_RE.test(line) ? indent : null;
71
+ return line;
72
+ });
73
+ }
74
+ function isFenced(lines, index) {
75
+ let fenced = false;
76
+ for (let i = 0; i < index; i++) {
77
+ if (FENCE_RE.test(lines[i]))
78
+ fenced = !fenced;
79
+ }
80
+ return fenced;
81
+ }
82
+ function isMostRecent(lines, index) {
83
+ // Before the last possible composer, only blanks may follow the banner.
84
+ // A live turn-status row after that prompt proves it was submitted history,
85
+ // not an input boundary. Keep indented draft continuations as user text.
86
+ const after = lines.slice(index + 1);
87
+ let inputAt = after.length - 1;
88
+ while (inputAt >= 0 && !INPUT_LINE_RE.test(after[inputAt]))
89
+ inputAt--;
90
+ if (inputAt >= 0) {
91
+ const indent = after[inputAt].search(/\S/);
92
+ if (after.slice(inputAt + 1).some((line, offset) => {
93
+ const text = line.trimStart();
94
+ return line.length - text.length <= indent && CODEX_TURN_STATUS_PATTERN.test(text) &&
95
+ !isFenced(after, inputAt + 1 + offset);
96
+ }))
97
+ return false;
98
+ }
99
+ const tail = inputAt < 0 ? after : after.slice(0, inputAt);
100
+ return tail.every((line) => /^\s*$/.test(line));
101
+ }
102
+ /**
103
+ * Record a banner observation as a typed `at_limit` hook row. See
104
+ * `clearRecordedBanner` for how the same-banner memory is reset.
105
+ */
106
+ /**
107
+ * The reset text of the banner last recorded per session. A newer hook row
108
+ * clears the signal by superseding it; if the same banner is still visible
109
+ * afterwards, it is the same limit episode, not a new one — record again
110
+ * only when a new banner (different reset text) appears. Bounded so idle
111
+ * daemons cannot grow it without limit.
112
+ */
113
+ const lastRecordedBySession = new Map();
114
+ const LAST_RECORDED_CAP = 1000;
115
+ /**
116
+ * Forget a session's recorded banner. The poller calls this when a Codex
117
+ * seat shows no current banner: the episode is over, so a banner that
118
+ * appears later is new even if its reset text matches the old one.
119
+ */
120
+ export function clearRecordedBanner(sessionName) {
121
+ lastRecordedBySession.delete(sessionName);
122
+ }
123
+ export function recordCodexLimitBanner(deps) {
124
+ const nowFn = deps.now ?? (() => new Date());
125
+ const nowMs = nowFn().getTime();
126
+ const latest = deps.store.getLatestForNode({ sessionName: deps.sessionName });
127
+ if (!deps.banner) {
128
+ clearRecordedBanner(deps.sessionName);
129
+ const generation = deps.resolveGeneration(deps.sessionName);
130
+ // Only a newer, same-occupant capture can end the stored episode. A
131
+ // neutral notification supersedes the limit without inventing idle/work;
132
+ // the ordinary structural and motion evidence still decides the state.
133
+ if (latest?.rawEvent !== "at_limit" || latest.generation !== generation ||
134
+ !(nowMs > Date.parse(latest.eventAt ?? "")))
135
+ return false;
136
+ return deps.store.recordHookEvent({
137
+ runtime: "codex", sessionName: deps.sessionName,
138
+ hookEvent: "Notification", subtype: "usage_limit_cleared",
139
+ occurredAt: new Date(nowMs).toISOString(), generation,
140
+ }).ok;
141
+ }
142
+ if (latest?.rawEvent === "at_limit") {
143
+ // Still the reported episode: refresh only once the report ages out, so
144
+ // a night at the limit is a handful of rows, not thousands.
145
+ const eventMs = latest.eventAt ? Date.parse(latest.eventAt) : Number.NaN;
146
+ if (Number.isFinite(eventMs) && nowMs - eventMs < AGENT_ACTIVITY_FRESHNESS_MS)
147
+ return false;
148
+ }
149
+ else if (latest) {
150
+ if (lastRecordedBySession.get(deps.sessionName) === deps.banner.resetText)
151
+ return false;
152
+ }
153
+ deps.store.recordHookEvent({
154
+ runtime: "codex",
155
+ sessionName: deps.sessionName,
156
+ hookEvent: "at_limit",
157
+ subtype: deps.banner.resetText,
158
+ generation: deps.resolveGeneration(deps.sessionName),
159
+ });
160
+ lastRecordedBySession.set(deps.sessionName, deps.banner.resetText);
161
+ if (lastRecordedBySession.size > LAST_RECORDED_CAP) {
162
+ const oldest = lastRecordedBySession.keys().next();
163
+ if (!oldest.done)
164
+ lastRecordedBySession.delete(oldest.value);
165
+ }
166
+ return true;
167
+ }
168
+ //# sourceMappingURL=codex-limit-banner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-limit-banner.js","sourceRoot":"","sources":["../../../src/domain/provider/codex-limit-banner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export type CodexUsageFailureReason = "binary_not_found" | "spawn_failed" | "rpc_error" | "unrecognized_shape" | "timeout" | "child_exited" | "output_too_large";
2
+ /** The two raw answers, as the app-server sent them. Normalizing is the windows module's job. */
3
+ export type CodexUsageReadOutcome = {
4
+ ok: true;
5
+ observedAt: string;
6
+ account: unknown;
7
+ rateLimits: unknown;
8
+ } | {
9
+ ok: false;
10
+ at: string;
11
+ reason: CodexUsageFailureReason;
12
+ detail: string;
13
+ };
14
+ export type CodexUsageReader = () => Promise<CodexUsageReadOutcome>;
15
+ export interface CodexUsageReaderOptions {
16
+ /** The PATH, HOME and CODEX_HOME a seat session gets. */
17
+ launchPath?: string;
18
+ home?: string;
19
+ codexHome?: string;
20
+ /** Answers must arrive within this; then stdin EOF, and TERM/KILL of the reader's process group. */
21
+ deadlineMs?: number;
22
+ graceMs?: number;
23
+ maxOutputBytes?: number;
24
+ now?: () => string;
25
+ }
26
+ /** The app-server, with plugins and apps switched off for this read only (as `codex-network-default.ts`). */
27
+ export declare const CODEX_USAGE_READER_ARGS: string[];
28
+ /** Native reads take 25–35 s (Ops' readers); the refresh is bounded by the upper end. */
29
+ export declare const CODEX_USAGE_READ_DEADLINE_MS = 35000;
30
+ export declare function codexUsageReader(options?: CodexUsageReaderOptions): CodexUsageReader;
31
+ //# sourceMappingURL=codex-usage-reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-usage-reader.d.ts","sourceRoot":"","sources":["../../../src/domain/provider/codex-usage-reader.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,uBAAuB,GAC/B,kBAAkB,GAClB,cAAc,GACd,WAAW,GACX,oBAAoB,GACpB,SAAS,GACT,cAAc,GACd,kBAAkB,CAAC;AAEvB,iGAAiG;AACjG,MAAM,MAAM,qBAAqB,GAC7B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,OAAO,CAAA;CAAE,GACvE;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,uBAAuB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpE,MAAM,WAAW,uBAAuB;IACtC,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,6GAA6G;AAC7G,eAAO,MAAM,uBAAuB,UAA8E,CAAC;AAEnH,yFAAyF;AACzF,eAAO,MAAM,4BAA4B,QAAS,CAAC;AAMnD,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,GAAG,gBAAgB,CAwBxF"}