@openrig/cli 0.5.17 → 0.6.0

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 (399) hide show
  1. package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
  2. package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
  3. package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
  4. package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
  5. package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
  6. package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
  7. package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
  8. package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
  9. package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
  10. package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
  11. package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
  12. package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
  13. package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
  14. package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
  15. package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
  16. package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
  17. package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
  18. package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
  19. package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
  20. package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
  21. package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
  22. package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
  23. package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
  24. package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
  25. package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
  26. package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
  27. package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
  28. package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
  29. package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
  30. package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
  31. package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
  32. package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
  33. package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
  34. package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
  35. package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
  36. package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
  37. package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
  38. package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
  39. package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
  40. package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
  41. package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
  42. package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
  43. package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
  44. package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
  45. package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
  46. package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
  47. package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
  48. package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
  49. package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
  50. package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
  51. package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
  52. package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
  53. package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
  54. package/daemon/context-packs/world-example/manifest.yaml +1 -1
  55. package/daemon/context-packs/world-public/manifest.yaml +1 -1
  56. package/daemon/dist/adapters/claude-code-adapter.d.ts +3 -0
  57. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  58. package/daemon/dist/adapters/claude-code-adapter.js +36 -14
  59. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  60. package/daemon/dist/adapters/claude-resume.d.ts +3 -1
  61. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  62. package/daemon/dist/adapters/claude-resume.js +20 -6
  63. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  64. package/daemon/dist/adapters/codex-resume.d.ts +4 -1
  65. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  66. package/daemon/dist/adapters/codex-resume.js +8 -2
  67. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  68. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  69. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  70. package/daemon/dist/adapters/codex-runtime-adapter.js +16 -3
  71. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  72. package/daemon/dist/adapters/pi-runner.d.ts +1 -0
  73. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
  74. package/daemon/dist/adapters/pi-runner.js +7 -1
  75. package/daemon/dist/adapters/pi-runner.js.map +1 -1
  76. package/daemon/dist/adapters/tmux.d.ts +21 -1
  77. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  78. package/daemon/dist/adapters/tmux.js +141 -3
  79. package/daemon/dist/adapters/tmux.js.map +1 -1
  80. package/daemon/dist/adapters/yolo-mode.d.ts +3 -2
  81. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
  82. package/daemon/dist/adapters/yolo-mode.js +10 -2
  83. package/daemon/dist/adapters/yolo-mode.js.map +1 -1
  84. package/daemon/dist/build-info.js +3 -3
  85. package/daemon/dist/db/all-migrations.d.ts +1 -1
  86. package/daemon/dist/db/all-migrations.d.ts.map +1 -1
  87. package/daemon/dist/db/all-migrations.js +10 -2
  88. package/daemon/dist/db/all-migrations.js.map +1 -1
  89. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.d.ts +26 -0
  90. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.d.ts.map +1 -0
  91. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.js +66 -0
  92. package/daemon/dist/db/migrations/086_classification_fields_and_attempts.js.map +1 -0
  93. package/daemon/dist/db/migrations/087_seat_delivery_guard.d.ts +3 -0
  94. package/daemon/dist/db/migrations/087_seat_delivery_guard.d.ts.map +1 -0
  95. package/daemon/dist/db/migrations/087_seat_delivery_guard.js +31 -0
  96. package/daemon/dist/db/migrations/087_seat_delivery_guard.js.map +1 -0
  97. package/daemon/dist/db/migrations/088_node_permission_selections.d.ts +3 -0
  98. package/daemon/dist/db/migrations/088_node_permission_selections.d.ts.map +1 -0
  99. package/daemon/dist/db/migrations/088_node_permission_selections.js +16 -0
  100. package/daemon/dist/db/migrations/088_node_permission_selections.js.map +1 -0
  101. package/daemon/dist/db/migrations/089_classification_identity_provenance.d.ts +3 -0
  102. package/daemon/dist/db/migrations/089_classification_identity_provenance.d.ts.map +1 -0
  103. package/daemon/dist/db/migrations/089_classification_identity_provenance.js +6 -0
  104. package/daemon/dist/db/migrations/089_classification_identity_provenance.js.map +1 -0
  105. package/daemon/dist/domain/applied-launch-observation-store.d.ts +1 -1
  106. package/daemon/dist/domain/applied-launch-observation-store.d.ts.map +1 -1
  107. package/daemon/dist/domain/applied-launch-observation-store.js +6 -4
  108. package/daemon/dist/domain/applied-launch-observation-store.js.map +1 -1
  109. package/daemon/dist/domain/capture-observer.d.ts +130 -0
  110. package/daemon/dist/domain/capture-observer.d.ts.map +1 -0
  111. package/daemon/dist/domain/capture-observer.js +113 -0
  112. package/daemon/dist/domain/capture-observer.js.map +1 -0
  113. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  114. package/daemon/dist/domain/claim-service.js +24 -3
  115. package/daemon/dist/domain/claim-service.js.map +1 -1
  116. package/daemon/dist/domain/classification-attempts.d.ts +143 -0
  117. package/daemon/dist/domain/classification-attempts.d.ts.map +1 -0
  118. package/daemon/dist/domain/classification-attempts.js +316 -0
  119. package/daemon/dist/domain/classification-attempts.js.map +1 -0
  120. package/daemon/dist/domain/classification-sources.d.ts +44 -0
  121. package/daemon/dist/domain/classification-sources.d.ts.map +1 -0
  122. package/daemon/dist/domain/classification-sources.js +102 -0
  123. package/daemon/dist/domain/classification-sources.js.map +1 -0
  124. package/daemon/dist/domain/classifier-lease-manager.d.ts +15 -4
  125. package/daemon/dist/domain/classifier-lease-manager.d.ts.map +1 -1
  126. package/daemon/dist/domain/classifier-lease-manager.js +63 -21
  127. package/daemon/dist/domain/classifier-lease-manager.js.map +1 -1
  128. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -1
  129. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  130. package/daemon/dist/domain/claude-compaction-enforcer.js +36 -7
  131. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  132. package/daemon/dist/domain/claude-managed-launch.d.ts +28 -0
  133. package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -0
  134. package/daemon/dist/domain/claude-managed-launch.js +111 -0
  135. package/daemon/dist/domain/claude-managed-launch.js.map +1 -0
  136. package/daemon/dist/domain/codex-daemon-support.d.ts +16 -0
  137. package/daemon/dist/domain/codex-daemon-support.d.ts.map +1 -0
  138. package/daemon/dist/domain/codex-daemon-support.js +52 -0
  139. package/daemon/dist/domain/codex-daemon-support.js.map +1 -0
  140. package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
  141. package/daemon/dist/domain/gateway/connections-projection.js +6 -3
  142. package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
  143. package/daemon/dist/domain/gateway/slack/capabilities.d.ts +19 -0
  144. package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -0
  145. package/daemon/dist/domain/gateway/slack/capabilities.js +24 -0
  146. package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -0
  147. package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
  148. package/daemon/dist/domain/gateway/slack/config.js +2 -1
  149. package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
  150. package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
  151. package/daemon/dist/domain/gateway/slack/inbound.js +2 -1
  152. package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
  153. package/daemon/dist/domain/gateway/slack/manifest.d.ts +54 -0
  154. package/daemon/dist/domain/gateway/slack/manifest.d.ts.map +1 -0
  155. package/daemon/dist/domain/gateway/slack/manifest.js +55 -0
  156. package/daemon/dist/domain/gateway/slack/manifest.js.map +1 -0
  157. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +3 -2
  158. package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
  159. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +9 -5
  160. package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
  161. package/daemon/dist/domain/native-permission-selection.d.ts +13 -0
  162. package/daemon/dist/domain/native-permission-selection.d.ts.map +1 -0
  163. package/daemon/dist/domain/native-permission-selection.js +30 -0
  164. package/daemon/dist/domain/native-permission-selection.js.map +1 -0
  165. package/daemon/dist/domain/native-permission-store.d.ts +17 -0
  166. package/daemon/dist/domain/native-permission-store.d.ts.map +1 -0
  167. package/daemon/dist/domain/native-permission-store.js +36 -0
  168. package/daemon/dist/domain/native-permission-store.js.map +1 -0
  169. package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
  170. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  171. package/daemon/dist/domain/native-resume-probe.js +5 -2
  172. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  173. package/daemon/dist/domain/node-inventory.d.ts +3 -0
  174. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  175. package/daemon/dist/domain/node-inventory.js +2 -0
  176. package/daemon/dist/domain/node-inventory.js.map +1 -1
  177. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  178. package/daemon/dist/domain/node-launcher.js +6 -0
  179. package/daemon/dist/domain/node-launcher.js.map +1 -1
  180. package/daemon/dist/domain/outbox-handler.d.ts +25 -2
  181. package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
  182. package/daemon/dist/domain/outbox-handler.js +70 -1
  183. package/daemon/dist/domain/outbox-handler.js.map +1 -1
  184. package/daemon/dist/domain/permission-drift-observer.d.ts +1 -0
  185. package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
  186. package/daemon/dist/domain/permission-drift-observer.js +1 -1
  187. package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
  188. package/daemon/dist/domain/permission-drift.d.ts +10 -0
  189. package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
  190. package/daemon/dist/domain/permission-drift.js +29 -18
  191. package/daemon/dist/domain/permission-drift.js.map +1 -1
  192. package/daemon/dist/domain/project-classifier.d.ts +43 -0
  193. package/daemon/dist/domain/project-classifier.d.ts.map +1 -1
  194. package/daemon/dist/domain/project-classifier.js +141 -25
  195. package/daemon/dist/domain/project-classifier.js.map +1 -1
  196. package/daemon/dist/domain/proof/judgments.d.ts +16 -0
  197. package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
  198. package/daemon/dist/domain/proof/judgments.js +17 -1
  199. package/daemon/dist/domain/proof/judgments.js.map +1 -1
  200. package/daemon/dist/domain/queue-repository.d.ts +8 -0
  201. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  202. package/daemon/dist/domain/queue-repository.js +41 -14
  203. package/daemon/dist/domain/queue-repository.js.map +1 -1
  204. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  205. package/daemon/dist/domain/restore-orchestrator.js +28 -1
  206. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  207. package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
  208. package/daemon/dist/domain/resume-metadata-refresher.js +3 -1
  209. package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
  210. package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
  211. package/daemon/dist/domain/rig-lifecycle-service.js +7 -0
  212. package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
  213. package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
  214. package/daemon/dist/domain/rig-teardown.js +4 -0
  215. package/daemon/dist/domain/rig-teardown.js.map +1 -1
  216. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  217. package/daemon/dist/domain/rigspec-instantiator.js +36 -22
  218. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  219. package/daemon/dist/domain/runtime-adapter.d.ts +6 -0
  220. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  221. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  222. package/daemon/dist/domain/seat-delivery-guard.d.ts +64 -0
  223. package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -0
  224. package/daemon/dist/domain/seat-delivery-guard.js +224 -0
  225. package/daemon/dist/domain/seat-delivery-guard.js.map +1 -0
  226. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  227. package/daemon/dist/domain/seat-handover-service.js +19 -1
  228. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  229. package/daemon/dist/domain/seat-lifecycle-service.d.ts +16 -2
  230. package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
  231. package/daemon/dist/domain/seat-lifecycle-service.js +70 -0
  232. package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
  233. package/daemon/dist/domain/seat-status-service.d.ts +10 -0
  234. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  235. package/daemon/dist/domain/seat-status-service.js +13 -0
  236. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  237. package/daemon/dist/domain/session-transport.d.ts +19 -1
  238. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  239. package/daemon/dist/domain/session-transport.js +221 -23
  240. package/daemon/dist/domain/session-transport.js.map +1 -1
  241. package/daemon/dist/domain/shadow-capture.d.ts +97 -0
  242. package/daemon/dist/domain/shadow-capture.d.ts.map +1 -0
  243. package/daemon/dist/domain/shadow-capture.js +147 -0
  244. package/daemon/dist/domain/shadow-capture.js.map +1 -0
  245. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  246. package/daemon/dist/domain/startup-orchestrator.js +11 -0
  247. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  248. package/daemon/dist/domain/stream-classification-worker.d.ts +106 -0
  249. package/daemon/dist/domain/stream-classification-worker.d.ts.map +1 -0
  250. package/daemon/dist/domain/stream-classification-worker.js +265 -0
  251. package/daemon/dist/domain/stream-classification-worker.js.map +1 -0
  252. package/daemon/dist/domain/successor-session-launcher.d.ts +1 -0
  253. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  254. package/daemon/dist/domain/successor-session-launcher.js +4 -2
  255. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  256. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +7 -0
  257. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  258. package/daemon/dist/domain/terminal/herdr-adapter.js +119 -12
  259. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  260. package/daemon/dist/domain/terminal/terminal-provider.d.ts +5 -0
  261. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
  262. package/daemon/dist/domain/terminal/terminal-service.js +6 -6
  263. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
  264. package/daemon/dist/domain/terminal/view-composer.d.ts +6 -4
  265. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
  266. package/daemon/dist/domain/terminal/view-composer.js +5 -5
  267. package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
  268. package/daemon/dist/domain/types.d.ts +10 -0
  269. package/daemon/dist/domain/types.d.ts.map +1 -1
  270. package/daemon/dist/domain/types.js.map +1 -1
  271. package/daemon/dist/domain/watchdog-policy-engine.d.ts +3 -1
  272. package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
  273. package/daemon/dist/domain/watchdog-policy-engine.js +5 -3
  274. package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
  275. package/daemon/dist/gateway-slack-surface.d.ts +2 -0
  276. package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
  277. package/daemon/dist/gateway-slack-surface.js +2 -0
  278. package/daemon/dist/gateway-slack-surface.js.map +1 -1
  279. package/daemon/dist/routes/activity.d.ts.map +1 -1
  280. package/daemon/dist/routes/activity.js +28 -2
  281. package/daemon/dist/routes/activity.js.map +1 -1
  282. package/daemon/dist/routes/down.d.ts.map +1 -1
  283. package/daemon/dist/routes/down.js +3 -0
  284. package/daemon/dist/routes/down.js.map +1 -1
  285. package/daemon/dist/routes/gateway.d.ts.map +1 -1
  286. package/daemon/dist/routes/gateway.js +3 -0
  287. package/daemon/dist/routes/gateway.js.map +1 -1
  288. package/daemon/dist/routes/projects.d.ts.map +1 -1
  289. package/daemon/dist/routes/projects.js +205 -18
  290. package/daemon/dist/routes/projects.js.map +1 -1
  291. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  292. package/daemon/dist/routes/rigs.js +13 -5
  293. package/daemon/dist/routes/rigs.js.map +1 -1
  294. package/daemon/dist/routes/seat.d.ts.map +1 -1
  295. package/daemon/dist/routes/seat.js +78 -1
  296. package/daemon/dist/routes/seat.js.map +1 -1
  297. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  298. package/daemon/dist/routes/sessions.js +4 -1
  299. package/daemon/dist/routes/sessions.js.map +1 -1
  300. package/daemon/dist/routes/transport.d.ts.map +1 -1
  301. package/daemon/dist/routes/transport.js +9 -1
  302. package/daemon/dist/routes/transport.js.map +1 -1
  303. package/daemon/dist/server.d.ts +5 -0
  304. package/daemon/dist/server.d.ts.map +1 -1
  305. package/daemon/dist/server.js +3 -0
  306. package/daemon/dist/server.js.map +1 -1
  307. package/daemon/dist/startup.d.ts.map +1 -1
  308. package/daemon/dist/startup.js +32 -8
  309. package/daemon/dist/startup.js.map +1 -1
  310. package/daemon/dist/stream-classifier-surface.d.ts +6 -0
  311. package/daemon/dist/stream-classifier-surface.d.ts.map +1 -0
  312. package/daemon/dist/stream-classifier-surface.js +6 -0
  313. package/daemon/dist/stream-classifier-surface.js.map +1 -0
  314. package/daemon/dist/terminal/TerminalSessionBroker.d.ts +1 -0
  315. package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
  316. package/daemon/dist/terminal/TerminalSessionBroker.js +10 -6
  317. package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
  318. package/daemon/docs/reference/getting-started.md +63 -5
  319. package/daemon/docs/reference/rig-spec.md +6 -1
  320. package/daemon/docs/reference/slack-app-setup.md +90 -0
  321. package/daemon/docs/reference/stream-classifier-worker.md +244 -0
  322. package/daemon/policies/builtin/yolo.policy.md +5 -5
  323. package/daemon/specs/rigs/launch/kernel/rig.yaml +4 -0
  324. package/dist/build-info.js +3 -3
  325. package/dist/commands/doctor.d.ts.map +1 -1
  326. package/dist/commands/doctor.js +9 -6
  327. package/dist/commands/doctor.js.map +1 -1
  328. package/dist/commands/policy.d.ts.map +1 -1
  329. package/dist/commands/policy.js +8 -1
  330. package/dist/commands/policy.js.map +1 -1
  331. package/dist/commands/preflight.d.ts.map +1 -1
  332. package/dist/commands/preflight.js +2 -0
  333. package/dist/commands/preflight.js.map +1 -1
  334. package/dist/commands/project-jev.d.ts +115 -0
  335. package/dist/commands/project-jev.d.ts.map +1 -0
  336. package/dist/commands/project-jev.js +239 -0
  337. package/dist/commands/project-jev.js.map +1 -0
  338. package/dist/commands/project-worker.d.ts +96 -0
  339. package/dist/commands/project-worker.d.ts.map +1 -0
  340. package/dist/commands/project-worker.js +125 -0
  341. package/dist/commands/project-worker.js.map +1 -0
  342. package/dist/commands/project.d.ts +5 -1
  343. package/dist/commands/project.d.ts.map +1 -1
  344. package/dist/commands/project.js +161 -0
  345. package/dist/commands/project.js.map +1 -1
  346. package/dist/commands/seat.d.ts.map +1 -1
  347. package/dist/commands/seat.js +79 -0
  348. package/dist/commands/seat.js.map +1 -1
  349. package/dist/commands/send.d.ts.map +1 -1
  350. package/dist/commands/send.js +18 -5
  351. package/dist/commands/send.js.map +1 -1
  352. package/dist/commands/slack.d.ts +4 -1
  353. package/dist/commands/slack.d.ts.map +1 -1
  354. package/dist/commands/slack.js +41 -2
  355. package/dist/commands/slack.js.map +1 -1
  356. package/dist/commands/terminal.d.ts.map +1 -1
  357. package/dist/commands/terminal.js +2 -0
  358. package/dist/commands/terminal.js.map +1 -1
  359. package/dist/commands/walk.d.ts.map +1 -1
  360. package/dist/commands/walk.js +6 -0
  361. package/dist/commands/walk.js.map +1 -1
  362. package/dist/node-support.d.ts +12 -0
  363. package/dist/node-support.d.ts.map +1 -0
  364. package/dist/node-support.js +37 -0
  365. package/dist/node-support.js.map +1 -0
  366. package/dist/system-preflight.d.ts +2 -0
  367. package/dist/system-preflight.d.ts.map +1 -1
  368. package/dist/system-preflight.js +9 -10
  369. package/dist/system-preflight.js.map +1 -1
  370. package/package.json +3 -3
  371. package/scripts/check-abi.mjs +119 -65
  372. package/tui/dist/commands/registry.d.ts.map +1 -1
  373. package/tui/dist/commands/registry.js +3 -0
  374. package/tui/dist/commands/registry.js.map +1 -1
  375. package/tui/dist/connections/connections-model.d.ts +11 -1
  376. package/tui/dist/connections/connections-model.d.ts.map +1 -1
  377. package/tui/dist/connections/connections-model.js +28 -1
  378. package/tui/dist/connections/connections-model.js.map +1 -1
  379. package/tui/dist/daemon-client.d.ts +2 -0
  380. package/tui/dist/daemon-client.d.ts.map +1 -1
  381. package/tui/dist/daemon-client.js +1 -0
  382. package/tui/dist/daemon-client.js.map +1 -1
  383. package/tui/dist/hydrate.d.ts.map +1 -1
  384. package/tui/dist/hydrate.js +5 -0
  385. package/tui/dist/hydrate.js.map +1 -1
  386. package/tui/dist/main.js +16 -2
  387. package/tui/dist/main.js.map +1 -1
  388. package/tui/dist/print-for-copy.d.ts +36 -0
  389. package/tui/dist/print-for-copy.d.ts.map +1 -0
  390. package/tui/dist/print-for-copy.js +92 -0
  391. package/tui/dist/print-for-copy.js.map +1 -0
  392. package/tui/dist/render.d.ts.map +1 -1
  393. package/tui/dist/render.js +4 -1
  394. package/tui/dist/render.js.map +1 -1
  395. package/tui/dist/state.d.ts.map +1 -1
  396. package/tui/dist/state.js +2 -0
  397. package/tui/dist/state.js.map +1 -1
  398. package/tui/dist/types.d.ts +8 -0
  399. package/tui/dist/types.d.ts.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"outbox-handler.js","sourceRoot":"","sources":["../../src/domain/outbox-handler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"outbox-handler.js","sourceRoot":"","sources":["../../src/domain/outbox-handler.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { type PermissionDriftDiagnostic, type PermissionDriftFs } from "./permis
3
3
  export interface PermissionDriftReader {
4
4
  diagnose(nodeId: string): PermissionDriftDiagnostic | null;
5
5
  }
6
+ export declare function loadClaudePermissionModes(): Promise<string[] | null>;
6
7
  /** Warmed outside request handling; cold reads are immediate UNKNOWN. */
7
8
  export declare class ClaudePermissionModeCache {
8
9
  private readonly load;
@@ -1 +1 @@
1
- {"version":3,"file":"permission-drift-observer.d.ts","sourceRoot":"","sources":["../../src/domain/permission-drift-observer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAAC;CAC5D;AA2BD,yEAAyE;AACzE,qBAAa,yBAAyB;IAMlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAK;gBAGF,IAAI,GAAE,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAA6B,EAChE,KAAK,SAAS,EACd,GAAG,GAAE,MAAM,MAAiB;IAG/C,IAAI,IAAI,IAAI;IAYZ,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI;CAIxB;AAED,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAoBxD,qFAAqF;AACrF,qBAAa,uBAAwB,YAAW,qBAAqB;IAMjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAa;gBAGf,KAAK,EAAE;QACtB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACtB,EAAE,CAAC,EAAE,iBAAiB,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;QACjB,eAAe,CAAC,EAAE,yBAAyB,CAAC;QAC5C,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;IAcH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;CAc3D"}
1
+ {"version":3,"file":"permission-drift-observer.d.ts","sourceRoot":"","sources":["../../src/domain/permission-drift-observer.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAGL,KAAK,yBAAyB,EAC9B,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAAC;CAC5D;AAiBD,wBAAsB,yBAAyB,IAAI,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAQ1E;AAED,yEAAyE;AACzE,qBAAa,yBAAyB;IAMlC,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,GAAG;IAPtB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAK;gBAGF,IAAI,GAAE,MAAM,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAA6B,EAChE,KAAK,SAAS,EACd,GAAG,GAAE,MAAM,MAAiB;IAG/C,IAAI,IAAI,IAAI;IAYZ,IAAI,IAAI,MAAM,EAAE,GAAG,IAAI;CAIxB;AAED,KAAK,UAAU,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;AAoBxD,qFAAqF;AACrF,qBAAa,uBAAwB,YAAW,qBAAqB;IAMjE,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAgC;IAC7D,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAa;gBAGf,KAAK,EAAE;QACtB,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;QACtB,EAAE,CAAC,EAAE,iBAAiB,CAAC;QACvB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;QACjB,eAAe,CAAC,EAAE,yBAAyB,CAAC;QAC5C,UAAU,CAAC,EAAE,UAAU,CAAC;KACzB;IAcH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;CAc3D"}
@@ -20,7 +20,7 @@ function commandAvailable(command) {
20
20
  }
21
21
  return false;
22
22
  }
23
- async function loadClaudePermissionModes() {
23
+ export async function loadClaudePermissionModes() {
24
24
  return await new Promise((resolve) => {
25
25
  execFile("claude", ["--help"], {
26
26
  encoding: "utf8",
@@ -1 +1 @@
1
- {"version":3,"file":"permission-drift-observer.js","sourceRoot":"","sources":["../../src/domain/permission-drift-observer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-drift-observer.js","sourceRoot":"","sources":["../../src/domain/permission-drift-observer.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ export interface AppliedLaunchObservation {
6
6
  state: AppliedLaunchState;
7
7
  value: string | null;
8
8
  reason?: string;
9
+ /** Emitted Codex approval argument; null/absent does not infer a native default. */
10
+ approvalPolicy?: "never" | null;
9
11
  }
10
12
  export type TransportState = "healthy" | "connect" | "timeout" | "response";
11
13
  export type CwdReadState = "visible" | "denied" | "unknown";
@@ -36,6 +38,14 @@ export interface PermissionDriftDiagnostic {
36
38
  state: CommandPathState;
37
39
  };
38
40
  enforcement: RuntimeEnforcementDiagnostic;
41
+ /** File comparison only; neither a settings file nor an argument proves native enforcement. */
42
+ configuration?: {
43
+ comparison: EnforcementState;
44
+ expected: string | null;
45
+ observed: EffectiveClaudePermission | null;
46
+ sourcePath: string | null;
47
+ reason?: string;
48
+ };
39
49
  observedAt: string;
40
50
  }
41
51
  export interface PermissionDriftFs {
@@ -1 +1 @@
1
- {"version":3,"file":"permission-drift.d.ts","sourceRoot":"","sources":["../../src/domain/permission-drift.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAC/F,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAAC;IACrD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC;IACrC,OAAO,EAAE;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IACjC,WAAW,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACzC,WAAW,EAAE,4BAA4B,CAAC;IAC1C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAClD,iFAAiF;IACjF,qBAAqB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAQxE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAQ9E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAYzE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,wBAAwB,CAEhG;AAoJD,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACzC,EAAE,EAAE,iBAAiB,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,GAAG,yBAAyB,CAW5B;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,yBAAyB,GAAG,MAAM,CAkB1F"}
1
+ {"version":3,"file":"permission-drift.d.ts","sourceRoot":"","sources":["../../src/domain/permission-drift.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,iBAAiB,GAAG,YAAY,GAAG,SAAS,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;AAC/F,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,kBAAkB,CAAC;IAC1B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oFAAoF;IACpF,cAAc,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5D,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AACnE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,SAAS,CAAC;AAE/D,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,gBAAgB,CAAC;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI,CAAC;IACrD,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,CAAC;IACrC,OAAO,EAAE;QAAE,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;IACjC,WAAW,EAAE;QAAE,KAAK,EAAE,gBAAgB,CAAA;KAAE,CAAC;IACzC,WAAW,EAAE,4BAA4B,CAAC;IAC1C,+FAA+F;IAC/F,aAAa,CAAC,EAAE;QACd,UAAU,EAAE,gBAAgB,CAAC;QAC7B,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,QAAQ,EAAE,yBAAyB,GAAG,IAAI,CAAC;QAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAC1C,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAClD,iFAAiF;IACjF,qBAAqB,IAAI,MAAM,EAAE,GAAG,IAAI,CAAC;CAC1C;AAED,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAQxE;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,wBAAwB,CAU9E;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,wBAAwB,CAezE;AAED,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,GAAG,wBAAwB,CAEhG;AAyID,wBAAgB,sBAAsB,CAAC,KAAK,EAAE;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACzC,EAAE,EAAE,iBAAiB,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB,GAAG,yBAAyB,CA2B5B;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,yBAAyB,GAAG,MAAM,CAkB1F"}
@@ -11,21 +11,26 @@ export function parseClaudePermissionModes(help) {
11
11
  return values.length > 0 ? values : null;
12
12
  }
13
13
  export function observeClaudePermission(flag) {
14
- if (flag.trim() === "--permission-mode acceptEdits") {
15
- return { runtime: "claude-code", axis: "permission", state: "observed", value: "acceptEdits" };
14
+ const selected = /^--permission-mode ([A-Za-z][A-Za-z0-9]*)$/.exec(flag.trim());
15
+ if (selected) {
16
+ return { runtime: "claude-code", axis: "permission", state: "observed", value: selected[1],
17
+ reason: "emitted_launch_arguments" };
16
18
  }
17
19
  if (flag.trim() === "--dangerously-skip-permissions") {
18
- return { runtime: "claude-code", axis: "permission", state: "observed", value: "bypassPermissions" };
20
+ return { runtime: "claude-code", axis: "permission", state: "observed", value: "bypassPermissions", reason: "emitted_launch_arguments" };
19
21
  }
20
22
  return { runtime: "claude-code", axis: "permission", state: "unknown", value: null, reason: "unrecognized_launch_argument" };
21
23
  }
22
24
  export function observeCodexSandbox(arg) {
23
25
  const normalized = arg.trim().replace(/\s+/g, " ");
24
26
  if (normalized === "-s workspace-write") {
25
- return { runtime: "codex", axis: "sandbox", state: "observed", value: "workspace-write" };
27
+ return { runtime: "codex", axis: "sandbox", state: "observed", value: "workspace-write", reason: "emitted_launch_arguments" };
26
28
  }
27
29
  if (normalized === "-s danger-full-access") {
28
- return { runtime: "codex", axis: "sandbox", state: "observed", value: "danger-full-access" };
30
+ return { runtime: "codex", axis: "sandbox", state: "observed", value: "danger-full-access", reason: "emitted_launch_arguments" };
31
+ }
32
+ if (normalized === "-s danger-full-access -a never") {
33
+ return { runtime: "codex", axis: "sandbox", state: "observed", value: "danger-full-access", approvalPolicy: "never", reason: "emitted_launch_arguments" };
29
34
  }
30
35
  if (normalized.startsWith("-p ")) {
31
36
  return { runtime: "codex", axis: "sandbox", state: "unknown", value: null, reason: "named_profile_unresolved" };
@@ -86,16 +91,6 @@ function inspectClaude(cwd, applied, fs) {
86
91
  if (!applied || applied.runtime !== "claude-code" || applied.axis !== "permission" || applied.state !== "observed" || !expected) {
87
92
  return unknownEnforcement("permission", expected, sourcePath, applied?.reason ?? "applied_launch_unknown");
88
93
  }
89
- if (expected === "bypassPermissions") {
90
- return {
91
- axis: "permission",
92
- state: "aligned",
93
- expected,
94
- effective: expected,
95
- sourcePath: null,
96
- reason: "launch_bypasses_project_permissions",
97
- };
98
- }
99
94
  let raw;
100
95
  try {
101
96
  raw = fs.readFile(sourcePath);
@@ -171,14 +166,30 @@ function inspectLaunchBoundRuntime(runtime, applied) {
171
166
  };
172
167
  }
173
168
  export function diagnoseRuntimePosture(input) {
174
- const enforcement = input.runtime === "claude-code"
175
- ? inspectClaude(input.cwd, input.applied, input.fs)
176
- : inspectLaunchBoundRuntime(input.runtime, input.applied);
169
+ // This store records launch arguments, including older records without a reason.
170
+ // Preserve their bytes; generation matching does not prove native enforcement.
171
+ const applied = input.applied;
172
+ const launchArguments = applied?.state === "observed" && applied.runtime === input.runtime
173
+ && (input.runtime === "claude-code" || input.runtime === "codex");
174
+ const enforcement = launchArguments
175
+ ? unknownEnforcement(applied.axis, applied.value, null, "native_permission_effect_unverified")
176
+ : input.runtime === "claude-code"
177
+ ? inspectClaude(input.cwd, input.applied, input.fs)
178
+ : inspectLaunchBoundRuntime(input.runtime, input.applied);
179
+ const config = input.runtime === "claude-code" && launchArguments
180
+ ? inspectClaude(input.cwd, input.applied, input.fs) : null;
177
181
  return {
178
182
  transport: { state: "healthy" },
179
183
  cwdRead: { state: cwdReadState(input.fs, input.cwd) },
180
184
  commandPath: { state: commandPathState(input.fs, input.runtime) },
181
185
  enforcement,
186
+ ...(config ? { configuration: {
187
+ comparison: config.state,
188
+ expected: config.expected,
189
+ observed: typeof config.effective === "object" ? config.effective : null,
190
+ sourcePath: config.sourcePath,
191
+ ...(config.reason ? { reason: config.reason } : {}),
192
+ } } : {}),
182
193
  observedAt: (input.now?.() ?? new Date()).toISOString(),
183
194
  };
184
195
  }
@@ -1 +1 @@
1
- {"version":3,"file":"permission-drift.js","sourceRoot":"","sources":["../../src/domain/permission-drift.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-drift.js","sourceRoot":"","sources":["../../src/domain/permission-drift.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
+ import type { IdentityProvenance } from "../routes/require-sender-identity.js";
1
2
  import type Database from "better-sqlite3";
2
3
  import type { EventBus } from "./event-bus.js";
3
4
  import type { ClassifierLeaseManager } from "./classifier-lease-manager.js";
4
5
  /**
5
6
  * Project classifier (PL-004 Phase B; L2 Project / Classifier — write path).
7
+ * 0.6.0 S02 P1: results bind to a lease id and are validated inside the write
8
+ * transaction; four nullable label fields and version bindings (migration 086).
6
9
  *
7
10
  * Per PRD § L2 + slice IMPL § Guard Checkpoint Focus item 1+2+4:
8
11
  * - Lease validation via classifier-lease-manager (single-writer contract).
@@ -24,22 +27,55 @@ export interface ProjectClassification {
24
27
  classificationConfidence: string | null;
25
28
  classificationDestination: string | null;
26
29
  action: string | null;
30
+ /** 0.6.0 S02 fields (migration 086). NULL = unknown; rows before 086 are NULL. */
31
+ area: string | null;
32
+ scopeRef: string | null;
33
+ duplicateOfStreamItemId: string | null;
34
+ /** true / false only when the classifier stated it; null = unknown, never false. */
35
+ needsHuman: boolean | null;
36
+ /** Result binding (086): the lease and versions the label was produced under. */
37
+ leaseId: string | null;
38
+ classifierVersion: string | null;
39
+ taxonomyVersion: string | null;
40
+ candidateSetVersion: string | null;
27
41
  classifierSession: string;
28
42
  tsProjected: string;
43
+ identityProvenance: IdentityProvenance | null;
29
44
  }
30
45
  export interface ProjectClassifyInput {
46
+ identityProvenance?: IdentityProvenance;
31
47
  streamItemId: string;
32
48
  classifierSession: string;
49
+ /** Required (S02 P1): the lease this result was computed under. */
50
+ leaseId: string;
51
+ /**
52
+ * Optional attempt-ledger binding; marked `written` in the same transaction.
53
+ * Omit it for a manual classification (not ledger-bound).
54
+ */
55
+ attemptId?: string;
56
+ /** Required with attemptId: the executionId from the begin() that produced this result. */
57
+ executionId?: string;
33
58
  classificationType?: string;
34
59
  classificationUrgency?: string;
35
60
  classificationMaturity?: string;
36
61
  classificationConfidence?: string;
37
62
  classificationDestination?: string;
38
63
  action?: string;
64
+ area?: string;
65
+ scopeRef?: string;
66
+ duplicateOfStreamItemId?: string;
67
+ needsHuman?: boolean | null;
68
+ classifierVersion?: string;
69
+ taxonomyVersion?: string;
70
+ candidateSetVersion?: string;
39
71
  }
40
72
  export interface ProjectListOptions {
41
73
  classifierSession?: string;
42
74
  classificationDestination?: string;
75
+ area?: string;
76
+ scopeRef?: string;
77
+ /** "true" | "false" | "unknown" (NULL). */
78
+ needsHuman?: "true" | "false" | "unknown";
43
79
  limit?: number;
44
80
  }
45
81
  export declare class ProjectClassifierError extends Error {
@@ -66,6 +102,13 @@ export declare class ProjectClassifier {
66
102
  * 3. Emit project.classified event.
67
103
  */
68
104
  classify(input: ProjectClassifyInput): ProjectClassification;
105
+ private streamItemExists;
106
+ /**
107
+ * The attempt must be in flight under THIS lease, for THIS item and the same
108
+ * classifier/taxonomy versions the result claims. Marked `written` inside the
109
+ * classify transaction, so the ledger and the row can never disagree.
110
+ */
111
+ private bindAttemptWritten;
69
112
  getById(projectId: string): ProjectClassification | null;
70
113
  getByStreamItemId(streamItemId: string): ProjectClassification | null;
71
114
  list(opts?: ProjectListOptions): ProjectClassification[];
@@ -1 +1 @@
1
- {"version":3,"file":"project-classifier.d.ts","sourceRoot":"","sources":["../../src/domain/project-classifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAE3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAE5E;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,sBAAsB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAeD,qBAAa,sBAAuB,SAAQ,KAAK;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;gBACvC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAK1E;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAyB;IACtD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAG/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,sBAAsB,EACpC,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,IAAI,CAAA;KAAE;IAQ7B;;;;;;;;;OASG;IACH,QAAQ,CAAC,KAAK,EAAE,oBAAoB,GAAG,qBAAqB;IA2E5D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAOxD,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,qBAAqB,GAAG,IAAI;IAOrE,IAAI,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,qBAAqB,EAAE;IAsBxD,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,YAAY;CAcrB"}
1
+ {"version":3,"file":"project-classifier.d.ts","sourceRoot":"","sources":["../../src/domain/project-classifier.ts"],"names":[],"mappings":"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"}
@@ -30,39 +30,45 @@ export class ProjectClassifier {
30
30
  * 3. Emit project.classified event.
31
31
  */
32
32
  classify(input) {
33
- // Step 1: lease check. Throws ClassifierLeaseError on no_active_lease,
34
- // lease_held by other session, or lease_expired.
35
- this.leaseManager.requireActiveHolder(input.classifierSession);
36
- // R1 fix (BLOCKER 1): existence check on stream_item_id. The L1→L2
37
- // FK in migration 028 is a defense-in-depth safety net, but the SQLite
38
- // FK violation would surface as an opaque error string. Pre-checking
39
- // here gives a clean structured error (`unknown_stream_item`) that
40
- // routes can map to a 400-class status.
41
- const streamRow = this.db
42
- .prepare(`SELECT 1 FROM stream_items WHERE stream_item_id = ? LIMIT 1`)
43
- .get(input.streamItemId);
44
- if (!streamRow) {
45
- throw new ProjectClassifierError("unknown_stream_item", `stream_item_id ${input.streamItemId} does not exist in stream_items; emit it first via 'rig stream emit' or check the id`, { streamItemId: input.streamItemId });
46
- }
47
- // Pre-check idempotency for a clean error path (constraint violation
48
- // would also catch this but the SQLite error message is opaque).
49
- const existing = this.db
50
- .prepare(`SELECT * FROM project_classifications WHERE stream_item_id = ?`)
51
- .get(input.streamItemId);
52
- if (existing) {
53
- throw new ProjectClassifierError("idempotency_violation", `stream_item_id ${input.streamItemId} is already projected as project_id ${existing.project_id} by ${existing.classifier_session}`, { existingProjectId: existing.project_id, existingClassifier: existing.classifier_session });
54
- }
33
+ validateClassifyInput(input);
55
34
  const projectId = ulid();
56
35
  const tsProjected = this.now().toISOString();
36
+ // S02 P1: every check that decides whether this result may be written runs
37
+ // INSIDE the write transaction, so a lease replaced or expired between the
38
+ // check and the insert cannot let a late result through.
57
39
  const txn = this.db.transaction(() => {
40
+ // Lease: active, same session, same lease id, not expired.
41
+ this.leaseManager.requireActiveHolder(input.classifierSession, input.leaseId);
42
+ // R1 fix (BLOCKER 1): existence check on stream_item_id. The L1→L2
43
+ // FK in migration 028 is a defense-in-depth safety net, but the SQLite
44
+ // FK violation would surface as an opaque error string. Pre-checking
45
+ // here gives a clean structured error (`unknown_stream_item`) that
46
+ // routes can map to a 400-class status.
47
+ if (!this.streamItemExists(input.streamItemId)) {
48
+ throw new ProjectClassifierError("unknown_stream_item", `stream_item_id ${input.streamItemId} does not exist in stream_items; emit it first via 'rig stream emit' or check the id`, { streamItemId: input.streamItemId });
49
+ }
50
+ if (input.duplicateOfStreamItemId !== undefined && !this.streamItemExists(input.duplicateOfStreamItemId)) {
51
+ throw new ProjectClassifierError("invalid_duplicate_of", `duplicateOfStreamItemId ${input.duplicateOfStreamItemId} does not exist in stream_items`, { duplicateOfStreamItemId: input.duplicateOfStreamItemId });
52
+ }
53
+ // First-write-wins (unchanged): a second classify is a clean 409.
54
+ const existing = this.db
55
+ .prepare(`SELECT * FROM project_classifications WHERE stream_item_id = ?`)
56
+ .get(input.streamItemId);
57
+ if (existing) {
58
+ throw new ProjectClassifierError("idempotency_violation", `stream_item_id ${input.streamItemId} is already projected as project_id ${existing.project_id} by ${existing.classifier_session}`, { existingProjectId: existing.project_id, existingClassifier: existing.classifier_session });
59
+ }
60
+ if (input.attemptId !== undefined)
61
+ this.bindAttemptWritten(input);
58
62
  this.db
59
63
  .prepare(`INSERT INTO project_classifications (
60
64
  project_id, stream_item_id,
61
65
  classification_type, classification_urgency, classification_maturity,
62
66
  classification_confidence, classification_destination, action,
63
- classifier_session, ts_projected
64
- ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
65
- .run(projectId, input.streamItemId, input.classificationType ?? null, input.classificationUrgency ?? null, input.classificationMaturity ?? null, input.classificationConfidence ?? null, input.classificationDestination ?? null, input.action ?? null, input.classifierSession, tsProjected);
67
+ area, scope_ref, duplicate_of_stream_item_id, needs_human,
68
+ lease_id, classifier_version, taxonomy_version, candidate_set_version,
69
+ classifier_session, ts_projected, identity_provenance
70
+ ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`)
71
+ .run(projectId, input.streamItemId, input.classificationType ?? null, input.classificationUrgency ?? null, input.classificationMaturity ?? null, input.classificationConfidence ?? null, input.classificationDestination ?? null, input.action ?? null, input.area ?? null, input.scopeRef ?? null, input.duplicateOfStreamItemId ?? null, input.needsHuman === true ? 1 : input.needsHuman === false ? 0 : null, input.leaseId, input.classifierVersion ?? null, input.taxonomyVersion ?? null, input.candidateSetVersion ?? null, input.classifierSession, tsProjected, input.identityProvenance ?? null);
66
72
  return this.eventBus.persistWithinTransaction({
67
73
  type: "project.classified",
68
74
  projectId,
@@ -76,6 +82,38 @@ export class ProjectClassifier {
76
82
  this.eventBus.notifySubscribers(persisted);
77
83
  return this.getByIdOrThrow(projectId);
78
84
  }
85
+ streamItemExists(streamItemId) {
86
+ return this.db.prepare(`SELECT 1 FROM stream_items WHERE stream_item_id = ? LIMIT 1`).get(streamItemId) !== undefined;
87
+ }
88
+ /**
89
+ * The attempt must be in flight under THIS lease, for THIS item and the same
90
+ * classifier/taxonomy versions the result claims. Marked `written` inside the
91
+ * classify transaction, so the ledger and the row can never disagree.
92
+ */
93
+ bindAttemptWritten(input) {
94
+ const attempt = this.db
95
+ .prepare(`SELECT * FROM classification_attempts WHERE attempt_id = ?`)
96
+ .get(input.attemptId);
97
+ if (attempt && attempt.execution_id !== input.executionId) {
98
+ throw new ProjectClassifierError("attempt_superseded", "this execution was superseded by a newer execution of the attempt", {
99
+ attemptId: input.attemptId,
100
+ });
101
+ }
102
+ if (!attempt ||
103
+ attempt.status !== "in_flight" ||
104
+ attempt.lease_id !== input.leaseId ||
105
+ attempt.stream_item_id !== input.streamItemId ||
106
+ attempt.classifier_version !== input.classifierVersion ||
107
+ attempt.taxonomy_version !== input.taxonomyVersion) {
108
+ throw new ProjectClassifierError("attempt_mismatch", "attemptId is not in flight for this item, lease and versions", {
109
+ attemptId: input.attemptId,
110
+ attemptStatus: attempt?.status ?? null,
111
+ });
112
+ }
113
+ this.db
114
+ .prepare(`UPDATE classification_attempts SET status = 'written', retry_after = NULL, updated_at = ? WHERE attempt_id = ?`)
115
+ .run(this.now().toISOString(), attempt.attempt_id);
116
+ }
79
117
  getById(projectId) {
80
118
  const row = this.db
81
119
  .prepare(`SELECT * FROM project_classifications WHERE project_id = ?`)
@@ -100,6 +138,20 @@ export class ProjectClassifier {
100
138
  conditions.push("classification_destination = ?");
101
139
  params.push(opts.classificationDestination);
102
140
  }
141
+ if (opts?.area) {
142
+ conditions.push("area = ?");
143
+ params.push(opts.area);
144
+ }
145
+ if (opts?.scopeRef) {
146
+ conditions.push("scope_ref = ?");
147
+ params.push(opts.scopeRef);
148
+ }
149
+ if (opts?.needsHuman === "true")
150
+ conditions.push("needs_human = 1");
151
+ else if (opts?.needsHuman === "false")
152
+ conditions.push("needs_human = 0");
153
+ else if (opts?.needsHuman === "unknown")
154
+ conditions.push("needs_human IS NULL");
103
155
  const where = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
104
156
  params.push(limit);
105
157
  const rows = this.db
@@ -124,9 +176,73 @@ export class ProjectClassifier {
124
176
  classificationConfidence: row.classification_confidence,
125
177
  classificationDestination: row.classification_destination,
126
178
  action: row.action,
179
+ area: row.area ?? null,
180
+ scopeRef: row.scope_ref ?? null,
181
+ duplicateOfStreamItemId: row.duplicate_of_stream_item_id ?? null,
182
+ needsHuman: row.needs_human === 1 ? true : row.needs_human === 0 ? false : null,
183
+ leaseId: row.lease_id ?? null,
184
+ classifierVersion: row.classifier_version ?? null,
185
+ taxonomyVersion: row.taxonomy_version ?? null,
186
+ candidateSetVersion: row.candidate_set_version ?? null,
127
187
  classifierSession: row.classifier_session,
128
188
  tsProjected: row.ts_projected,
189
+ identityProvenance: row.identity_provenance ?? null,
129
190
  };
130
191
  }
131
192
  }
193
+ /** Consumed optional string fields: a string when supplied, never null/number/object. */
194
+ const OPTIONAL_STRING_FIELDS = [
195
+ "attemptId", "executionId",
196
+ "classificationType", "classificationUrgency", "classificationMaturity",
197
+ "classificationConfidence", "classificationDestination", "action",
198
+ "area", "scopeRef", "duplicateOfStreamItemId",
199
+ "classifierVersion", "taxonomyVersion", "candidateSetVersion",
200
+ ];
201
+ /** IDs and versions must also be non-blank; free-text label fields may be any string. */
202
+ const NON_BLANK_FIELDS = new Set([
203
+ "attemptId", "executionId", "scopeRef", "duplicateOfStreamItemId",
204
+ "classifierVersion", "taxonomyVersion", "candidateSetVersion",
205
+ ]);
206
+ /**
207
+ * Shape checks for consumed fields only (S02 P1). Label VALUES stay
208
+ * agent-authoritative; the daemon checks what code relies on, before any SQL.
209
+ * String-or-omitted everywhere except needsHuman (boolean, null = unknown, or omitted).
210
+ */
211
+ function validateClassifyInput(input) {
212
+ const raw = input;
213
+ if (input.identityProvenance !== undefined && !["transport:v1", "relay:v1", "claimed:v1", "origin-unknown:v1"].includes(input.identityProvenance)) {
214
+ throw new ProjectClassifierError("invalid_field", "unknown identity provenance", { field: "identityProvenance" });
215
+ }
216
+ for (const field of ["streamItemId", "classifierSession"]) {
217
+ if (typeof raw[field] !== "string" || raw[field].trim() === "") {
218
+ throw new ProjectClassifierError("invalid_field", `${field} must be a non-empty string`, { field });
219
+ }
220
+ }
221
+ if (typeof input.leaseId !== "string" || input.leaseId.trim() === "") {
222
+ throw new ProjectClassifierError("lease_id_required", "leaseId is required: bind the result to the lease it was computed under (rig project lease-acquire returns it)");
223
+ }
224
+ for (const field of OPTIONAL_STRING_FIELDS) {
225
+ const value = raw[field];
226
+ if (value === undefined)
227
+ continue;
228
+ if (typeof value !== "string" || (NON_BLANK_FIELDS.has(field) && value.trim() === "")) {
229
+ throw new ProjectClassifierError("invalid_field", `${field} must be ${NON_BLANK_FIELDS.has(field) ? "a non-empty string" : "a string"} when supplied`, { field });
230
+ }
231
+ }
232
+ if (input.needsHuman !== undefined && input.needsHuman !== null && typeof input.needsHuman !== "boolean") {
233
+ throw new ProjectClassifierError("invalid_needs_human", "needsHuman must be true, false or null (unknown)");
234
+ }
235
+ if (input.duplicateOfStreamItemId !== undefined && input.duplicateOfStreamItemId === input.streamItemId) {
236
+ throw new ProjectClassifierError("invalid_duplicate_of", "an item cannot be a duplicate of itself");
237
+ }
238
+ if (input.scopeRef !== undefined && !input.candidateSetVersion) {
239
+ throw new ProjectClassifierError("candidate_set_version_required", "scopeRef must be bound to the scope candidate-set version it was chosen from");
240
+ }
241
+ if (input.attemptId !== undefined && (!input.classifierVersion || !input.taxonomyVersion)) {
242
+ throw new ProjectClassifierError("attempt_versions_required", "a result bound to an attemptId must carry classifierVersion and taxonomyVersion");
243
+ }
244
+ if (input.attemptId !== undefined && input.executionId === undefined) {
245
+ throw new ProjectClassifierError("execution_id_required", "a result bound to an attemptId must carry the executionId returned by its begin()");
246
+ }
247
+ }
132
248
  //# sourceMappingURL=project-classifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-classifier.js","sourceRoot":"","sources":["../../src/domain/project-classifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-classifier.js","sourceRoot":"","sources":["../../src/domain/project-classifier.ts"],"names":[],"mappings":"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"}
@@ -117,11 +117,27 @@ export interface JudgeInput {
117
117
  operationId?: string;
118
118
  replace?: boolean;
119
119
  }
120
+ /**
121
+ * Records a verifiable proof judgment for a slice item into the judgments ledger.
122
+ *
123
+ * @param missionsRoot - Workspace root path for resolving scopes.
124
+ * @param input - Judgment details including scope, item, verdict, and evidence.
125
+ * @param actor - Identifier of the judging actor authorized under the proof policy.
126
+ * @param provenance - Attestation provenance string recorded in the ledger.
127
+ * @returns Recorded judgment receipt, current slice readiness, and replay status.
128
+ */
120
129
  export declare function recordJudgment(missionsRoot: string, input: JudgeInput, actor: string, provenance: string): {
121
130
  judgment: Judgment;
122
131
  readiness: ScopeReadiness;
123
132
  replayed: boolean;
124
133
  };
134
+ /**
135
+ * Evaluates readiness for a mission by reading its composition and resolving member slices.
136
+ *
137
+ * @param missionDir - Path to the mission directory containing mission.yaml.
138
+ * @param readPolicy - Reader function for determining applicable proof policy.
139
+ * @returns Evaluated mission readiness, including revision, state, slices, and any issues.
140
+ */
125
141
  export declare function readMissionReadiness(missionDir: string, readPolicy?: ProofPolicyRead): MissionReadiness;
126
142
  export declare function readProjectReadiness(missionsRoot: string, readPolicy?: ProofPolicyRead): {
127
143
  revision: string;