@openrig/cli 0.4.4 → 0.4.6

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 (431) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +6 -8
  2. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +86 -0
  3. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +158 -0
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +744 -96
  5. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  6. package/daemon/dist/adapters/codex-runtime-adapter.js +12 -8
  7. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  8. package/daemon/dist/adapters/pi-resume.d.ts +32 -0
  9. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -0
  10. package/daemon/dist/adapters/pi-resume.js +125 -0
  11. package/daemon/dist/adapters/pi-resume.js.map +1 -0
  12. package/daemon/dist/adapters/pi-runner-protocol.d.ts +88 -0
  13. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -0
  14. package/daemon/dist/adapters/pi-runner-protocol.js +153 -0
  15. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -0
  16. package/daemon/dist/adapters/pi-runner.d.ts +99 -0
  17. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -0
  18. package/daemon/dist/adapters/pi-runner.js +519 -0
  19. package/daemon/dist/adapters/pi-runner.js.map +1 -0
  20. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +61 -0
  21. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -0
  22. package/daemon/dist/adapters/pi-runtime-adapter.js +356 -0
  23. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -0
  24. package/daemon/dist/adapters/tmux.d.ts +22 -1
  25. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  26. package/daemon/dist/adapters/tmux.js +40 -1
  27. package/daemon/dist/adapters/tmux.js.map +1 -1
  28. package/daemon/dist/build-info.js +3 -3
  29. package/daemon/dist/builtins/workflow-specs/branched-remediation.yaml +31 -0
  30. package/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +152 -0
  31. package/daemon/dist/builtins/workflow-specs/gated-release.yaml +26 -0
  32. package/daemon/dist/builtins/workflow-specs/linear-build.yaml +21 -0
  33. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts +20 -0
  34. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts.map +1 -0
  35. package/daemon/dist/db/migrations/049_workflow_instance_version.js +24 -0
  36. package/daemon/dist/db/migrations/049_workflow_instance_version.js.map +1 -0
  37. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts +22 -0
  38. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts.map +1 -0
  39. package/daemon/dist/db/migrations/050_workflow_spec_json.js +26 -0
  40. package/daemon/dist/db/migrations/050_workflow_spec_json.js.map +1 -0
  41. package/daemon/dist/db/migrations/051_workflow_resume.d.ts +22 -0
  42. package/daemon/dist/db/migrations/051_workflow_resume.d.ts.map +1 -0
  43. package/daemon/dist/db/migrations/051_workflow_resume.js +27 -0
  44. package/daemon/dist/db/migrations/051_workflow_resume.js.map +1 -0
  45. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts +26 -0
  46. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts.map +1 -0
  47. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js +30 -0
  48. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js.map +1 -0
  49. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts +48 -0
  50. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts.map +1 -0
  51. package/daemon/dist/db/migrations/053_sessions_node_id_index.js +53 -0
  52. package/daemon/dist/db/migrations/053_sessions_node_id_index.js.map +1 -0
  53. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts +34 -0
  54. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/054_queue_transitions_archive.js +49 -0
  56. package/daemon/dist/db/migrations/054_queue_transitions_archive.js.map +1 -0
  57. package/daemon/dist/domain/claim-service.d.ts +11 -0
  58. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  59. package/daemon/dist/domain/claim-service.js +3 -1
  60. package/daemon/dist/domain/claim-service.js.map +1 -1
  61. package/daemon/dist/domain/discovery-types.d.ts +1 -1
  62. package/daemon/dist/domain/discovery-types.d.ts.map +1 -1
  63. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +1 -0
  64. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  65. package/daemon/dist/domain/hosts/hosts-registry-reader.js +19 -0
  66. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  67. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts +11 -0
  68. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -0
  69. package/daemon/dist/domain/hosts/hosts-registry-writer.js +54 -0
  70. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -0
  71. package/daemon/dist/domain/hosts/read-through.d.ts +28 -0
  72. package/daemon/dist/domain/hosts/read-through.d.ts.map +1 -0
  73. package/daemon/dist/domain/hosts/read-through.js +139 -0
  74. package/daemon/dist/domain/hosts/read-through.js.map +1 -0
  75. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +21 -0
  76. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  77. package/daemon/dist/domain/hosts/remote-daemon-http.js +49 -0
  78. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  79. package/daemon/dist/domain/node-inventory.d.ts +18 -0
  80. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  81. package/daemon/dist/domain/node-inventory.js +206 -95
  82. package/daemon/dist/domain/node-inventory.js.map +1 -1
  83. package/daemon/dist/domain/node-launcher.d.ts +11 -0
  84. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  85. package/daemon/dist/domain/node-launcher.js +10 -0
  86. package/daemon/dist/domain/node-launcher.js.map +1 -1
  87. package/daemon/dist/domain/policies/workflow-keepalive.d.ts +7 -0
  88. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  89. package/daemon/dist/domain/policies/workflow-keepalive.js +93 -13
  90. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  91. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  92. package/daemon/dist/domain/ps-projection.js +37 -26
  93. package/daemon/dist/domain/ps-projection.js.map +1 -1
  94. package/daemon/dist/domain/queue-repository.d.ts +105 -0
  95. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  96. package/daemon/dist/domain/queue-repository.js +193 -4
  97. package/daemon/dist/domain/queue-repository.js.map +1 -1
  98. package/daemon/dist/domain/queue-retention.d.ts +130 -0
  99. package/daemon/dist/domain/queue-retention.d.ts.map +1 -0
  100. package/daemon/dist/domain/queue-retention.js +224 -0
  101. package/daemon/dist/domain/queue-retention.js.map +1 -0
  102. package/daemon/dist/domain/restore-orchestrator.d.ts +5 -0
  103. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  104. package/daemon/dist/domain/restore-orchestrator.js +29 -2
  105. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  106. package/daemon/dist/domain/resume-token-capture.d.ts +13 -0
  107. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  108. package/daemon/dist/domain/resume-token-capture.js +14 -1
  109. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  110. package/daemon/dist/domain/resume-token-validation.d.ts +1 -1
  111. package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -1
  112. package/daemon/dist/domain/resume-token-validation.js +58 -10
  113. package/daemon/dist/domain/resume-token-validation.js.map +1 -1
  114. package/daemon/dist/domain/review/compose.d.ts +50 -1
  115. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  116. package/daemon/dist/domain/review/compose.js +92 -3
  117. package/daemon/dist/domain/review/compose.js.map +1 -1
  118. package/daemon/dist/domain/review/fleet-compose.d.ts +52 -0
  119. package/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -0
  120. package/daemon/dist/domain/review/fleet-compose.js +294 -0
  121. package/daemon/dist/domain/review/fleet-compose.js.map +1 -0
  122. package/daemon/dist/domain/review/gather.d.ts +16 -1
  123. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  124. package/daemon/dist/domain/review/gather.js +177 -41
  125. package/daemon/dist/domain/review/gather.js.map +1 -1
  126. package/daemon/dist/domain/review/types.d.ts +104 -1
  127. package/daemon/dist/domain/review/types.d.ts.map +1 -1
  128. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  129. package/daemon/dist/domain/rig-expansion-service.js +3 -0
  130. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  131. package/daemon/dist/domain/rig-repository.d.ts +7 -6
  132. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  133. package/daemon/dist/domain/rig-repository.js +33 -11
  134. package/daemon/dist/domain/rig-repository.js.map +1 -1
  135. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  136. package/daemon/dist/domain/rigspec-codec.js +3 -0
  137. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  138. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  139. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  140. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  141. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  142. package/daemon/dist/domain/rigspec-instantiator.js +11 -0
  143. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  144. package/daemon/dist/domain/rigspec-preflight.d.ts +6 -0
  145. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  146. package/daemon/dist/domain/rigspec-preflight.js +26 -1
  147. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  148. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  149. package/daemon/dist/domain/rigspec-schema.js +20 -1
  150. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  151. package/daemon/dist/domain/runtime-verifier.d.ts +7 -1
  152. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  153. package/daemon/dist/domain/runtime-verifier.js +39 -1
  154. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  155. package/daemon/dist/domain/seat-handover-service.d.ts +9 -0
  156. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  157. package/daemon/dist/domain/seat-handover-service.js +2 -0
  158. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  159. package/daemon/dist/domain/seat-identity-store.d.ts +7 -0
  160. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  161. package/daemon/dist/domain/seat-identity-store.js +27 -0
  162. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  163. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  164. package/daemon/dist/domain/seat-status-service.js +6 -4
  165. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  166. package/daemon/dist/domain/session-name.d.ts +22 -0
  167. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  168. package/daemon/dist/domain/session-name.js +29 -0
  169. package/daemon/dist/domain/session-name.js.map +1 -1
  170. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  171. package/daemon/dist/domain/slices/slice-detail-projector.js +4 -5
  172. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  173. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +18 -2
  174. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  175. package/daemon/dist/domain/spec-library-workflow-scanner.js +23 -1
  176. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  177. package/daemon/dist/domain/startup-proof.d.ts +10 -6
  178. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  179. package/daemon/dist/domain/startup-proof.js +35 -7
  180. package/daemon/dist/domain/startup-proof.js.map +1 -1
  181. package/daemon/dist/domain/successor-session-launcher.d.ts +16 -0
  182. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  183. package/daemon/dist/domain/successor-session-launcher.js +13 -0
  184. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  185. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +27 -0
  186. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -0
  187. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +67 -0
  188. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -0
  189. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +77 -0
  190. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -0
  191. package/daemon/dist/domain/terminal/herdr-adapter.js +266 -0
  192. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -0
  193. package/daemon/dist/domain/terminal/herdr-transport.d.ts +50 -0
  194. package/daemon/dist/domain/terminal/herdr-transport.d.ts.map +1 -0
  195. package/daemon/dist/domain/terminal/herdr-transport.js +145 -0
  196. package/daemon/dist/domain/terminal/herdr-transport.js.map +1 -0
  197. package/daemon/dist/domain/terminal/terminal-provider.d.ts +88 -0
  198. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -0
  199. package/daemon/dist/domain/terminal/terminal-provider.js +17 -0
  200. package/daemon/dist/domain/terminal/terminal-provider.js.map +1 -0
  201. package/daemon/dist/domain/terminal/terminal-service.d.ts +60 -0
  202. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -0
  203. package/daemon/dist/domain/terminal/terminal-service.js +174 -0
  204. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -0
  205. package/daemon/dist/domain/terminal/terminal-views-store.d.ts +77 -0
  206. package/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +1 -0
  207. package/daemon/dist/domain/terminal/terminal-views-store.js +146 -0
  208. package/daemon/dist/domain/terminal/terminal-views-store.js.map +1 -0
  209. package/daemon/dist/domain/terminal/view-composer.d.ts +42 -0
  210. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -0
  211. package/daemon/dist/domain/terminal/view-composer.js +137 -0
  212. package/daemon/dist/domain/terminal/view-composer.js.map +1 -0
  213. package/daemon/dist/domain/tmux-option-defaults.d.ts +89 -0
  214. package/daemon/dist/domain/tmux-option-defaults.d.ts.map +1 -0
  215. package/daemon/dist/domain/tmux-option-defaults.js +132 -0
  216. package/daemon/dist/domain/tmux-option-defaults.js.map +1 -0
  217. package/daemon/dist/domain/types.d.ts +34 -1
  218. package/daemon/dist/domain/types.d.ts.map +1 -1
  219. package/daemon/dist/domain/types.js.map +1 -1
  220. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  221. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  222. package/daemon/dist/domain/user-settings/settings-store.js +92 -0
  223. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  224. package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +1 -1
  225. package/daemon/dist/domain/workflow/slice-workflow-projection.js +6 -2
  226. package/daemon/dist/domain/workflow/slice-workflow-projection.js.map +1 -1
  227. package/daemon/dist/domain/workflow-boot-sweep.d.ts +28 -0
  228. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -0
  229. package/daemon/dist/domain/workflow-boot-sweep.js +102 -0
  230. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -0
  231. package/daemon/dist/domain/workflow-deadline.d.ts +74 -0
  232. package/daemon/dist/domain/workflow-deadline.d.ts.map +1 -0
  233. package/daemon/dist/domain/workflow-deadline.js +165 -0
  234. package/daemon/dist/domain/workflow-deadline.js.map +1 -0
  235. package/daemon/dist/domain/workflow-exception-escalation.d.ts +33 -0
  236. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -0
  237. package/daemon/dist/domain/workflow-exception-escalation.js +104 -0
  238. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -0
  239. package/daemon/dist/domain/workflow-exception-router.d.ts +33 -0
  240. package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -0
  241. package/daemon/dist/domain/workflow-exception-router.js +96 -0
  242. package/daemon/dist/domain/workflow-exception-router.js.map +1 -0
  243. package/daemon/dist/domain/workflow-exception.d.ts +90 -0
  244. package/daemon/dist/domain/workflow-exception.d.ts.map +1 -0
  245. package/daemon/dist/domain/workflow-exception.js +122 -0
  246. package/daemon/dist/domain/workflow-exception.js.map +1 -0
  247. package/daemon/dist/domain/workflow-frontier-guard.d.ts +24 -0
  248. package/daemon/dist/domain/workflow-frontier-guard.d.ts.map +1 -0
  249. package/daemon/dist/domain/workflow-frontier-guard.js +30 -0
  250. package/daemon/dist/domain/workflow-frontier-guard.js.map +1 -0
  251. package/daemon/dist/domain/workflow-instance-store.d.ts +28 -0
  252. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  253. package/daemon/dist/domain/workflow-instance-store.js +66 -10
  254. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  255. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +35 -0
  256. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -0
  257. package/daemon/dist/domain/workflow-keepalive-arming.js +87 -0
  258. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -0
  259. package/daemon/dist/domain/workflow-projector.d.ts +117 -2
  260. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  261. package/daemon/dist/domain/workflow-projector.js +672 -41
  262. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  263. package/daemon/dist/domain/workflow-role-context.d.ts +57 -0
  264. package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -0
  265. package/daemon/dist/domain/workflow-role-context.js +120 -0
  266. package/daemon/dist/domain/workflow-role-context.js.map +1 -0
  267. package/daemon/dist/domain/workflow-role-resolver.d.ts +65 -0
  268. package/daemon/dist/domain/workflow-role-resolver.d.ts.map +1 -0
  269. package/daemon/dist/domain/workflow-role-resolver.js +108 -0
  270. package/daemon/dist/domain/workflow-role-resolver.js.map +1 -0
  271. package/daemon/dist/domain/workflow-runtime.d.ts +157 -1
  272. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  273. package/daemon/dist/domain/workflow-runtime.js +718 -11
  274. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  275. package/daemon/dist/domain/workflow-spec-cache.d.ts +26 -1
  276. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  277. package/daemon/dist/domain/workflow-spec-cache.js +327 -13
  278. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  279. package/daemon/dist/domain/workflow-types.d.ts +143 -8
  280. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  281. package/daemon/dist/domain/workflow-types.js +14 -1
  282. package/daemon/dist/domain/workflow-types.js.map +1 -1
  283. package/daemon/dist/domain/workflow-validator.d.ts +11 -1
  284. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  285. package/daemon/dist/domain/workflow-validator.js +246 -1
  286. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  287. package/daemon/dist/index.d.ts +17 -0
  288. package/daemon/dist/index.d.ts.map +1 -1
  289. package/daemon/dist/index.js +44 -0
  290. package/daemon/dist/index.js.map +1 -1
  291. package/daemon/dist/routes/activity.js +22 -0
  292. package/daemon/dist/routes/activity.js.map +1 -1
  293. package/daemon/dist/routes/hosts.d.ts +5 -0
  294. package/daemon/dist/routes/hosts.d.ts.map +1 -0
  295. package/daemon/dist/routes/hosts.js +346 -0
  296. package/daemon/dist/routes/hosts.js.map +1 -0
  297. package/daemon/dist/routes/queue.d.ts +2 -7
  298. package/daemon/dist/routes/queue.d.ts.map +1 -1
  299. package/daemon/dist/routes/queue.js +264 -9
  300. package/daemon/dist/routes/queue.js.map +1 -1
  301. package/daemon/dist/routes/review.d.ts.map +1 -1
  302. package/daemon/dist/routes/review.js +26 -0
  303. package/daemon/dist/routes/review.js.map +1 -1
  304. package/daemon/dist/routes/seat.js +13 -0
  305. package/daemon/dist/routes/seat.js.map +1 -1
  306. package/daemon/dist/routes/terminal.d.ts +11 -0
  307. package/daemon/dist/routes/terminal.d.ts.map +1 -0
  308. package/daemon/dist/routes/terminal.js +104 -0
  309. package/daemon/dist/routes/terminal.js.map +1 -0
  310. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  311. package/daemon/dist/routes/workflow.js +102 -10
  312. package/daemon/dist/routes/workflow.js.map +1 -1
  313. package/daemon/dist/server.d.ts +5 -0
  314. package/daemon/dist/server.d.ts.map +1 -1
  315. package/daemon/dist/server.js +22 -0
  316. package/daemon/dist/server.js.map +1 -1
  317. package/daemon/dist/startup.d.ts.map +1 -1
  318. package/daemon/dist/startup.js +221 -12
  319. package/daemon/dist/startup.js.map +1 -1
  320. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +29 -0
  321. package/daemon/specs/agents/factory-rsi/dogfood/guidance/role.md +37 -0
  322. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +29 -0
  323. package/daemon/specs/agents/factory-rsi/release-manager/guidance/role.md +40 -0
  324. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +6 -8
  325. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +86 -0
  326. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +158 -0
  327. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +6 -6
  328. package/daemon/specs/rigs/launch/factory-rsi/CULTURE.md +47 -0
  329. package/daemon/specs/rigs/launch/factory-rsi/rig.yaml +115 -0
  330. package/dist/build-info.js +3 -3
  331. package/dist/commands/broadcast.d.ts +6 -1
  332. package/dist/commands/broadcast.d.ts.map +1 -1
  333. package/dist/commands/broadcast.js +101 -15
  334. package/dist/commands/broadcast.js.map +1 -1
  335. package/dist/commands/capture.d.ts.map +1 -1
  336. package/dist/commands/capture.js +99 -8
  337. package/dist/commands/capture.js.map +1 -1
  338. package/dist/commands/config.d.ts.map +1 -1
  339. package/dist/commands/config.js +4 -0
  340. package/dist/commands/config.js.map +1 -1
  341. package/dist/commands/down.d.ts.map +1 -1
  342. package/dist/commands/down.js +5 -0
  343. package/dist/commands/down.js.map +1 -1
  344. package/dist/commands/host.d.ts +14 -0
  345. package/dist/commands/host.d.ts.map +1 -1
  346. package/dist/commands/host.js +338 -14
  347. package/dist/commands/host.js.map +1 -1
  348. package/dist/commands/launch.d.ts.map +1 -1
  349. package/dist/commands/launch.js +5 -0
  350. package/dist/commands/launch.js.map +1 -1
  351. package/dist/commands/ps.d.ts.map +1 -1
  352. package/dist/commands/ps.js +10 -4
  353. package/dist/commands/ps.js.map +1 -1
  354. package/dist/commands/queue.d.ts +36 -0
  355. package/dist/commands/queue.d.ts.map +1 -1
  356. package/dist/commands/queue.js +73 -7
  357. package/dist/commands/queue.js.map +1 -1
  358. package/dist/commands/restore-packet.d.ts.map +1 -1
  359. package/dist/commands/restore-packet.js +13 -2
  360. package/dist/commands/restore-packet.js.map +1 -1
  361. package/dist/commands/send.d.ts.map +1 -1
  362. package/dist/commands/send.js +114 -9
  363. package/dist/commands/send.js.map +1 -1
  364. package/dist/commands/terminal.d.ts +6 -0
  365. package/dist/commands/terminal.d.ts.map +1 -0
  366. package/dist/commands/terminal.js +116 -0
  367. package/dist/commands/terminal.js.map +1 -0
  368. package/dist/commands/transcript.d.ts +6 -1
  369. package/dist/commands/transcript.d.ts.map +1 -1
  370. package/dist/commands/transcript.js +113 -30
  371. package/dist/commands/transcript.js.map +1 -1
  372. package/dist/commands/up.d.ts.map +1 -1
  373. package/dist/commands/up.js +9 -0
  374. package/dist/commands/up.js.map +1 -1
  375. package/dist/commands/whoami.d.ts.map +1 -1
  376. package/dist/commands/whoami.js +11 -0
  377. package/dist/commands/whoami.js.map +1 -1
  378. package/dist/commands/workflow-errors.d.ts +23 -0
  379. package/dist/commands/workflow-errors.d.ts.map +1 -0
  380. package/dist/commands/workflow-errors.js +100 -0
  381. package/dist/commands/workflow-errors.js.map +1 -0
  382. package/dist/commands/workflow-follow.d.ts +71 -0
  383. package/dist/commands/workflow-follow.d.ts.map +1 -0
  384. package/dist/commands/workflow-follow.js +259 -0
  385. package/dist/commands/workflow-follow.js.map +1 -0
  386. package/dist/commands/workflow-render.d.ts +114 -0
  387. package/dist/commands/workflow-render.d.ts.map +1 -0
  388. package/dist/commands/workflow-render.js +223 -0
  389. package/dist/commands/workflow-render.js.map +1 -0
  390. package/dist/commands/workflow.d.ts +1 -0
  391. package/dist/commands/workflow.d.ts.map +1 -1
  392. package/dist/commands/workflow.js +278 -14
  393. package/dist/commands/workflow.js.map +1 -1
  394. package/dist/config-store.d.ts +15 -1
  395. package/dist/config-store.d.ts.map +1 -1
  396. package/dist/config-store.js +103 -0
  397. package/dist/config-store.js.map +1 -1
  398. package/dist/cross-host-cli-helpers.d.ts +13 -0
  399. package/dist/cross-host-cli-helpers.d.ts.map +1 -1
  400. package/dist/cross-host-cli-helpers.js +27 -0
  401. package/dist/cross-host-cli-helpers.js.map +1 -1
  402. package/dist/cross-host-target.d.ts +49 -0
  403. package/dist/cross-host-target.d.ts.map +1 -0
  404. package/dist/cross-host-target.js +35 -0
  405. package/dist/cross-host-target.js.map +1 -0
  406. package/dist/host-registry.d.ts +8 -0
  407. package/dist/host-registry.d.ts.map +1 -1
  408. package/dist/host-registry.js +32 -0
  409. package/dist/host-registry.js.map +1 -1
  410. package/dist/host-selection.d.ts +13 -0
  411. package/dist/host-selection.d.ts.map +1 -0
  412. package/dist/host-selection.js +54 -0
  413. package/dist/host-selection.js.map +1 -0
  414. package/dist/index.d.ts +2 -0
  415. package/dist/index.d.ts.map +1 -1
  416. package/dist/index.js +2 -0
  417. package/dist/index.js.map +1 -1
  418. package/dist/remote-host-ops.d.ts +1 -0
  419. package/dist/remote-host-ops.d.ts.map +1 -1
  420. package/dist/remote-host-ops.js +11 -4
  421. package/dist/remote-host-ops.js.map +1 -1
  422. package/dist/session-name.d.ts +23 -0
  423. package/dist/session-name.d.ts.map +1 -0
  424. package/dist/session-name.js +61 -0
  425. package/dist/session-name.js.map +1 -0
  426. package/package.json +1 -1
  427. package/ui/dist/assets/index-CFqxa0zW.css +32 -0
  428. package/ui/dist/assets/index-zrFqS7gL.js +623 -0
  429. package/ui/dist/index.html +2 -2
  430. package/ui/dist/assets/index-D69ZhNIr.js +0 -598
  431. package/ui/dist/assets/index-DJYun-8d.css +0 -32
