@openrig/cli 0.4.3 → 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 (634) hide show
  1. package/daemon/assets/guidance/openrig-start.md +6 -0
  2. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +47 -21
  3. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +86 -0
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +158 -0
  5. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +742 -94
  6. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  7. package/daemon/dist/adapters/codex-runtime-adapter.js +12 -8
  8. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  9. package/daemon/dist/adapters/pi-resume.d.ts +32 -0
  10. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -0
  11. package/daemon/dist/adapters/pi-resume.js +125 -0
  12. package/daemon/dist/adapters/pi-resume.js.map +1 -0
  13. package/daemon/dist/adapters/pi-runner-protocol.d.ts +88 -0
  14. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -0
  15. package/daemon/dist/adapters/pi-runner-protocol.js +153 -0
  16. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -0
  17. package/daemon/dist/adapters/pi-runner.d.ts +99 -0
  18. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -0
  19. package/daemon/dist/adapters/pi-runner.js +519 -0
  20. package/daemon/dist/adapters/pi-runner.js.map +1 -0
  21. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +61 -0
  22. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -0
  23. package/daemon/dist/adapters/pi-runtime-adapter.js +356 -0
  24. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -0
  25. package/daemon/dist/adapters/tmux.d.ts +22 -1
  26. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  27. package/daemon/dist/adapters/tmux.js +40 -1
  28. package/daemon/dist/adapters/tmux.js.map +1 -1
  29. package/daemon/dist/build-info.d.ts +12 -0
  30. package/daemon/dist/build-info.d.ts.map +1 -0
  31. package/daemon/dist/build-info.js +11 -0
  32. package/daemon/dist/build-info.js.map +1 -0
  33. package/daemon/dist/builtins/workflow-specs/branched-remediation.yaml +31 -0
  34. package/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +152 -0
  35. package/daemon/dist/builtins/workflow-specs/gated-release.yaml +26 -0
  36. package/daemon/dist/builtins/workflow-specs/linear-build.yaml +21 -0
  37. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts +18 -0
  38. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.d.ts.map +1 -0
  39. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.js +22 -0
  40. package/daemon/dist/db/migrations/048_queue_item_evidence_ref.js.map +1 -0
  41. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts +20 -0
  42. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts.map +1 -0
  43. package/daemon/dist/db/migrations/049_workflow_instance_version.js +24 -0
  44. package/daemon/dist/db/migrations/049_workflow_instance_version.js.map +1 -0
  45. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts +22 -0
  46. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts.map +1 -0
  47. package/daemon/dist/db/migrations/050_workflow_spec_json.js +26 -0
  48. package/daemon/dist/db/migrations/050_workflow_spec_json.js.map +1 -0
  49. package/daemon/dist/db/migrations/051_workflow_resume.d.ts +22 -0
  50. package/daemon/dist/db/migrations/051_workflow_resume.d.ts.map +1 -0
  51. package/daemon/dist/db/migrations/051_workflow_resume.js +27 -0
  52. package/daemon/dist/db/migrations/051_workflow_resume.js.map +1 -0
  53. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts +26 -0
  54. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js +30 -0
  56. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js.map +1 -0
  57. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts +48 -0
  58. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts.map +1 -0
  59. package/daemon/dist/db/migrations/053_sessions_node_id_index.js +53 -0
  60. package/daemon/dist/db/migrations/053_sessions_node_id_index.js.map +1 -0
  61. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts +34 -0
  62. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts.map +1 -0
  63. package/daemon/dist/db/migrations/054_queue_transitions_archive.js +49 -0
  64. package/daemon/dist/db/migrations/054_queue_transitions_archive.js.map +1 -0
  65. package/daemon/dist/domain/claim-service.d.ts +11 -0
  66. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  67. package/daemon/dist/domain/claim-service.js +3 -1
  68. package/daemon/dist/domain/claim-service.js.map +1 -1
  69. package/daemon/dist/domain/discovery-types.d.ts +1 -1
  70. package/daemon/dist/domain/discovery-types.d.ts.map +1 -1
  71. package/daemon/dist/domain/feed/attention-aggregator.d.ts +31 -0
  72. package/daemon/dist/domain/feed/attention-aggregator.d.ts.map +1 -0
  73. package/daemon/dist/domain/feed/attention-aggregator.js +119 -0
  74. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -0
  75. package/daemon/dist/domain/files/file-write-service.d.ts +11 -2
  76. package/daemon/dist/domain/files/file-write-service.d.ts.map +1 -1
  77. package/daemon/dist/domain/files/file-write-service.js +77 -0
  78. package/daemon/dist/domain/files/file-write-service.js.map +1 -1
  79. package/daemon/dist/domain/hosts/fanout-contract.d.ts +33 -0
  80. package/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -0
  81. package/daemon/dist/domain/hosts/fanout-contract.js +23 -0
  82. package/daemon/dist/domain/hosts/fanout-contract.js.map +1 -0
  83. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +50 -0
  84. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -0
  85. package/daemon/dist/domain/hosts/hosts-registry-reader.js +184 -0
  86. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -0
  87. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts +11 -0
  88. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -0
  89. package/daemon/dist/domain/hosts/hosts-registry-writer.js +54 -0
  90. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -0
  91. package/daemon/dist/domain/hosts/read-through.d.ts +28 -0
  92. package/daemon/dist/domain/hosts/read-through.d.ts.map +1 -0
  93. package/daemon/dist/domain/hosts/read-through.js +139 -0
  94. package/daemon/dist/domain/hosts/read-through.js.map +1 -0
  95. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +56 -0
  96. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -0
  97. package/daemon/dist/domain/hosts/remote-daemon-http.js +154 -0
  98. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -0
  99. package/daemon/dist/domain/human-route-enforcer.d.ts +71 -0
  100. package/daemon/dist/domain/human-route-enforcer.d.ts.map +1 -0
  101. package/daemon/dist/domain/human-route-enforcer.js +80 -0
  102. package/daemon/dist/domain/human-route-enforcer.js.map +1 -0
  103. package/daemon/dist/domain/mission-control/audit-browse.d.ts +8 -0
  104. package/daemon/dist/domain/mission-control/audit-browse.d.ts.map +1 -1
  105. package/daemon/dist/domain/mission-control/audit-browse.js +19 -0
  106. package/daemon/dist/domain/mission-control/audit-browse.js.map +1 -1
  107. package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts +1 -1
  108. package/daemon/dist/domain/mission-control/mission-control-action-log.d.ts.map +1 -1
  109. package/daemon/dist/domain/mission-control/mission-control-action-log.js +4 -0
  110. package/daemon/dist/domain/mission-control/mission-control-action-log.js.map +1 -1
  111. package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js +1 -1
  112. package/daemon/dist/domain/mission-control/mission-control-fleet-cli-capability.js.map +1 -1
  113. package/daemon/dist/domain/mission-control/mission-control-read-layer.js +1 -1
  114. package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
  115. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts +28 -0
  116. package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
  117. package/daemon/dist/domain/mission-control/mission-control-write-contract.js +125 -0
  118. package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
  119. package/daemon/dist/domain/node-inventory.d.ts +18 -0
  120. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  121. package/daemon/dist/domain/node-inventory.js +206 -95
  122. package/daemon/dist/domain/node-inventory.js.map +1 -1
  123. package/daemon/dist/domain/node-launcher.d.ts +11 -0
  124. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  125. package/daemon/dist/domain/node-launcher.js +10 -0
  126. package/daemon/dist/domain/node-launcher.js.map +1 -1
  127. package/daemon/dist/domain/policies/workflow-keepalive.d.ts +7 -0
  128. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  129. package/daemon/dist/domain/policies/workflow-keepalive.js +93 -13
  130. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  131. package/daemon/dist/domain/ps-projection.d.ts +28 -1
  132. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  133. package/daemon/dist/domain/ps-projection.js +76 -26
  134. package/daemon/dist/domain/ps-projection.js.map +1 -1
  135. package/daemon/dist/domain/queue-repository.d.ts +130 -1
  136. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  137. package/daemon/dist/domain/queue-repository.js +304 -11
  138. package/daemon/dist/domain/queue-repository.js.map +1 -1
  139. package/daemon/dist/domain/queue-retention.d.ts +130 -0
  140. package/daemon/dist/domain/queue-retention.d.ts.map +1 -0
  141. package/daemon/dist/domain/queue-retention.js +224 -0
  142. package/daemon/dist/domain/queue-retention.js.map +1 -0
  143. package/daemon/dist/domain/restore-orchestrator.d.ts +5 -0
  144. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  145. package/daemon/dist/domain/restore-orchestrator.js +29 -2
  146. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  147. package/daemon/dist/domain/resume-token-capture.d.ts +13 -0
  148. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  149. package/daemon/dist/domain/resume-token-capture.js +14 -1
  150. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  151. package/daemon/dist/domain/resume-token-validation.d.ts +1 -1
  152. package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -1
  153. package/daemon/dist/domain/resume-token-validation.js +58 -10
  154. package/daemon/dist/domain/resume-token-validation.js.map +1 -1
  155. package/daemon/dist/domain/review/brief-spine.d.ts +19 -0
  156. package/daemon/dist/domain/review/brief-spine.d.ts.map +1 -0
  157. package/daemon/dist/domain/review/brief-spine.js +86 -0
  158. package/daemon/dist/domain/review/brief-spine.js.map +1 -0
  159. package/daemon/dist/domain/review/compose.d.ts +277 -0
  160. package/daemon/dist/domain/review/compose.d.ts.map +1 -0
  161. package/daemon/dist/domain/review/compose.js +862 -0
  162. package/daemon/dist/domain/review/compose.js.map +1 -0
  163. package/daemon/dist/domain/review/fleet-compose.d.ts +52 -0
  164. package/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -0
  165. package/daemon/dist/domain/review/fleet-compose.js +294 -0
  166. package/daemon/dist/domain/review/fleet-compose.js.map +1 -0
  167. package/daemon/dist/domain/review/freeze.d.ts +31 -0
  168. package/daemon/dist/domain/review/freeze.d.ts.map +1 -0
  169. package/daemon/dist/domain/review/freeze.js +257 -0
  170. package/daemon/dist/domain/review/freeze.js.map +1 -0
  171. package/daemon/dist/domain/review/gather.d.ts +115 -0
  172. package/daemon/dist/domain/review/gather.d.ts.map +1 -0
  173. package/daemon/dist/domain/review/gather.js +812 -0
  174. package/daemon/dist/domain/review/gather.js.map +1 -0
  175. package/daemon/dist/domain/review/types.d.ts +361 -0
  176. package/daemon/dist/domain/review/types.d.ts.map +1 -0
  177. package/daemon/dist/domain/review/types.js +35 -0
  178. package/daemon/dist/domain/review/types.js.map +1 -0
  179. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  180. package/daemon/dist/domain/rig-expansion-service.js +3 -0
  181. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  182. package/daemon/dist/domain/rig-repository.d.ts +7 -6
  183. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  184. package/daemon/dist/domain/rig-repository.js +33 -11
  185. package/daemon/dist/domain/rig-repository.js.map +1 -1
  186. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  187. package/daemon/dist/domain/rigspec-codec.js +3 -0
  188. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  189. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  190. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  191. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  192. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  193. package/daemon/dist/domain/rigspec-instantiator.js +11 -0
  194. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  195. package/daemon/dist/domain/rigspec-preflight.d.ts +6 -0
  196. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  197. package/daemon/dist/domain/rigspec-preflight.js +26 -1
  198. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  199. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  200. package/daemon/dist/domain/rigspec-schema.js +20 -1
  201. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  202. package/daemon/dist/domain/runtime-verifier.d.ts +7 -1
  203. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  204. package/daemon/dist/domain/runtime-verifier.js +39 -1
  205. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  206. package/daemon/dist/domain/scope/scope-approve.d.ts +64 -0
  207. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -0
  208. package/daemon/dist/domain/scope/scope-approve.js +153 -0
  209. package/daemon/dist/domain/scope/scope-approve.js.map +1 -0
  210. package/daemon/dist/domain/scope/scope-audit.d.ts +9 -1
  211. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  212. package/daemon/dist/domain/scope/scope-audit.js +173 -1
  213. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  214. package/daemon/dist/domain/seat-handover-service.d.ts +9 -0
  215. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  216. package/daemon/dist/domain/seat-handover-service.js +2 -0
  217. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  218. package/daemon/dist/domain/seat-identity-store.d.ts +7 -0
  219. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  220. package/daemon/dist/domain/seat-identity-store.js +27 -0
  221. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  222. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  223. package/daemon/dist/domain/seat-status-service.js +6 -4
  224. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  225. package/daemon/dist/domain/session-name.d.ts +22 -0
  226. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  227. package/daemon/dist/domain/session-name.js +29 -0
  228. package/daemon/dist/domain/session-name.js.map +1 -1
  229. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  230. package/daemon/dist/domain/slices/slice-detail-projector.js +4 -5
  231. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  232. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +18 -2
  233. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  234. package/daemon/dist/domain/spec-library-workflow-scanner.js +23 -1
  235. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  236. package/daemon/dist/domain/startup-proof.d.ts +10 -6
  237. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  238. package/daemon/dist/domain/startup-proof.js +35 -7
  239. package/daemon/dist/domain/startup-proof.js.map +1 -1
  240. package/daemon/dist/domain/successor-session-launcher.d.ts +16 -0
  241. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  242. package/daemon/dist/domain/successor-session-launcher.js +13 -0
  243. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  244. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +27 -0
  245. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -0
  246. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +67 -0
  247. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -0
  248. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +77 -0
  249. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -0
  250. package/daemon/dist/domain/terminal/herdr-adapter.js +266 -0
  251. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -0
  252. package/daemon/dist/domain/terminal/herdr-transport.d.ts +50 -0
  253. package/daemon/dist/domain/terminal/herdr-transport.d.ts.map +1 -0
  254. package/daemon/dist/domain/terminal/herdr-transport.js +145 -0
  255. package/daemon/dist/domain/terminal/herdr-transport.js.map +1 -0
  256. package/daemon/dist/domain/terminal/terminal-provider.d.ts +88 -0
  257. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -0
  258. package/daemon/dist/domain/terminal/terminal-provider.js +17 -0
  259. package/daemon/dist/domain/terminal/terminal-provider.js.map +1 -0
  260. package/daemon/dist/domain/terminal/terminal-service.d.ts +60 -0
  261. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -0
  262. package/daemon/dist/domain/terminal/terminal-service.js +174 -0
  263. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -0
  264. package/daemon/dist/domain/terminal/terminal-views-store.d.ts +77 -0
  265. package/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +1 -0
  266. package/daemon/dist/domain/terminal/terminal-views-store.js +146 -0
  267. package/daemon/dist/domain/terminal/terminal-views-store.js.map +1 -0
  268. package/daemon/dist/domain/terminal/view-composer.d.ts +42 -0
  269. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -0
  270. package/daemon/dist/domain/terminal/view-composer.js +137 -0
  271. package/daemon/dist/domain/terminal/view-composer.js.map +1 -0
  272. package/daemon/dist/domain/tmux-option-defaults.d.ts +89 -0
  273. package/daemon/dist/domain/tmux-option-defaults.d.ts.map +1 -0
  274. package/daemon/dist/domain/tmux-option-defaults.js +132 -0
  275. package/daemon/dist/domain/tmux-option-defaults.js.map +1 -0
  276. package/daemon/dist/domain/topology/multi-rig-launcher.d.ts +49 -0
  277. package/daemon/dist/domain/topology/multi-rig-launcher.d.ts.map +1 -0
  278. package/daemon/dist/domain/topology/multi-rig-launcher.js +132 -0
  279. package/daemon/dist/domain/topology/multi-rig-launcher.js.map +1 -0
  280. package/daemon/dist/domain/topology/remote-up-leaf.d.ts +29 -0
  281. package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -0
  282. package/daemon/dist/domain/topology/remote-up-leaf.js +60 -0
  283. package/daemon/dist/domain/topology/remote-up-leaf.js.map +1 -0
  284. package/daemon/dist/domain/topology/topology-manifest.d.ts +34 -0
  285. package/daemon/dist/domain/topology/topology-manifest.d.ts.map +1 -0
  286. package/daemon/dist/domain/topology/topology-manifest.js +195 -0
  287. package/daemon/dist/domain/topology/topology-manifest.js.map +1 -0
  288. package/daemon/dist/domain/types.d.ts +39 -1
  289. package/daemon/dist/domain/types.d.ts.map +1 -1
  290. package/daemon/dist/domain/types.js.map +1 -1
  291. package/daemon/dist/domain/up-command-router.d.ts +1 -1
  292. package/daemon/dist/domain/up-command-router.d.ts.map +1 -1
  293. package/daemon/dist/domain/up-command-router.js +34 -2
  294. package/daemon/dist/domain/up-command-router.js.map +1 -1
  295. package/daemon/dist/domain/user-settings/settings-store.d.ts +18 -1
  296. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  297. package/daemon/dist/domain/user-settings/settings-store.js +201 -0
  298. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  299. package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +1 -1
  300. package/daemon/dist/domain/workflow/slice-workflow-projection.js +6 -2
  301. package/daemon/dist/domain/workflow/slice-workflow-projection.js.map +1 -1
  302. package/daemon/dist/domain/workflow-boot-sweep.d.ts +28 -0
  303. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -0
  304. package/daemon/dist/domain/workflow-boot-sweep.js +102 -0
  305. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -0
  306. package/daemon/dist/domain/workflow-deadline.d.ts +74 -0
  307. package/daemon/dist/domain/workflow-deadline.d.ts.map +1 -0
  308. package/daemon/dist/domain/workflow-deadline.js +165 -0
  309. package/daemon/dist/domain/workflow-deadline.js.map +1 -0
  310. package/daemon/dist/domain/workflow-exception-escalation.d.ts +33 -0
  311. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -0
  312. package/daemon/dist/domain/workflow-exception-escalation.js +104 -0
  313. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -0
  314. package/daemon/dist/domain/workflow-exception-router.d.ts +33 -0
  315. package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -0
  316. package/daemon/dist/domain/workflow-exception-router.js +96 -0
  317. package/daemon/dist/domain/workflow-exception-router.js.map +1 -0
  318. package/daemon/dist/domain/workflow-exception.d.ts +90 -0
  319. package/daemon/dist/domain/workflow-exception.d.ts.map +1 -0
  320. package/daemon/dist/domain/workflow-exception.js +122 -0
  321. package/daemon/dist/domain/workflow-exception.js.map +1 -0
  322. package/daemon/dist/domain/workflow-frontier-guard.d.ts +24 -0
  323. package/daemon/dist/domain/workflow-frontier-guard.d.ts.map +1 -0
  324. package/daemon/dist/domain/workflow-frontier-guard.js +30 -0
  325. package/daemon/dist/domain/workflow-frontier-guard.js.map +1 -0
  326. package/daemon/dist/domain/workflow-instance-store.d.ts +28 -0
  327. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  328. package/daemon/dist/domain/workflow-instance-store.js +66 -10
  329. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  330. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +35 -0
  331. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -0
  332. package/daemon/dist/domain/workflow-keepalive-arming.js +87 -0
  333. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -0
  334. package/daemon/dist/domain/workflow-projector.d.ts +117 -2
  335. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  336. package/daemon/dist/domain/workflow-projector.js +672 -41
  337. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  338. package/daemon/dist/domain/workflow-role-context.d.ts +57 -0
  339. package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -0
  340. package/daemon/dist/domain/workflow-role-context.js +120 -0
  341. package/daemon/dist/domain/workflow-role-context.js.map +1 -0
  342. package/daemon/dist/domain/workflow-role-resolver.d.ts +65 -0
  343. package/daemon/dist/domain/workflow-role-resolver.d.ts.map +1 -0
  344. package/daemon/dist/domain/workflow-role-resolver.js +108 -0
  345. package/daemon/dist/domain/workflow-role-resolver.js.map +1 -0
  346. package/daemon/dist/domain/workflow-runtime.d.ts +157 -1
  347. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  348. package/daemon/dist/domain/workflow-runtime.js +718 -11
  349. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  350. package/daemon/dist/domain/workflow-spec-cache.d.ts +26 -1
  351. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  352. package/daemon/dist/domain/workflow-spec-cache.js +327 -13
  353. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  354. package/daemon/dist/domain/workflow-types.d.ts +143 -8
  355. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  356. package/daemon/dist/domain/workflow-types.js +14 -1
  357. package/daemon/dist/domain/workflow-types.js.map +1 -1
  358. package/daemon/dist/domain/workflow-validator.d.ts +11 -1
  359. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  360. package/daemon/dist/domain/workflow-validator.js +246 -1
  361. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  362. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  363. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +51 -6
  364. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  365. package/daemon/dist/domain/workspace/workspace-doctor.d.ts +11 -0
  366. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
  367. package/daemon/dist/domain/workspace/workspace-doctor.js +82 -0
  368. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  369. package/daemon/dist/index.d.ts +17 -0
  370. package/daemon/dist/index.d.ts.map +1 -1
  371. package/daemon/dist/index.js +44 -0
  372. package/daemon/dist/index.js.map +1 -1
  373. package/daemon/dist/routes/activity.js +22 -0
  374. package/daemon/dist/routes/activity.js.map +1 -1
  375. package/daemon/dist/routes/config.d.ts.map +1 -1
  376. package/daemon/dist/routes/config.js +15 -6
  377. package/daemon/dist/routes/config.js.map +1 -1
  378. package/daemon/dist/routes/files.d.ts.map +1 -1
  379. package/daemon/dist/routes/files.js +45 -1
  380. package/daemon/dist/routes/files.js.map +1 -1
  381. package/daemon/dist/routes/hosts.d.ts +5 -0
  382. package/daemon/dist/routes/hosts.d.ts.map +1 -0
  383. package/daemon/dist/routes/hosts.js +346 -0
  384. package/daemon/dist/routes/hosts.js.map +1 -0
  385. package/daemon/dist/routes/mission-control.d.ts.map +1 -1
  386. package/daemon/dist/routes/mission-control.js +67 -2
  387. package/daemon/dist/routes/mission-control.js.map +1 -1
  388. package/daemon/dist/routes/queue.d.ts +10 -9
  389. package/daemon/dist/routes/queue.d.ts.map +1 -1
  390. package/daemon/dist/routes/queue.js +305 -10
  391. package/daemon/dist/routes/queue.js.map +1 -1
  392. package/daemon/dist/routes/review.d.ts +3 -0
  393. package/daemon/dist/routes/review.d.ts.map +1 -0
  394. package/daemon/dist/routes/review.js +195 -0
  395. package/daemon/dist/routes/review.js.map +1 -0
  396. package/daemon/dist/routes/scope-approve.d.ts +3 -0
  397. package/daemon/dist/routes/scope-approve.d.ts.map +1 -0
  398. package/daemon/dist/routes/scope-approve.js +55 -0
  399. package/daemon/dist/routes/scope-approve.js.map +1 -0
  400. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  401. package/daemon/dist/routes/scope-audit.js +28 -1
  402. package/daemon/dist/routes/scope-audit.js.map +1 -1
  403. package/daemon/dist/routes/seat.js +13 -0
  404. package/daemon/dist/routes/seat.js.map +1 -1
  405. package/daemon/dist/routes/slices.d.ts.map +1 -1
  406. package/daemon/dist/routes/slices.js +49 -9
  407. package/daemon/dist/routes/slices.js.map +1 -1
  408. package/daemon/dist/routes/terminal-ws.d.ts.map +1 -1
  409. package/daemon/dist/routes/terminal-ws.js +58 -21
  410. package/daemon/dist/routes/terminal-ws.js.map +1 -1
  411. package/daemon/dist/routes/terminal.d.ts +11 -0
  412. package/daemon/dist/routes/terminal.d.ts.map +1 -0
  413. package/daemon/dist/routes/terminal.js +104 -0
  414. package/daemon/dist/routes/terminal.js.map +1 -0
  415. package/daemon/dist/routes/up.d.ts.map +1 -1
  416. package/daemon/dist/routes/up.js +84 -0
  417. package/daemon/dist/routes/up.js.map +1 -1
  418. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  419. package/daemon/dist/routes/workflow.js +102 -10
  420. package/daemon/dist/routes/workflow.js.map +1 -1
  421. package/daemon/dist/routes/workspace.js +2 -2
  422. package/daemon/dist/server.d.ts +6 -0
  423. package/daemon/dist/server.d.ts.map +1 -1
  424. package/daemon/dist/server.js +36 -1
  425. package/daemon/dist/server.js.map +1 -1
  426. package/daemon/dist/startup.d.ts.map +1 -1
  427. package/daemon/dist/startup.js +238 -14
  428. package/daemon/dist/startup.js.map +1 -1
  429. package/daemon/docs/reference/agent-startup-guide.md +1 -1
  430. package/daemon/docs/reference/product-factory-vps-runbook.md +132 -0
  431. package/daemon/docs/reference/sdlc-conventions.md +187 -0
  432. package/daemon/specs/agents/conveyor/builder/agent.yaml +1 -1
  433. package/daemon/specs/agents/conveyor/builder/guidance/role.md +1 -0
  434. package/daemon/specs/agents/conveyor/lead/agent.yaml +1 -1
  435. package/daemon/specs/agents/conveyor/lead/guidance/role.md +1 -0
  436. package/daemon/specs/agents/conveyor/planner/agent.yaml +1 -1
  437. package/daemon/specs/agents/conveyor/planner/guidance/role.md +1 -0
  438. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +1 -1
  439. package/daemon/specs/agents/conveyor/reviewer/guidance/role.md +1 -0
  440. package/daemon/specs/agents/design/product-designer/agent.yaml +1 -1
  441. package/daemon/specs/agents/design/product-designer/guidance/role.md +1 -0
  442. package/daemon/specs/agents/development/implementer/agent.yaml +1 -1
  443. package/daemon/specs/agents/development/implementer/guidance/role.md +1 -0
  444. package/daemon/specs/agents/development/qa/agent.yaml +1 -1
  445. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  446. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +29 -0
  447. package/daemon/specs/agents/factory-rsi/dogfood/guidance/role.md +37 -0
  448. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +29 -0
  449. package/daemon/specs/agents/factory-rsi/release-manager/guidance/role.md +40 -0
  450. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -1
  451. package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +1 -0
  452. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -0
  453. package/daemon/specs/agents/product-management/pm/guidance/role.md +13 -0
  454. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -1
  455. package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +1 -0
  456. package/daemon/specs/agents/shared/agent.yaml +2 -0
  457. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +113 -0
  458. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +86 -0
  459. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +158 -0
  460. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +4 -4
  461. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +75 -29
  462. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +2 -2
  463. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +4 -0
  464. package/daemon/specs/rigs/launch/factory-rsi/CULTURE.md +47 -0
  465. package/daemon/specs/rigs/launch/factory-rsi/rig.yaml +115 -0
  466. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +1 -1
  467. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +1 -1
  468. package/daemon/specs/rigs/preview/product-team/CULTURE.md +4 -0
  469. package/dist/build-info.d.ts +8 -0
  470. package/dist/build-info.d.ts.map +1 -0
  471. package/dist/build-info.js +11 -0
  472. package/dist/build-info.js.map +1 -0
  473. package/dist/commands/broadcast.d.ts +6 -1
  474. package/dist/commands/broadcast.d.ts.map +1 -1
  475. package/dist/commands/broadcast.js +101 -15
  476. package/dist/commands/broadcast.js.map +1 -1
  477. package/dist/commands/capture.d.ts.map +1 -1
  478. package/dist/commands/capture.js +99 -8
  479. package/dist/commands/capture.js.map +1 -1
  480. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  481. package/dist/commands/config-init-workspace.js +20 -4
  482. package/dist/commands/config-init-workspace.js.map +1 -1
  483. package/dist/commands/config.d.ts.map +1 -1
  484. package/dist/commands/config.js +4 -0
  485. package/dist/commands/config.js.map +1 -1
  486. package/dist/commands/doctor.js +2 -2
  487. package/dist/commands/doctor.js.map +1 -1
  488. package/dist/commands/down.d.ts.map +1 -1
  489. package/dist/commands/down.js +5 -0
  490. package/dist/commands/down.js.map +1 -1
  491. package/dist/commands/expand.js +1 -1
  492. package/dist/commands/expand.js.map +1 -1
  493. package/dist/commands/file.d.ts +7 -0
  494. package/dist/commands/file.d.ts.map +1 -0
  495. package/dist/commands/file.js +77 -0
  496. package/dist/commands/file.js.map +1 -0
  497. package/dist/commands/host.d.ts +48 -0
  498. package/dist/commands/host.d.ts.map +1 -0
  499. package/dist/commands/host.js +772 -0
  500. package/dist/commands/host.js.map +1 -0
  501. package/dist/commands/launch.d.ts.map +1 -1
  502. package/dist/commands/launch.js +5 -0
  503. package/dist/commands/launch.js.map +1 -1
  504. package/dist/commands/proof.d.ts +54 -0
  505. package/dist/commands/proof.d.ts.map +1 -0
  506. package/dist/commands/proof.js +311 -0
  507. package/dist/commands/proof.js.map +1 -0
  508. package/dist/commands/ps.d.ts +41 -7
  509. package/dist/commands/ps.d.ts.map +1 -1
  510. package/dist/commands/ps.js +353 -135
  511. package/dist/commands/ps.js.map +1 -1
  512. package/dist/commands/queue.d.ts +36 -0
  513. package/dist/commands/queue.d.ts.map +1 -1
  514. package/dist/commands/queue.js +149 -7
  515. package/dist/commands/queue.js.map +1 -1
  516. package/dist/commands/restore-packet.d.ts.map +1 -1
  517. package/dist/commands/restore-packet.js +13 -2
  518. package/dist/commands/restore-packet.js.map +1 -1
  519. package/dist/commands/scope.d.ts.map +1 -1
  520. package/dist/commands/scope.js +140 -3
  521. package/dist/commands/scope.js.map +1 -1
  522. package/dist/commands/send.d.ts.map +1 -1
  523. package/dist/commands/send.js +127 -13
  524. package/dist/commands/send.js.map +1 -1
  525. package/dist/commands/terminal.d.ts +6 -0
  526. package/dist/commands/terminal.d.ts.map +1 -0
  527. package/dist/commands/terminal.js +116 -0
  528. package/dist/commands/terminal.js.map +1 -0
  529. package/dist/commands/transcript.d.ts +6 -1
  530. package/dist/commands/transcript.d.ts.map +1 -1
  531. package/dist/commands/transcript.js +113 -30
  532. package/dist/commands/transcript.js.map +1 -1
  533. package/dist/commands/up.d.ts +2 -0
  534. package/dist/commands/up.d.ts.map +1 -1
  535. package/dist/commands/up.js +78 -2
  536. package/dist/commands/up.js.map +1 -1
  537. package/dist/commands/whoami.d.ts.map +1 -1
  538. package/dist/commands/whoami.js +11 -0
  539. package/dist/commands/whoami.js.map +1 -1
  540. package/dist/commands/workflow-errors.d.ts +23 -0
  541. package/dist/commands/workflow-errors.d.ts.map +1 -0
  542. package/dist/commands/workflow-errors.js +100 -0
  543. package/dist/commands/workflow-errors.js.map +1 -0
  544. package/dist/commands/workflow-follow.d.ts +71 -0
  545. package/dist/commands/workflow-follow.d.ts.map +1 -0
  546. package/dist/commands/workflow-follow.js +259 -0
  547. package/dist/commands/workflow-follow.js.map +1 -0
  548. package/dist/commands/workflow-render.d.ts +114 -0
  549. package/dist/commands/workflow-render.d.ts.map +1 -0
  550. package/dist/commands/workflow-render.js +223 -0
  551. package/dist/commands/workflow-render.js.map +1 -0
  552. package/dist/commands/workflow.d.ts +1 -0
  553. package/dist/commands/workflow.d.ts.map +1 -1
  554. package/dist/commands/workflow.js +278 -14
  555. package/dist/commands/workflow.js.map +1 -1
  556. package/dist/commands/workspace.js +6 -6
  557. package/dist/commands/workspace.js.map +1 -1
  558. package/dist/config-store.d.ts +19 -1
  559. package/dist/config-store.d.ts.map +1 -1
  560. package/dist/config-store.js +171 -0
  561. package/dist/config-store.js.map +1 -1
  562. package/dist/cross-host-cli-helpers.d.ts +13 -0
  563. package/dist/cross-host-cli-helpers.d.ts.map +1 -1
  564. package/dist/cross-host-cli-helpers.js +27 -0
  565. package/dist/cross-host-cli-helpers.js.map +1 -1
  566. package/dist/cross-host-executor.d.ts +1 -0
  567. package/dist/cross-host-executor.d.ts.map +1 -1
  568. package/dist/cross-host-executor.js +4 -1
  569. package/dist/cross-host-executor.js.map +1 -1
  570. package/dist/cross-host-target.d.ts +49 -0
  571. package/dist/cross-host-target.d.ts.map +1 -0
  572. package/dist/cross-host-target.js +35 -0
  573. package/dist/cross-host-target.js.map +1 -0
  574. package/dist/daemon-lifecycle.d.ts.map +1 -1
  575. package/dist/daemon-lifecycle.js +4 -1
  576. package/dist/daemon-lifecycle.js.map +1 -1
  577. package/dist/host-registry.d.ts +17 -0
  578. package/dist/host-registry.d.ts.map +1 -1
  579. package/dist/host-registry.js +64 -2
  580. package/dist/host-registry.js.map +1 -1
  581. package/dist/host-selection.d.ts +13 -0
  582. package/dist/host-selection.d.ts.map +1 -0
  583. package/dist/host-selection.js +54 -0
  584. package/dist/host-selection.js.map +1 -0
  585. package/dist/index.d.ts +2 -0
  586. package/dist/index.d.ts.map +1 -1
  587. package/dist/index.js +9 -0
  588. package/dist/index.js.map +1 -1
  589. package/dist/lib/file-transfer.d.ts +89 -0
  590. package/dist/lib/file-transfer.d.ts.map +1 -0
  591. package/dist/lib/file-transfer.js +300 -0
  592. package/dist/lib/file-transfer.js.map +1 -0
  593. package/dist/lib/hosts/fanout-contract.d.ts +33 -0
  594. package/dist/lib/hosts/fanout-contract.d.ts.map +1 -0
  595. package/dist/lib/hosts/fanout-contract.js +23 -0
  596. package/dist/lib/hosts/fanout-contract.js.map +1 -0
  597. package/dist/lib/scope/scope-audit.d.ts +9 -1
  598. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  599. package/dist/lib/scope/scope-audit.js +173 -1
  600. package/dist/lib/scope/scope-audit.js.map +1 -1
  601. package/dist/lib/scope/templates.d.ts +1 -0
  602. package/dist/lib/scope/templates.d.ts.map +1 -1
  603. package/dist/lib/scope/templates.js +9 -0
  604. package/dist/lib/scope/templates.js.map +1 -1
  605. package/dist/lib/scope-templates/backlog-deprecation.md +16 -0
  606. package/dist/lib/scope-templates/backlog-tech-debt.md +16 -0
  607. package/dist/lib/scope-templates/bug-fix.md +16 -0
  608. package/dist/lib/scope-templates/implementation-prd.md +33 -0
  609. package/dist/lib/scope-templates/mission-placeholder.md +1 -1
  610. package/dist/lib/scope-templates/mission-progress.md +1 -1
  611. package/dist/lib/scope-templates/mission-release.md +1 -1
  612. package/dist/lib/scope-templates/placeholder.md +11 -7
  613. package/dist/lib/scope-templates/proof.md +5 -1
  614. package/dist/lib/scope-templates/release-feature.md +14 -6
  615. package/dist/lib/scope-templates/research.md +16 -0
  616. package/dist/lib/scope-templates/slice-progress.md +1 -1
  617. package/dist/remote-host-ops.d.ts +1 -0
  618. package/dist/remote-host-ops.d.ts.map +1 -1
  619. package/dist/remote-host-ops.js +11 -4
  620. package/dist/remote-host-ops.js.map +1 -1
  621. package/dist/session-name.d.ts +23 -0
  622. package/dist/session-name.d.ts.map +1 -0
  623. package/dist/session-name.js +61 -0
  624. package/dist/session-name.js.map +1 -0
  625. package/dist/version.d.ts +5 -0
  626. package/dist/version.d.ts.map +1 -1
  627. package/dist/version.js +11 -1
  628. package/dist/version.js.map +1 -1
  629. package/package.json +1 -1
  630. package/ui/dist/assets/index-CFqxa0zW.css +32 -0
  631. package/ui/dist/assets/index-zrFqS7gL.js +623 -0
  632. package/ui/dist/index.html +2 -2
  633. package/ui/dist/assets/index-DYZniQcc.js +0 -597
  634. package/ui/dist/assets/index-trcb4Yf_.css +0 -32