@@ -1,3 +1,4 @@
1
+ import { createHash } from "node:crypto";
1
2
  import { QueueTransitionLog } from "./queue-transition-log.js";
2
3
  import { wrapPaneEnvelope } from "../lib/pane-envelope.js";
3
4
  import { computeClosureRequiredAt, validateClosure, } from "./hot-potato-enforcer.js";
@@ -12,6 +13,17 @@ export const QUEUE_STATES = [
12
13
  "canceled",
13
14
  "handed-off",
14
15
  ];
16
+ /** OPR.0.4.6.FS-1 (W2 P1): the queue's terminal state set, named ONCE. The
17
+ * archiver (queue-retention.ts) AND the inline closure guards below all consume
18
+ * THIS predicate, so a future terminal-state addition can never silently
19
+ * diverge the archiver from the queue (arch D3-REFINEMENT P1; widen-never-sibling).
20
+ * `['done','handed-off']` is the full terminal set — workflow step closures exit
21
+ * `handoff -> state=handed-off`, the highest-volume terminal class. The `satisfies`
22
+ * clause is the compile guard: removing a state from QUEUE_STATES fails here. */
23
+ export const TERMINAL_QUEUE_STATES = ["done", "handed-off"];
24
+ export function isTerminalState(state) {
25
+ return TERMINAL_QUEUE_STATES.includes(state);
26
+ }
15
27
  export const QUEUE_PRIORITIES = ["routine", "urgent", "critical"];
16
28
  export class QueueRepositoryError extends Error {
17
29
  code;
@@ -22,13 +34,61 @@ export class QueueRepositoryError extends Error {
22
34
  this.meta = meta;
23
35
  }
24
36
  }
25
- function newQitemId() {
37
+ /** OPR.0.4.6.WF5 (guard-named fix shape): exported so the workflow
38
+ * domain can PREALLOCATE a gate packet's id — the class-(c) exception
39
+ * identity tags need occurrence:<gatePacketId> ON the packet at create
40
+ * (one item, tagged in its own create — never a second item, never a
41
+ * post-create tag rewrite). The queue still mints ids for every caller
42
+ * that does not preallocate. */
43
+ export function newQitemId() {
26
44
  const ts = new Date().toISOString().replace(/[-:T.Z]/g, "").slice(0, 14);
27
45
  const hex = Math.floor(Math.random() * 0xffffffff)
28
46
  .toString(16)
29
47
  .padStart(8, "0");
30
48
  return `qitem-${ts}-${hex}`;
31
49
  }
50
+ /**
51
+ * OPR.0.4.6.MH3 Q-a: is this the SQLite PRIMARY KEY conflict on
52
+ * queue_items.qitem_id? better-sqlite3 sets `.code` on its SqliteError; the
53
+ * message check is a defensive twin so a driver-name change never silently
54
+ * turns an idempotent absorb into a 500.
55
+ */
56
+ export function isQitemPrimaryKeyConflict(err) {
57
+ if (!(err instanceof Error))
58
+ return false;
59
+ const code = err.code ?? "";
60
+ if (code === "SQLITE_CONSTRAINT_PRIMARYKEY" || code === "SQLITE_CONSTRAINT_UNIQUE")
61
+ return true;
62
+ return /UNIQUE constraint failed: queue_items\.qitem_id/.test(err.message);
63
+ }
64
+ /**
65
+ * OPR.0.4.6.MH3 D-1 (FR-4/FR-5): the deterministic cross-host SUCCESSOR id.
66
+ *
67
+ * A cross-host handoff exposes no caller `--id`, so the successor's dedup
68
+ * identity must come from the operation itself: the id is a PURE, STATELESS
69
+ * function of (source qitemId, destination session, destination host). Same
70
+ * arguments → same id on every re-drive, across daemon restarts, with zero
71
+ * local state — so the origin-side PRIMARY KEY absorb (Q-a) converges every
72
+ * interrupted-close re-drive. Source→successor is 1:1 by construction (a
73
+ * closed source is terminal; nothing re-opens it). The `qitem-xh-` namespace
74
+ * makes collision with organic `qitem-<ts>-<hex>` ids structurally impossible
75
+ * (plan R-2). The compound key is JSON-encoded — no hand-rolled separators.
76
+ *
77
+ * n1 residual (arch-named, inherent to the ratified at-least-once/no-2PC
78
+ * fence — NOT a dedup bug): a re-drive naming a DIFFERENT destination before
79
+ * the source close lands is a NEW handoff decision and derives a DIFFERENT
80
+ * id, so it cannot absorb the earlier successor — that earlier successor can
81
+ * remain live on the target host. The chain_of_record + cross-host provenance
82
+ * tags keep such an orphan visible/traceable; the source-close conflict check
83
+ * surfaces the disagreement rather than overwriting it.
84
+ */
85
+ export function deriveCrossHostSuccessorId(sourceQitemId, destinationSession, hostId) {
86
+ const digest = createHash("sha256")
87
+ .update(JSON.stringify([sourceQitemId, destinationSession, hostId]))
88
+ .digest("hex")
89
+ .slice(0, 16);
90
+ return `qitem-xh-${digest}`;
91
+ }
32
92
  /** PL-007 — defensive column probe. Older test fixtures bypass the
33
93
  * canonical migration list, so target_repo may be absent. Mirrors
34
94
  * the `hasNodeColumn` pattern in rig-repository.ts. */
@@ -64,12 +124,16 @@ export class QueueRepository {
64
124
  hasTargetRepoColumn;
65
125
  hasSummaryColumn;
66
126
  hasEvidenceRefColumn;
127
+ /** OPR.0.4.6.WF3 FR-6 — injected by startup (never imported): the
128
+ * workflow domain's is-live-frontier-packet predicate. */
129
+ workflowFrontierPredicate;
67
130
  constructor(db, eventBus, opts) {
68
131
  this.db = db;
69
132
  this.eventBus = eventBus;
70
133
  this.transitionLog = new QueueTransitionLog(db);
71
134
  this.validateRig = opts?.validateRig ?? (() => true);
72
135
  this.transport = opts?.transport;
136
+ this.workflowFrontierPredicate = opts?.workflowFrontierPredicate;
73
137
  this.hasTargetRepoColumn = detectQueueColumn(db, "target_repo");
74
138
  this.hasSummaryColumn = detectQueueColumn(db, "summary");
75
139
  this.hasEvidenceRefColumn = detectQueueColumn(db, "evidence_ref");
@@ -146,7 +210,36 @@ export class QueueRepository {
146
210
  throw new QueueRepositoryError("unknown_destination_rig", `destination_session ${input.destinationSession} references an unknown rig`);
147
211
  }
148
212
  const txn = this.db.transaction(() => this.createInTransactionalContext(input));
149
- const { qitemId: id, persistedEvent } = txn();
213
+ let id;
214
+ let persistedEvent;
215
+ try {
216
+ ({ qitemId: id, persistedEvent } = txn());
217
+ }
218
+ catch (err) {
219
+ // OPR.0.4.6.MH3 Q-a (FR-5): at-least-once cross-host forwards retry with
220
+ // the SAME minted qitemId, so a PK conflict on an EXISTING row is an
221
+ // idempotent RE-DELIVERY when the identity fields match — return the
222
+ // stored row (no second insert, no second event/nudge). A conflict whose
223
+ // identity fields DIFFER (same id, different destination/source) is a
224
+ // caller id-reuse bug — a structured error, never a silent overwrite.
225
+ // Local (non-forwarded) creates that pass an explicit --id keep the same
226
+ // safety for free.
227
+ if (input.qitemId && isQitemPrimaryKeyConflict(err)) {
228
+ const existing = this.getById(input.qitemId);
229
+ if (existing) {
230
+ if (existing.destinationSession === input.destinationSession &&
231
+ existing.sourceSession === input.sourceSession) {
232
+ return existing;
233
+ }
234
+ throw new QueueRepositoryError("qitem_id_reuse", `qitem ${input.qitemId} already exists with a different destination/source — id reuse is a caller bug, not an idempotent retry`, {
235
+ qitemId: input.qitemId,
236
+ existingDestination: existing.destinationSession,
237
+ existingSource: existing.sourceSession,
238
+ });
239
+ }
240
+ }
241
+ throw err;
242
+ }
150
243
  this.eventBus.notifySubscribers(persistedEvent);
151
244
  await this.maybeNudge(id, input.destinationSession, input.nudge, input.sourceSession);
152
245
  return this.getByIdOrThrow(id);
@@ -260,7 +353,7 @@ export class QueueRepository {
260
353
  if (!source) {
261
354
  throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
262
355
  }
263
- if (source.state === "done" || source.state === "handed-off") {
356
+ if (isTerminalState(source.state)) {
264
357
  throw new QueueRepositoryError("qitem_already_terminal", `qitem ${input.qitemId} is already in terminal state ${source.state}`);
265
358
  }
266
359
  if (!this.validateRig(input.toSession)) {
@@ -373,7 +466,7 @@ export class QueueRepository {
373
466
  if (!source) {
374
467
  throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
375
468
  }
376
- if (source.state === "done" || source.state === "handed-off") {
469
+ if (isTerminalState(source.state)) {
377
470
  throw new QueueRepositoryError("qitem_already_terminal", `qitem ${input.qitemId} is already in terminal state ${source.state}`);
378
471
  }
379
472
  if (!this.validateRig(input.toSession)) {
@@ -472,6 +565,85 @@ export class QueueRepository {
472
565
  created: this.getByIdOrThrow(newId),
473
566
  };
474
567
  }
568
+ /**
569
+ * OPR.0.4.6.MH3 FR-4 (C2, arch Q-c): the LOCAL half of a cross-host
570
+ * handoff — close the source row AFTER the successor-create was forwarded
571
+ * to (and accepted by) the target host. The two sides live in two DBs, so
572
+ * this is deliberately NOT the atomic close+create of {@link handoff}: the
573
+ * boundary is bridged by message-passing (successor-create FIRST on the
574
+ * origin host, this source-close SECOND — never the reverse, so a crash
575
+ * between the two leaves a live duplicate the idempotent re-drive
576
+ * converges, never a dropped potato).
577
+ *
578
+ * Re-drive semantics (FR-4/FR-5, the interrupted-close case):
579
+ * - source already terminal WITH a MATCHING closureTarget → idempotent
580
+ * absorb: return the stored row unchanged (`absorbed: true`) — no
581
+ * second close, no second event.
582
+ * - source already terminal with a MISMATCHED closureTarget → structured
583
+ * `cross_host_close_conflict` (someone else closed it meanwhile —
584
+ * surface, never overwrite).
585
+ * - otherwise → close exactly like the local handoff's close leg:
586
+ * `closure_reason=handed_off_to`; `closure_target` carries the OPAQUE
587
+ * three-part `<member@rig>@<host>` form (arch R1 — presence-checked
588
+ * display/audit metadata, NEVER parsed for routing); `handed_off_to`
589
+ * stays the two-part `member@rig` (BR-1 — session-string carriers
590
+ * never gain `@host`).
591
+ */
592
+ closeCrossHostHandoffSource(input) {
593
+ const source = this.getById(input.qitemId);
594
+ if (!source) {
595
+ throw new QueueRepositoryError("qitem_not_found", `qitem ${input.qitemId} not found`);
596
+ }
597
+ if (isTerminalState(source.state)) {
598
+ if (source.closureTarget === input.closureTarget) {
599
+ return { item: source, absorbed: true };
600
+ }
601
+ throw new QueueRepositoryError("cross_host_close_conflict", `qitem ${input.qitemId} is already closed toward ${source.closureTarget ?? "<no closure_target>"} — this re-drive names ${input.closureTarget}; surfacing the conflict, never overwriting`, {
602
+ qitemId: input.qitemId,
603
+ existingClosureTarget: source.closureTarget,
604
+ attemptedClosureTarget: input.closureTarget,
605
+ });
606
+ }
607
+ const ts = new Date().toISOString();
608
+ const events = [];
609
+ const txn = this.db.transaction(() => {
610
+ this.db
611
+ .prepare(`UPDATE queue_items
612
+ SET state = ?,
613
+ ts_updated = ?,
614
+ handed_off_to = ?,
615
+ closure_reason = 'handed_off_to',
616
+ closure_target = ?
617
+ WHERE qitem_id = ?`)
618
+ .run(input.terminalState, ts, input.toSession, input.closureTarget, input.qitemId);
619
+ this.transitionLog.append({
620
+ qitemId: input.qitemId,
621
+ state: input.terminalState,
622
+ actorSession: input.fromSession,
623
+ // BR-1: the minted note carries the TWO-PART toSession only — the
624
+ // host-qualified 3-part form is allowed in closure_target and nowhere
625
+ // else, and transition_note is a durable carrier.
626
+ transitionNote: input.transitionNote ?? `cross-host handoff to ${input.toSession}`,
627
+ closureReason: "handed_off_to",
628
+ closureTarget: input.closureTarget,
629
+ });
630
+ const handoffEvent = this.eventBus.persistWithinTransaction({
631
+ type: "queue.handed_off",
632
+ qitemId: input.qitemId,
633
+ fromSession: input.fromSession,
634
+ // The event body is a session-string carrier — two-part only (BR-1).
635
+ toSession: input.toSession,
636
+ closureReason: "handed_off_to",
637
+ summary: source.summary ?? null,
638
+ });
639
+ events.push(handoffEvent);
640
+ });
641
+ txn();
642
+ for (const e of events) {
643
+ this.eventBus.notifySubscribers(e);
644
+ }
645
+ return { item: this.getByIdOrThrow(input.qitemId), absorbed: false };
646
+ }
475
647
  /**
476
648
  * `whoami` — return the seat's queue position from the daemon's perspective.
477
649
  * Counts active qitems (pending + in-progress + blocked) destined for the
@@ -656,6 +828,23 @@ export class QueueRepository {
656
828
  validReasons: "validReasons" in validation ? validation.validReasons : undefined,
657
829
  });
658
830
  }
831
+ // OPR.0.4.6.WF3 FR-6 — the frontier close-path guard (pm ruling:
832
+ // PREVENTION over detection). A TERMINAL closure (done/handed-off)
833
+ // of a LIVE workflow-frontier packet from a NON-workflow verb
834
+ // would strand the instance: the frontier would reference a
835
+ // closed packet and the workflow's own bookkeeping (trail,
836
+ // rebind, events) would never happen. Reject LOUD with
837
+ // what/why/fix naming the workflow verbs. The workflow domain's
838
+ // own writers pass viaWorkflowVerb (they hold the invariant);
839
+ // non-workflow qitems return null from the predicate — closure
840
+ // behavior byte-identical (the zero-friction negative).
841
+ const isTerminalClosure = isTerminalState(input.state);
842
+ if (isTerminalClosure && !input.viaWorkflowVerb && this.workflowFrontierPredicate) {
843
+ const binding = this.workflowFrontierPredicate(input.qitemId);
844
+ if (binding) {
845
+ throw new QueueRepositoryError("workflow_frontier_packet", `qitem ${input.qitemId} is the LIVE frontier packet of workflow instance ${binding.instanceId} (${binding.workflowName}). Closing it out-of-band would strand the workflow. Use the workflow verbs instead: rig workflow project (advance) | rig workflow route (re-target the owner).`, { instanceId: binding.instanceId, workflowName: binding.workflowName, qitemId: input.qitemId });
846
+ }
847
+ }
659
848
  // OPR.0.4.4.19 FR-6 — leg-1 park (state=blocked on a HUMAN-seat blocker):
660
849
  // enforce summary + evidence_ref at the park moment, evaluated on the
661
850
  // EFFECTIVE values (provided on this call, else already on the item) so
@@ -1 +1 @@
1
- {"version":3,"file":"queue-repository.js","sourceRoot":"","sources":["../../src/domain/queue-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queue-repository.js","sourceRoot":"","sources":["../../src/domain/queue-repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import type Database from "better-sqlite3";
2
+ /**
3
+ * OPR.0.4.6 FS-1 (daemon read-path hardening) — W2 retention/prune runner.
4
+ *
5
+ * Two tables, two CONTRACTS (arch D3 — never collapsed into one policy):
6
+ *
7
+ * 1. `queue_transitions` = an AUDIT surface with product meaning (chain of
8
+ * record; `rig queue resolve` decision text). Contract: ARCHIVE, never
9
+ * plain-delete. A terminal qitem whose LAST transition is older than the
10
+ * retention window is MOVED (INSERT..SELECT + DELETE in ONE txn) into the
11
+ * `queue_transitions_archive` sibling (migration 054) — the trail is
12
+ * preserved, queryable in place, never lost.
13
+ * THE ACTIVE-FRONTIER INVARIANT (binding, testable): transitions of any
14
+ * NON-terminal qitem are NEVER touched, at any age. Enforced structurally —
15
+ * only qitems whose `queue_items.state` is terminal are ever selected.
16
+ *
17
+ * 2. `watchdog_history` = telemetry, no audit contract. Contract: plain DELETE
18
+ * older than the window, PLUS keep the most recent K per job regardless of
19
+ * age (respects `idx_watchdog_history_job_recent`, the recent-per-job reader).
20
+ *
21
+ * Runner mechanics: a boot-time sweep + a daily in-daemon maintenance tick (NOT
22
+ * a watchdog policy). Every DB pass is a BOUNDED batch (LIMIT-ed) and the async
23
+ * orchestrator yields to the event loop between batches, so the prune itself can
24
+ * NEVER wedge the loop — the fix must not carry the disease it cures. `nowIso` is
25
+ * injectable for deterministic VM seeding.
26
+ *
27
+ * HONESTY LINE (arch F3): this bounds DB growth, backup size, and any
28
+ * transitions-reading surface. It does NOT move `/api/ps` latency (that is W1's
29
+ * sessions index + N+1 collapse). Kept separate so the ship-gate credits the
30
+ * right fix.
31
+ *
32
+ * ── REBASE-RECONCILE (this module is greenfield-authored on worktree 384e60f1;
33
+ * the following land against the merged tip, per PLAN §J/§K, NOT this stale
34
+ * checkout) ──
35
+ * • P1 — ONE SHARED TERMINAL PREDICATE. Today `queue-repository.ts` has the
36
+ * terminal set only as INLINE literals (`state === "done" || state ===
37
+ * "handed-off"` at :522/:663 here; arch cites :550/:691/:1058 at the merged
38
+ * tip a6c27e74). At rebase, export a single named `TERMINAL_QUEUE_STATES`
39
+ * from queue-repository, refactor those inline sites to consume it, and
40
+ * replace this module's local `DEFAULT_TERMINAL_STATES` with that import — a
41
+ * pure-naming, byte-identical change swept by FUNCTION not line#. Until then
42
+ * the local default IS the code's terminal set (`['done','handed-off']`), so
43
+ * behavior is identical; only the SSOT wiring is deferred.
44
+ * • P2 — FRONTIER-LIVENESS EXCLUSION. Add one WHERE clause (+ one named test)
45
+ * excluding any qitem referenced in a NON-terminal workflow instance's
46
+ * current frontier, regardless of state/age. VACUOUS today (single-frontier
47
+ * close mechanics already remove terminal packets from the frontier — the
48
+ * non-terminal invariant covers it); armed for the WF-6/parallel-frontier era.
49
+ * Authored at the merged tip where the frontier schema is final.
50
+ * • WIRING — register the retention settings keys in `SETTINGS_VALID_KEYS`
51
+ * (settings-store) and call `runQueueRetentionSweep` from the daemon's
52
+ * maintenance scheduler (where the watchdog runner is started, index.ts/
53
+ * server.ts) at boot + on a daily tick. Both integration points live at the
54
+ * merged tip; wired there.
55
+ */
56
+ /**
57
+ * The queue's terminal state set — P1 LANDED: sourced from the SINGLE shared
58
+ * `TERMINAL_QUEUE_STATES` SSOT exported by queue-repository (the same predicate
59
+ * the queue's own closure guards consume via `isTerminalState`), so a future
60
+ * terminal-state addition can never silently diverge the archiver from the queue
61
+ * (arch D3-REFINEMENT P1; widen-never-sibling). `['done','handed-off']` is the
62
+ * full terminal set — done-only would exempt the highest-volume class (workflow
63
+ * step closures exit `handoff -> state=handed-off`).
64
+ */
65
+ export declare const DEFAULT_TERMINAL_STATES: readonly ["done", "handed-off"];
66
+ /** Retention defaults (arch D3). BAKED closed-set knobs — registered as settings
67
+ * keys at rebase; no free-form config. */
68
+ export declare const RETENTION_DEFAULTS: {
69
+ /** archive terminal transitions whose last transition is older than this */
70
+ readonly transitionsRetentionDays: 30;
71
+ /** delete watchdog_history older than this ... */
72
+ readonly watchdogRetentionDays: 14;
73
+ /** ... EXCEPT always keep this many most-recent rows per job */
74
+ readonly watchdogKeepPerJob: 50;
75
+ /** rows/qitems touched per bounded batch (the anti-wedge bound) */
76
+ readonly batchSize: 500;
77
+ /** safety cap on batches per table per sweep (defense-in-depth vs a runaway loop) */
78
+ readonly maxBatchesPerTable: 10000;
79
+ };
80
+ export interface RetentionOptions {
81
+ /** injected clock (ISO-8601); deterministic for VM seeding */
82
+ nowIso: string;
83
+ terminalStates?: readonly string[];
84
+ transitionsRetentionDays?: number;
85
+ watchdogRetentionDays?: number;
86
+ watchdogKeepPerJob?: number;
87
+ batchSize?: number;
88
+ maxBatchesPerTable?: number;
89
+ }
90
+ export interface ArchiveBatchResult {
91
+ /** distinct terminal qitems whose transitions were archived this batch */
92
+ archivedQitems: number;
93
+ /** transition rows moved this batch */
94
+ archivedRows: number;
95
+ }
96
+ /**
97
+ * ONE bounded batch: move (archive-then-delete, single txn per qitem) the
98
+ * transitions of up to `batchSize` TERMINAL qitems whose LAST transition is
99
+ * older than the cutoff. Returns the counts so the orchestrator can loop until
100
+ * a batch is empty. Non-terminal qitems are never selected (active-frontier
101
+ * invariant, structural).
102
+ */
103
+ export declare function archiveAgedTerminalTransitions(db: Database.Database, opts: RetentionOptions): ArchiveBatchResult;
104
+ export interface PruneBatchResult {
105
+ /** watchdog_history rows deleted this batch */
106
+ deletedRows: number;
107
+ }
108
+ /**
109
+ * ONE bounded batch: DELETE up to `batchSize` watchdog_history rows that are
110
+ * older than the cutoff AND outside the most-recent-K per job. The per-job
111
+ * recency rank rides idx_watchdog_history_job_recent (job_id, evaluated_at DESC).
112
+ * `>=` in the rank subquery means exact-timestamp ties over-KEEP (never
113
+ * over-delete) — the safe direction.
114
+ */
115
+ export declare function pruneWatchdogHistory(db: Database.Database, opts: RetentionOptions): PruneBatchResult;
116
+ export interface RetentionSweepSummary {
117
+ archivedQitems: number;
118
+ archivedRows: number;
119
+ watchdogDeleted: number;
120
+ transitionBatches: number;
121
+ watchdogBatches: number;
122
+ }
123
+ /**
124
+ * The boot-sweep / daily-tick entry point: drain both retention passes in
125
+ * bounded batches, yielding to the event loop between batches so a large
126
+ * backlog can never wedge the daemon. Idempotent and safe to run on every boot.
127
+ * Each pass stops when a batch is empty or the safety batch-cap is hit.
128
+ */
129
+ export declare function runQueueRetentionSweep(db: Database.Database, opts: RetentionOptions): Promise<RetentionSweepSummary>;
130
+ //# sourceMappingURL=queue-retention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queue-retention.d.ts","sourceRoot":"","sources":["../../src/domain/queue-retention.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAG3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqDG;AAEH;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB,iCAAwB,CAAC;AAE7D;2CAC2C;AAC3C,eAAO,MAAM,kBAAkB;IAC7B,4EAA4E;;IAE5E,kDAAkD;;IAElD,gEAAgE;;IAEhE,mEAAmE;;IAEnE,qFAAqF;;CAE7E,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B,8DAA8D;IAC9D,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAmBD,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;IACvB,uCAAuC;IACvC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,gBAAgB,GACrB,kBAAkB,CAwEpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,gBAAgB,GACrB,gBAAgB,CA0BlB;AAED,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,EAAE,EAAE,QAAQ,CAAC,QAAQ,EACrB,IAAI,EAAE,gBAAgB,GACrB,OAAO,CAAC,qBAAqB,CAAC,CA4BhC"}