@@ -22,6 +22,19 @@ const DEFAULT_WORKSPACE_ROOT = path.join(process.env["OPENRIG_HOME"] || process.
22
22
  export const SETTINGS_VALID_KEYS = [
23
23
  "daemon.port",
24
24
  "daemon.host",
25
+ // OPR.0.4.6.MH1 FR-1 — the persisted host-selection pointer, ONE
26
+ // static key, lockstep with cli/src/config-store.ts VALID_KEYS (the
27
+ // twins parity test pins both). Default "local" (unset ≡ local host).
28
+ // Value registry-validation lives at the `rig host select` verb.
29
+ "host.selected",
30
+ // OPR.0.4.6.MH1 FR-4 — the own-host display name (arch Ruling 1: home =
31
+ // the settings twins, never hosts.yaml). Default "localhost".
32
+ "host.name",
33
+ // OPR.0.4.6.WF5 FR-2 — the host-level maturity-dial default (arch config
34
+ // ruling: the MH-1 dynamic-key pattern class). "orchestrator" |
35
+ // "human_only"; unset ≡ the orchestrator-first engine default. Consumed
36
+ // at exception-item creation only — dial flips are never retroactive.
37
+ "workflow.exception_routing",
25
38
  "db.path",
26
39
  "transcripts.enabled",
27
40
  "transcripts.path",
@@ -96,6 +109,23 @@ export const SETTINGS_VALID_KEYS = [
96
109
  "snapshots.periodic.enabled",
97
110
  "snapshots.periodic.interval_seconds",
98
111
  "snapshots.periodic.retention_keep",
112
+ // OPR.0.4.6.02 S1 — the inner-tmux status-bar default applied to a
113
+ // session at LAUNCH. ONE static boolean key (default off), lockstep
114
+ // with cli/src/config-store.ts VALID_KEYS (the parity test pins both
115
+ // twins). Consumed by NodeLauncher at session-create only; a flip is
116
+ // future-launches-only and never retroactive (BR-1 never-retro).
117
+ "terminal.status_bar",
118
+ // OPR.0.4.6.FS-1 W2 — queue-retention maintenance knobs (arch D3; closed-set,
119
+ // arch-safe defaults BAKED in getDefaultValue, bounded validation in
120
+ // KEY_CONSTRAINTS). CLI-settable twin: lockstep with cli/src/config-store.ts
121
+ // VALID_KEYS (each side's exact-equality parity test pins its own list). A
122
+ // flip is read at the next daily maintenance tick — never retroactive to an
123
+ // in-flight sweep.
124
+ "retention.enabled",
125
+ "retention.transitions_days",
126
+ "retention.watchdog_days",
127
+ "retention.watchdog_keep_per_job",
128
+ "retention.batch_size",
99
129
  ];
100
130
  const ENV_MAP = {
101
131
  // Only the original runtime keys keep RIGGED_* aliases for upgrade
@@ -122,6 +152,10 @@ const ENV_MAP = {
122
152
  "recovery.auto_drive_provider_prompts": { primary: "OPENRIG_RECOVERY_AUTO_DRIVE_PROVIDER_PROMPTS" },
123
153
  "recovery.provider_auth_env_allowlist": { primary: "OPENRIG_RECOVERY_PROVIDER_AUTH_ENV_ALLOWLIST" },
124
154
  "agents.advisor_session": { primary: "OPENRIG_AGENTS_ADVISOR_SESSION" },
155
+ "host.selected": { primary: "OPENRIG_HOST_SELECTED" },
156
+ "host.name": { primary: "OPENRIG_HOST_NAME" },
157
+ // OPR.0.4.6.WF5 FR-2 — new key, OPENRIG_* only.
158
+ "workflow.exception_routing": { primary: "OPENRIG_WORKFLOW_EXCEPTION_ROUTING" },
125
159
  "agents.operator_session": { primary: "OPENRIG_AGENTS_OPERATOR_SESSION" },
126
160
  "workspace.operator_seat_name": { primary: "OPENRIG_WORKSPACE_OPERATOR_SEAT_NAME" },
127
161
  "feed.subscriptions.action_required": { primary: "OPENRIG_FEED_SUBSCRIPTIONS_ACTION_REQUIRED" },
@@ -145,6 +179,14 @@ const ENV_MAP = {
145
179
  "snapshots.periodic.enabled": { primary: "OPENRIG_SNAPSHOTS_PERIODIC_ENABLED" },
146
180
  "snapshots.periodic.interval_seconds": { primary: "OPENRIG_SNAPSHOTS_PERIODIC_INTERVAL_SECONDS" },
147
181
  "snapshots.periodic.retention_keep": { primary: "OPENRIG_SNAPSHOTS_PERIODIC_RETENTION_KEEP" },
182
+ // OPR.0.4.6.02 S1 — net-new key; OPENRIG_* primary only (no RIGGED_* legacy).
183
+ "terminal.status_bar": { primary: "OPENRIG_TERMINAL_STATUS_BAR" },
184
+ // OPR.0.4.6.FS-1 W2 — retention knobs; net-new keys, OPENRIG_* primary only.
185
+ "retention.enabled": { primary: "OPENRIG_RETENTION_ENABLED" },
186
+ "retention.transitions_days": { primary: "OPENRIG_RETENTION_TRANSITIONS_DAYS" },
187
+ "retention.watchdog_days": { primary: "OPENRIG_RETENTION_WATCHDOG_DAYS" },
188
+ "retention.watchdog_keep_per_job": { primary: "OPENRIG_RETENTION_WATCHDOG_KEEP_PER_JOB" },
189
+ "retention.batch_size": { primary: "OPENRIG_RETENTION_BATCH_SIZE" },
148
190
  };
149
191
  const KEY_TO_PATH = {
150
192
  "daemon.port": ["daemon", "port"],
@@ -169,6 +211,9 @@ const KEY_TO_PATH = {
169
211
  "recovery.auto_drive_provider_prompts": ["recovery", "autoDriveProviderPrompts"],
170
212
  "recovery.provider_auth_env_allowlist": ["recovery", "providerAuthEnvAllowlist"],
171
213
  "agents.advisor_session": ["agents", "advisorSession"],
214
+ "host.selected": ["host", "selected"],
215
+ "host.name": ["host", "name"],
216
+ "workflow.exception_routing": ["workflow", "exceptionRouting"],
172
217
  "agents.operator_session": ["agents", "operatorSession"],
173
218
  "workspace.operator_seat_name": ["workspace", "operatorSeatName"],
174
219
  "feed.subscriptions.action_required": ["feed", "subscriptions", "actionRequired"],
@@ -187,10 +232,60 @@ const KEY_TO_PATH = {
187
232
  "snapshots.periodic.enabled": ["snapshots", "periodic", "enabled"],
188
233
  "snapshots.periodic.interval_seconds": ["snapshots", "periodic", "intervalSeconds"],
189
234
  "snapshots.periodic.retention_keep": ["snapshots", "periodic", "retentionKeep"],
235
+ "terminal.status_bar": ["terminal", "statusBar"],
236
+ "retention.enabled": ["retention", "enabled"],
237
+ "retention.transitions_days": ["retention", "transitionsDays"],
238
+ "retention.watchdog_days": ["retention", "watchdogDays"],
239
+ "retention.watchdog_keep_per_job": ["retention", "watchdogKeepPerJob"],
240
+ "retention.batch_size": ["retention", "batchSize"],
190
241
  };
191
242
  export function isSettingsValidKey(key) {
192
243
  return SETTINGS_VALID_KEYS.includes(key);
193
244
  }
245
+ // ── OPR.0.4.4.15 (guard G15-P1 fold, arch-endorsed) ─────────────────────────
246
+ // ONE registered dynamic key CLASS — NOT a general dynamic-key mechanism:
247
+ // `feed.subscriptions.<hostId>.enabled` (boolean; the v1 per-host key set is
248
+ // CLOSED to {enabled}). The closed-set discipline applies to the store's key
249
+ // GRAMMAR: only this pattern is accepted beyond SETTINGS_VALID_KEYS; every
250
+ // other unknown key keeps the existing reject-loud behavior byte-for-byte.
251
+ // hostId segment: [A-Za-z0-9_-]+ (a dotted host id is inexpressible in
252
+ // dotted keys — the write gate rejects it as unknown; readers warn-and-
253
+ // ignore); RESERVED segments (the flat toggle tails + 'enabled') never parse
254
+ // as host ids, so the flat keys and the dynamic class cannot collide.
255
+ // No env-var mapping for the dynamic class in v1 — file/API only.
256
+ // Twin: packages/cli/src/config-store.ts carries the same class (parity test
257
+ // pins them — the host-registry twin discipline).
258
+ const FEED_HOST_KEY_RE = /^feed\.subscriptions\.([A-Za-z0-9_-]+)\.enabled$/;
259
+ // Reserved in BOTH spellings: the key-level snake_case toggle tails AND the
260
+ // camelCase FILE-level leaf names (KEY_TO_PATH maps audit_log→auditLog etc.),
261
+ // so no host id can ever shadow a flat toggle at either layer.
262
+ export const FEED_HOST_RESERVED_SEGMENTS = new Set([
263
+ "action_required",
264
+ "actionRequired",
265
+ "approvals",
266
+ "shipped",
267
+ "progress",
268
+ "audit_log",
269
+ "auditLog",
270
+ "enabled",
271
+ ]);
272
+ export function parseFeedHostSubscriptionKey(key) {
273
+ const m = key.match(FEED_HOST_KEY_RE);
274
+ if (!m)
275
+ return null;
276
+ const hostId = m[1];
277
+ if (FEED_HOST_RESERVED_SEGMENTS.has(hostId))
278
+ return null;
279
+ return { hostId };
280
+ }
281
+ function coerceFeedHostSubscriptionValue(key, raw) {
282
+ const v = raw.trim().toLowerCase();
283
+ if (v === "true")
284
+ return true;
285
+ if (v === "false")
286
+ return false;
287
+ throw new Error(`Invalid value for ${key}: expected "true" or "false", got "${raw}"`);
288
+ }
194
289
  function readEnv(primary, legacy) {
195
290
  const p = process.env[primary];
196
291
  if (p !== undefined && p !== "")
@@ -291,6 +386,11 @@ function getDefaultValue(key, workspaceRoot) {
291
386
  // username at resolution time; operator override via `rig config
292
387
  // set` persists to ~/.openrig/config.json.
293
388
  case "workspace.operator_seat_name": return `operator-${os.userInfo().username}@kernel`;
389
+ // OPR.0.4.6.MH1 FR-1 — "local" ≡ no remote selection (LOCAL_HOST_ID);
390
+ // the FR-2 zero-regression posture by construction.
391
+ case "host.selected": return "local";
392
+ // OPR.0.4.6.MH1 FR-4 — the own-host display-name default (PRD-named).
393
+ case "host.name": return "localhost";
294
394
  case "workspace.root": return DEFAULT_WORKSPACE_ROOT;
295
395
  // Preview Terminal v0 (PL-018) defaults — match cli/src/config-store.ts.
296
396
  case "ui.preview.refresh_interval_seconds": return 3;
@@ -331,6 +431,18 @@ function getDefaultValue(key, workspaceRoot) {
331
431
  case "snapshots.periodic.enabled": return true;
332
432
  case "snapshots.periodic.interval_seconds": return 300;
333
433
  case "snapshots.periodic.retention_keep": return 10;
434
+ // OPR.0.4.6.02 S1 — inner-tmux status bar OFF at launch by default
435
+ // (herdr's pane label already carries identity; the inner tmux status
436
+ // is redundant chrome). Operator flip is future-launches-only.
437
+ case "terminal.status_bar": return false;
438
+ // OPR.0.4.6.FS-1 W2 — retention defaults (arch D3 safe values: archive
439
+ // terminal+aged transitions >30d; prune watchdog_history >14d keep-50/job;
440
+ // 500 rows/qitems per bounded batch; enabled by default).
441
+ case "retention.enabled": return true;
442
+ case "retention.transitions_days": return 30;
443
+ case "retention.watchdog_days": return 14;
444
+ case "retention.watchdog_keep_per_job": return 50;
445
+ case "retention.batch_size": return 500;
334
446
  default: return "";
335
447
  }
336
448
  }
@@ -389,6 +501,30 @@ const KEY_CONSTRAINTS = {
389
501
  throw new Error(`Invalid value for snapshots.periodic.retention_keep: must be >= 1, got ${raw}`);
390
502
  }
391
503
  },
504
+ // OPR.0.4.6.FS-1 W2 — retention numeric bounds (arch D3). Lockstep with the
505
+ // cli/src/config-store.ts KEY_CONSTRAINTS twin so the daemon HTTP write
506
+ // surface rejects exactly what the CLI rejects. `retention.enabled` is a
507
+ // boolean (coerceValue enforces true/false) — no constraint entry needed.
508
+ "retention.transitions_days": (raw, coerced) => {
509
+ if (!/^-?\d+$/.test((raw ?? "").trim()) || typeof coerced !== "number" || !Number.isInteger(coerced) || coerced < 1) {
510
+ throw new Error(`Invalid value for retention.transitions_days: must be an integer >= 1, got "${raw}"`);
511
+ }
512
+ },
513
+ "retention.watchdog_days": (raw, coerced) => {
514
+ if (!/^-?\d+$/.test((raw ?? "").trim()) || typeof coerced !== "number" || !Number.isInteger(coerced) || coerced < 1) {
515
+ throw new Error(`Invalid value for retention.watchdog_days: must be an integer >= 1, got "${raw}"`);
516
+ }
517
+ },
518
+ "retention.watchdog_keep_per_job": (raw, coerced) => {
519
+ if (!/^-?\d+$/.test((raw ?? "").trim()) || typeof coerced !== "number" || !Number.isInteger(coerced) || coerced < 0) {
520
+ throw new Error(`Invalid value for retention.watchdog_keep_per_job: must be an integer >= 0, got "${raw}"`);
521
+ }
522
+ },
523
+ "retention.batch_size": (raw, coerced) => {
524
+ if (!/^-?\d+$/.test((raw ?? "").trim()) || typeof coerced !== "number" || !Number.isInteger(coerced) || coerced < 1) {
525
+ throw new Error(`Invalid value for retention.batch_size: must be an integer >= 1, got "${raw}"`);
526
+ }
527
+ },
392
528
  };
393
529
  function validateKeyConstraints(key, raw, coerced) {
394
530
  const check = KEY_CONSTRAINTS[key];
@@ -504,6 +640,18 @@ export class SettingsStore {
504
640
  };
505
641
  }
506
642
  set(key, value) {
643
+ // OPR.0.4.4.15: the ONE registered dynamic class is accepted here;
644
+ // every OTHER unknown key keeps the reject-loud behavior below
645
+ // byte-for-byte.
646
+ const feedHost = parseFeedHostSubscriptionKey(key);
647
+ if (feedHost) {
648
+ const coercedDyn = coerceFeedHostSubscriptionValue(key, value);
649
+ const fcDyn = this.readConfigFile();
650
+ setNestedValue(fcDyn, ["feed", "subscriptions", feedHost.hostId, "enabled"], coercedDyn);
651
+ mkdirSync(path.dirname(this.configPath), { recursive: true });
652
+ writeFileSync(this.configPath, JSON.stringify(fcDyn, null, 2) + "\n", "utf-8");
653
+ return;
654
+ }
507
655
  if (!isSettingsValidKey(key)) {
508
656
  throw new Error(`Unknown config key "${key}". Valid keys: ${SETTINGS_VALID_KEYS.join(", ")}`);
509
657
  }
@@ -514,6 +662,46 @@ export class SettingsStore {
514
662
  mkdirSync(path.dirname(this.configPath), { recursive: true });
515
663
  writeFileSync(this.configPath, JSON.stringify(fc, null, 2) + "\n", "utf-8");
516
664
  }
665
+ /** OPR.0.4.4.15 — resolve one dynamic feed-host subscription key.
666
+ * File-or-default only (no env mapping for the dynamic class in v1);
667
+ * default false = not subscribed. Returns null for keys outside the
668
+ * registered class. */
669
+ resolveFeedHostSubscription(key) {
670
+ const feedHost = parseFeedHostSubscriptionKey(key);
671
+ if (!feedHost)
672
+ return null;
673
+ const fc = this.readConfigFile();
674
+ const fileVal = getNestedValue(fc, ["feed", "subscriptions", feedHost.hostId, "enabled"]);
675
+ if (typeof fileVal === "boolean")
676
+ return { value: fileVal, source: "file", defaultValue: false };
677
+ return { value: false, source: "default", defaultValue: false };
678
+ }
679
+ /** OPR.0.4.4.15 — enumerate persisted per-host subscriptions (the
680
+ * aggregator's read). Reserved segments and non-conforming shapes are
681
+ * WARNED and IGNORED (the ratified guard: operator error surfaces
682
+ * visibly, never misparses, never rejects the whole config). */
683
+ listFeedHostSubscriptions() {
684
+ const fc = this.readConfigFile();
685
+ const subs = getNestedValue(fc, ["feed", "subscriptions"]);
686
+ if (subs === null || subs === undefined || typeof subs !== "object" || Array.isArray(subs))
687
+ return [];
688
+ const out = [];
689
+ for (const [segment, node] of Object.entries(subs)) {
690
+ if (node === null || typeof node !== "object" || Array.isArray(node))
691
+ continue; // flat toggle leaves — not host nodes
692
+ if (FEED_HOST_RESERVED_SEGMENTS.has(segment) || !/^[A-Za-z0-9_-]+$/.test(segment)) {
693
+ process.stderr.write(`[openrig-settings] feed.subscriptions.${segment} ignored as a host subscription: segment is ${FEED_HOST_RESERVED_SEGMENTS.has(segment) ? "a reserved toggle name" : "not a valid host id segment ([A-Za-z0-9_-]+)"}\n`);
694
+ continue;
695
+ }
696
+ const enabled = node["enabled"];
697
+ if (typeof enabled !== "boolean") {
698
+ process.stderr.write(`[openrig-settings] feed.subscriptions.${segment}.enabled ignored: expected boolean, got ${JSON.stringify(enabled)}\n`);
699
+ continue;
700
+ }
701
+ out.push({ hostId: segment, enabled });
702
+ }
703
+ return out;
704
+ }
517
705
  reset(key) {
518
706
  if (key === undefined) {
519
707
  try {
@@ -522,6 +710,19 @@ export class SettingsStore {
522
710
  catch { /* missing is fine */ }
523
711
  return;
524
712
  }
713
+ // OPR.0.4.4.15: dynamic-class reset removes the whole host node
714
+ // (unsubscribe leaves no residue).
715
+ const feedHost = parseFeedHostSubscriptionKey(key);
716
+ if (feedHost) {
717
+ if (!existsSync(this.configPath))
718
+ return;
719
+ const fcDyn = this.readConfigFile();
720
+ const parent = getNestedValue(fcDyn, ["feed", "subscriptions"]);
721
+ if (parent && feedHost.hostId in parent)
722
+ delete parent[feedHost.hostId];
723
+ writeFileSync(this.configPath, JSON.stringify(fcDyn, null, 2) + "\n", "utf-8");
724
+ return;
725
+ }
525
726
  if (!isSettingsValidKey(key)) {
526
727
  throw new Error(`Unknown config key "${key}". Valid keys: ${SETTINGS_VALID_KEYS.join(", ")}`);
527
728
  }
@@ -1 +1 @@
1
- {"version":3,"file":"settings-store.js","sourceRoot":"","sources":["../../../src/domain/user-settings/settings-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"settings-store.js","sourceRoot":"","sources":["../../../src/domain/user-settings/settings-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"slice-workflow-projection.d.ts","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-projection.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB;oDACgD;IAChD,WAAW,EAAE,QAAQ,CAAC;IACtB;;+CAE2C;IAC3C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;6EACyE;IACzE,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,gBAAgB,CA+ClB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,EAAE,CAM7E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,kBAAkB,GAAG,IAAI,CAuB3B"}
1
+ {"version":3,"file":"slice-workflow-projection.d.ts","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-projection.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,sBAAsB,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb;uEACmE;IACnE,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,4EAA4E;IAC5E,OAAO,EAAE,OAAO,CAAC;IACjB,+DAA+D;IAC/D,SAAS,EAAE,OAAO,CAAC;IACnB,gFAAgF;IAChF,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB;oDACgD;IAChD,WAAW,EAAE,QAAQ,CAAC;IACtB;;+CAE2C;IAC3C,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,yCAAyC;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB;6EACyE;IACzE,gBAAgB,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,UAAU,CAAA;KAAE,CAAC,CAAC;IAC9E,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI,GAC3B,gBAAgB,CAmDlB;AAED;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,GAAG,eAAe,EAAE,CAM7E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,YAAY,EAClB,aAAa,EAAE,MAAM,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,GACrB,kBAAkB,GAAG,IAAI,CAuB3B"}
@@ -33,8 +33,12 @@ export function projectSpecGraph(spec, currentStepId) {
33
33
  if (!stepByRole.has(step.actor_role))
34
34
  stepByRole.set(step.actor_role, step);
35
35
  }
36
- const entryRole = spec.entry?.role ?? spec.steps[0]?.actor_role;
37
- const entryStepId = entryRole ? stepByRole.get(entryRole)?.id : undefined;
36
+ // OPR.0.4.6.WF1 (guard blocker 3): steps[0] is THE authoritative
37
+ // entry the runtime instantiates from it (workflow-runtime.ts) and
38
+ // the validator rejects a disagreeing entry.role. The graph must
39
+ // mark the SAME node the runtime routes first, never entry.role's
40
+ // claim (pre-fix specs could make this projection lie).
41
+ const entryStepId = spec.steps[0]?.id;
38
42
  const nodes = spec.steps.map((step) => {
39
43
  const roleSpec = spec.roles[step.actor_role] ?? {};
40
44
  const firstTarget = roleSpec.preferred_targets?.[0] ?? null;
@@ -1 +1 @@
1
- {"version":3,"file":"slice-workflow-projection.js","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-projection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slice-workflow-projection.js","sourceRoot":"","sources":["../../../src/domain/workflow/slice-workflow-projection.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import type { QueueRepository } from "./queue-repository.js";
2
+ import type { WatchdogJobsRepository } from "./watchdog-jobs-repository.js";
3
+ import type { WorkflowInstanceStore } from "./workflow-instance-store.js";
4
+ import type { EnsureStuckExceptionItem } from "./workflow-exception-escalation.js";
5
+ export interface WorkflowBootSweepResult {
6
+ instancesSwept: number;
7
+ keepalivesArmed: number;
8
+ lostNudgesReissued: number;
9
+ stuckSurfaced: number;
10
+ /** OPR.0.4.6.WF5 FR-2 class (b): stuck exception items created this
11
+ * sweep (deduped re-detections not counted). */
12
+ exceptionItemsCreated: number;
13
+ }
14
+ export interface WorkflowBootSweepDeps {
15
+ instanceStore: WorkflowInstanceStore;
16
+ queueRepo: QueueRepository;
17
+ watchdogJobsRepo: WatchdogJobsRepository;
18
+ log?: (line: string) => void;
19
+ now?: () => Date;
20
+ /** OPR.0.4.6.WF5 FR-2 class (b): when supplied, a non-healthy deadline
21
+ * verdict ENSURES the durable exception item at detection time (the
22
+ * crash-surviving never-lost leg — re-detection re-creates a missed
23
+ * item). Optional so pre-WF-5 embedders keep working; startup wires
24
+ * the real closure. Failures are non-fatal to the sweep. */
25
+ ensureStuckExceptionItem?: EnsureStuckExceptionItem;
26
+ }
27
+ export declare function runWorkflowBootSweep(deps: WorkflowBootSweepDeps): Promise<WorkflowBootSweepResult>;
28
+ //# sourceMappingURL=workflow-boot-sweep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-boot-sweep.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-boot-sweep.ts"],"names":[],"mappings":"AA2BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE1E,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,oCAAoC,CAAC;AAGnF,MAAM,WAAW,uBAAuB;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB;qDACiD;IACjD,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,qBAAqB,CAAC;IACrC,SAAS,EAAE,eAAe,CAAC;IAC3B,gBAAgB,EAAE,sBAAsB,CAAC;IACzC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB;;;;iEAI6D;IAC7D,wBAAwB,CAAC,EAAE,wBAAwB,CAAC;CACrD;AAED,wBAAsB,oBAAoB,CACxC,IAAI,EAAE,qBAAqB,GAC1B,OAAO,CAAC,uBAAuB,CAAC,CA2FlC"}
@@ -0,0 +1,102 @@
1
+ // OPR.0.4.6.WF1 FR-4 (G5): the startup resume sweep — the workflow
2
+ // twin of the existing rig/session boot reconcile.
3
+ //
4
+ // Before this slice NOTHING re-examined in-flight workflow instances
5
+ // at daemon boot: a nudge lost to the commit-then-crash window stayed
6
+ // lost, keepalives armed in a prior process (or never armed, pre-WF-1)
7
+ // stayed dead, and a stuck instance surfaced nowhere. The sweep closes
8
+ // all three on every boot:
9
+ //
10
+ // 1. RE-ARM — every active|waiting instance gets its per-instance
11
+ // keepalive ensured (idempotent; heals pre-WF-1 instances that
12
+ // never had one).
13
+ // 2. LOST-NUDGE RECOVERY — a PENDING frontier packet whose
14
+ // last_nudge_attempt is NULL was routed but never nudged (the
15
+ // daemon died between the scribe commit and the post-commit
16
+ // nudge — the exact FR-3 window). It is re-nudged NOW, not after
17
+ // a threshold: the potato is provably alive on restart.
18
+ // 3. DEADLINE EVALUATION — the FR-2 evaluator runs over each
19
+ // instance's frontier; overdue instances are surfaced (log line +
20
+ // re-nudge with the stuck steering) — never silently parked.
21
+ //
22
+ // The sweep is observable: ONE summary line naming counts. Zero
23
+ // in-flight instances → a no-op (no state side effects).
24
+ //
25
+ // BR-2 holds: the sweep arms, nudges, and logs — it never advances an
26
+ // instance (project() stays the sole advance write path).
27
+ import { evaluateStepDeadline } from "./workflow-deadline.js";
28
+ import { ensureWorkflowKeepaliveArmed } from "./workflow-keepalive-arming.js";
29
+ export async function runWorkflowBootSweep(deps) {
30
+ const log = deps.log ?? (() => { });
31
+ const now = (deps.now ?? (() => new Date()))();
32
+ const instances = [
33
+ ...deps.instanceStore.listByStatus("active"),
34
+ ...deps.instanceStore.listByStatus("waiting"),
35
+ ];
36
+ const result = {
37
+ instancesSwept: instances.length,
38
+ keepalivesArmed: 0,
39
+ lostNudgesReissued: 0,
40
+ stuckSurfaced: 0,
41
+ exceptionItemsCreated: 0,
42
+ };
43
+ if (instances.length === 0) {
44
+ log("workflow boot sweep: 0 in-flight instances (no-op)");
45
+ return result;
46
+ }
47
+ for (const instance of instances) {
48
+ const packets = instance.currentFrontier
49
+ .map((id) => deps.queueRepo.getById(id))
50
+ .filter((p) => p != null);
51
+ // 1. Re-arm the keepalive (idempotent; heals pre-WF-1 instances).
52
+ const fallbackOwner = packets[0]?.destinationSession ?? instance.createdBySession;
53
+ if (fallbackOwner && fallbackOwner.includes("@")) {
54
+ const armed = ensureWorkflowKeepaliveArmed(deps.watchdogJobsRepo, {
55
+ instanceId: instance.instanceId,
56
+ targetSession: fallbackOwner,
57
+ registeredBySession: instance.createdBySession,
58
+ });
59
+ if (armed.newlyArmed)
60
+ result.keepalivesArmed += 1;
61
+ }
62
+ // 2. Lost-nudge recovery: routed-but-never-nudged pending packets.
63
+ for (const packet of packets) {
64
+ if (packet.state === "pending" && packet.lastNudgeAttempt === null) {
65
+ result.lostNudgesReissued += 1;
66
+ await deps.queueRepo.maybeNudge(packet.qitemId, packet.destinationSession, undefined, instance.createdBySession);
67
+ }
68
+ }
69
+ // 3. Deadline evaluation (derived; the unclaimed frontier is a
70
+ // FIRST-CLASS case here — never invisible to an in-progress-only
71
+ // scan like findOverdue).
72
+ const verdict = evaluateStepDeadline(instance, packets, now);
73
+ if (verdict.state !== "healthy" && verdict.evidence) {
74
+ result.stuckSurfaced += 1;
75
+ log(`workflow boot sweep: instance ${instance.instanceId} STUCK (${verdict.state}) — step ${verdict.evidence.stepId ?? "?"}, packet ${verdict.evidence.packetId}, owner ${verdict.evidence.ownerSession}, anchor ${verdict.evidence.anchor}@${verdict.evidence.anchorAt}, overdue ${verdict.evidence.overdueBySeconds}s`);
76
+ // Re-nudge the overdue owner (the keepalive will keep firing on
77
+ // its own cadence; boot gives the immediate wake).
78
+ await deps.queueRepo.maybeNudge(verdict.evidence.packetId, verdict.evidence.ownerSession, undefined, instance.createdBySession);
79
+ // OPR.0.4.6.WF5 FR-2 class (b): ensure the durable exception item
80
+ // at detection. Non-fatal: an item failure must not break the
81
+ // sweep's other legs (the next pass re-detects — the guarantee).
82
+ if (deps.ensureStuckExceptionItem) {
83
+ try {
84
+ const ensured = await deps.ensureStuckExceptionItem({
85
+ workflowName: instance.workflowName,
86
+ workflowVersion: instance.workflowVersion,
87
+ createdBySession: instance.createdBySession,
88
+ verdict,
89
+ });
90
+ if (ensured.outcome === "created")
91
+ result.exceptionItemsCreated += 1;
92
+ }
93
+ catch (err) {
94
+ log(`workflow boot sweep: exception-item ensure failed (non-fatal) for ${instance.instanceId}: ${err instanceof Error ? err.message : String(err)}`);
95
+ }
96
+ }
97
+ }
98
+ }
99
+ log(`workflow boot sweep: ${result.instancesSwept} in-flight instance(s) — ${result.keepalivesArmed} keepalive(s) armed, ${result.lostNudgesReissued} lost nudge(s) reissued, ${result.stuckSurfaced} stuck surfaced, ${result.exceptionItemsCreated} exception item(s) created`);
100
+ return result;
101
+ }
102
+ //# sourceMappingURL=workflow-boot-sweep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-boot-sweep.js","sourceRoot":"","sources":["../../src/domain/workflow-boot-sweep.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,mDAAmD;AACnD,EAAE;AACF,qEAAqE;AACrE,sEAAsE;AACtE,uEAAuE;AACvE,uEAAuE;AACvE,2BAA2B;AAC3B,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,uBAAuB;AACvB,6DAA6D;AAC7D,mEAAmE;AACnE,iEAAiE;AACjE,sEAAsE;AACtE,6DAA6D;AAC7D,+DAA+D;AAC/D,uEAAuE;AACvE,kEAAkE;AAClE,EAAE;AACF,gEAAgE;AAChE,yDAAyD;AACzD,EAAE;AACF,sEAAsE;AACtE,0DAA0D;AAK1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,EAAE,4BAA4B,EAAE,MAAM,gCAAgC,CAAC;AA0B9E,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAA2B;IAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACnC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;IAC/C,MAAM,SAAS,GAAG;QAChB,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,QAAQ,CAAC;QAC5C,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC;KAC9C,CAAC;IACF,MAAM,MAAM,GAA4B;QACtC,cAAc,EAAE,SAAS,CAAC,MAAM;QAChC,eAAe,EAAE,CAAC;QAClB,kBAAkB,EAAE,CAAC;QACrB,aAAa,EAAE,CAAC;QAChB,qBAAqB,EAAE,CAAC;KACzB,CAAC;IACF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,GAAG,CAAC,oDAAoD,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe;aACrC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;aACvC,MAAM,CAAC,CAAC,CAAC,EAA8B,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;QAExD,kEAAkE;QAClE,MAAM,aAAa,GACjB,OAAO,CAAC,CAAC,CAAC,EAAE,kBAAkB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;QAC9D,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,MAAM,KAAK,GAAG,4BAA4B,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAChE,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,aAAa,EAAE,aAAa;gBAC5B,mBAAmB,EAAE,QAAQ,CAAC,gBAAgB;aAC/C,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,UAAU;gBAAE,MAAM,CAAC,eAAe,IAAI,CAAC,CAAC;QACpD,CAAC;QAED,mEAAmE;QACnE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,MAAM,CAAC,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACnE,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC;gBAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC7B,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,kBAAkB,EACzB,SAAS,EACT,QAAQ,CAAC,gBAAgB,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,+DAA+D;QAC/D,iEAAiE;QACjE,0BAA0B;QAC1B,MAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;YACpD,MAAM,CAAC,aAAa,IAAI,CAAC,CAAC;YAC1B,GAAG,CACD,iCAAiC,QAAQ,CAAC,UAAU,WAAW,OAAO,CAAC,KAAK,YAAY,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,GAAG,YAAY,OAAO,CAAC,QAAQ,CAAC,QAAQ,WAAW,OAAO,CAAC,QAAQ,CAAC,YAAY,YAAY,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,aAAa,OAAO,CAAC,QAAQ,CAAC,gBAAgB,GAAG,CACrT,CAAC;YACF,gEAAgE;YAChE,mDAAmD;YACnD,MAAM,IAAI,CAAC,SAAS,CAAC,UAAU,CAC7B,OAAO,CAAC,QAAQ,CAAC,QAAQ,EACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,EAC7B,SAAS,EACT,QAAQ,CAAC,gBAAgB,CAC1B,CAAC;YACF,kEAAkE;YAClE,8DAA8D;YAC9D,iEAAiE;YACjE,IAAI,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC;wBAClD,YAAY,EAAE,QAAQ,CAAC,YAAY;wBACnC,eAAe,EAAE,QAAQ,CAAC,eAAe;wBACzC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;wBAC3C,OAAO;qBACR,CAAC,CAAC;oBACH,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;wBAAE,MAAM,CAAC,qBAAqB,IAAI,CAAC,CAAC;gBACvE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,GAAG,CACD,qEAAqE,QAAQ,CAAC,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAChJ,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,GAAG,CACD,wBAAwB,MAAM,CAAC,cAAc,4BAA4B,MAAM,CAAC,eAAe,wBAAwB,MAAM,CAAC,kBAAkB,4BAA4B,MAAM,CAAC,aAAa,oBAAoB,MAAM,CAAC,qBAAqB,4BAA4B,CAC7Q,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC"}