@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
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-spec-cache.js","sourceRoot":"","sources":["../../src/domain/workflow-spec-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-spec-cache.js","sourceRoot":"","sources":["../../src/domain/workflow-spec-cache.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,38 @@
1
1
  export type WorkflowExitKind = "handoff" | "waiting" | "done" | "failed";
2
+ /** OPR.0.4.6.WF2 FR-1: the closed v1 branch-key set — exactly the recorded
3
+ * exit enum. Growth ONLY via the step-declared-outcome-enums rail (PRD §6
4
+ * named deferral); never free-text, identity, or opaque evidence JSON. */
5
+ export declare const WORKFLOW_EXIT_KINDS: readonly ["handoff", "waiting", "done", "failed"];
6
+ /** OPR.0.4.6.WF2 FR-2: the pinnable harness value space — AGENT harnesses
7
+ * only. `terminal` is deliberately excluded (a terminal node is not an
8
+ * agent harness); Pi Agent joins in 0.4.7 as a value-space extension. */
9
+ export declare const WORKFLOW_AGENT_HARNESSES: readonly ["claude-code", "codex"];
10
+ export type WorkflowAgentHarness = (typeof WORKFLOW_AGENT_HARNESSES)[number];
11
+ /** OPR.0.4.6.WF2 FR-5: the structured step-level gate declaration (singular
12
+ * per step; arch-RULED shape — supersedes the removed `gates[]` string
13
+ * list). WF-2 owns the field + validation + compilation to the SHIPPED
14
+ * 0.4.4 gate primitives; WF-5 owns gate SEMANTICS (trip conditions,
15
+ * escalation policy). Target kinds: a human seat session (compiles to the
16
+ * human-routed write path w/ summary + evidence_ref) or a declared role
17
+ * name (compiles to an ordinary agent-routed item to that role's seat). */
18
+ export interface WorkflowGateSpec {
19
+ /** A human seat session (`human@kernel` form) or a declared role name. */
20
+ target: string;
21
+ /** Plain-language summary carried on the gate item. REQUIRED for a
22
+ * human target (the shipped human-route write path enforces it). */
23
+ summary?: string;
24
+ /** Durable evidence pointer (rides queue_items.evidence_ref, migration
25
+ * 048). REQUIRED for a human target. */
26
+ evidence_ref?: string;
27
+ }
2
28
  export interface WorkflowRoleSpec {
3
- /** Skill identifiers that an agent in this role implements. */
29
+ /** Skill identifiers that an agent in this role implements.
30
+ * DISPOSITION (WF-1 FR-9): explicitly-v2 — documentation-only;
31
+ * owner resolution uses preferred_targets. Validator advisory
32
+ * `declared_not_enforced_v1` on use. */
4
33
  skill_refs?: string[];
5
- /** Operator-supplied preferred session targets for this role. */
34
+ /** Operator-supplied preferred session targets for this role.
35
+ * CONSUMED: resolveDefaultOwner / entry-owner resolution. */
6
36
  preferred_targets?: string[];
7
37
  }
8
38
  export interface WorkflowStepSpec {
@@ -14,35 +44,107 @@ export interface WorkflowStepSpec {
14
44
  objective?: string;
15
45
  /** Allowed exit kinds for this step. Subset of WorkflowExitKind values. */
16
46
  allowed_exits?: WorkflowExitKind[];
17
- /** Next-hop hint structure (informs projection). */
47
+ /** Next-hop hint structure (informs projection).
48
+ * OPR.0.4.6.WF2 FR-4: `mode: prefer` is REMOVED from the value space
49
+ * (it never had distinct behavior — identical to omitting mode); the
50
+ * parser rejects it with a what/why/fix migration error. */
18
51
  next_hop?: {
19
- mode?: "prefer" | "require" | "forbid";
52
+ mode?: "require" | "forbid";
20
53
  suggested_roles?: string[];
54
+ /** OPR.0.4.6.WF2 FR-1: conditional-on-outcome branching — recorded
55
+ * exit → successor step id. Keys are the closed exit enum ONLY
56
+ * (BR-1 branch purity). A MAPPED exit routes to its target inside
57
+ * the same scribe transaction (instance stays ACTIVE); unmapped
58
+ * exits keep today's terminal/park behavior exactly. */
59
+ on?: Partial<Record<WorkflowExitKind, string>>;
21
60
  };
22
- /** Named gates the step depends on (graduation; not enforced in v1). */
23
- gates?: string[];
61
+ /** OPR.0.4.6.WF2 FR-2: pin this step to an agent harness. Owner
62
+ * resolution picks the first preferred_target whose node runtime
63
+ * matches; no match = structured routing failure (never a silent
64
+ * mis-route). Absent = today's preferred_targets[0] exactly. */
65
+ harness?: WorkflowAgentHarness;
66
+ /** OPR.0.4.6.WF2 FR-3: pin this step to a host — "local" (or absent:
67
+ * full execution today) or a registered hosts.yaml id. A REMOTE pin
68
+ * validates as language but fails loud at instantiate with the MH-3
69
+ * boundary error (cross-host queue routing does not exist yet);
70
+ * never a silent local fallback. */
71
+ host?: string;
72
+ /** OPR.0.4.6.WF2 FR-5: the singular structured gate declaration —
73
+ * see WorkflowGateSpec. Replaces the removed `gates?: string[]`. */
74
+ gate?: WorkflowGateSpec;
24
75
  }
25
76
  export interface WorkflowInvariants {
77
+ /** DISPOSITION (WF-1 FR-9): explicitly-v2 — gates nothing today.
78
+ * Validator advisory `declared_not_enforced_v1` on use. */
26
79
  continuation_required?: boolean;
80
+ /** CONSUMED: projector allowed_exits enforcement (validator
81
+ * subset-checks step allowed_exits against this). */
27
82
  allowed_exits?: WorkflowExitKind[];
83
+ /** DISPOSITION (WF-1 FR-9): explicitly-v2 — lineage IS always
84
+ * preserved via chain_of_record regardless; the flag gates
85
+ * nothing. Advisory on use. */
28
86
  preserve_lineage?: boolean;
87
+ /** DISPOSITION (WF-1 FR-9): explicitly-v2 — closure IS always
88
+ * required by the hot-potato contract; the flag gates nothing.
89
+ * Advisory on use. */
29
90
  closure_required?: boolean;
30
91
  }
92
+ /** DISPOSITION (WF-1 FR-9): explicitly-v2 — display-only messages,
93
+ * no consumer renders them yet. Advisory on use. */
31
94
  export interface WorkflowClosureMessages {
32
95
  success?: string;
33
96
  degraded?: string;
34
97
  failed?: string;
35
98
  }
36
99
  export interface WorkflowLoopGuards {
37
- /** Maximum total step transitions an instance may execute. */
100
+ /** Maximum total step transitions an instance may execute.
101
+ * ENFORCED (WF-1 FR-6): compared at projection against the
102
+ * effective baseline (v1 baseline = 0); exceeding it fails the
103
+ * instance honestly with the guard named. Also sanctions cycles
104
+ * at validation (FR-7). */
38
105
  max_hops?: number;
39
- /** Maximum number of dynamically-spawned sub-instances. */
106
+ /** Maximum number of dynamically-spawned sub-instances.
107
+ * DISPOSITION (WF-1 FR-9, arch-RULED): explicitly-v2 — no
108
+ * spawn/fan-out seam exists in the single-frontier model;
109
+ * enforcement is a NAMED acceptance item of the WF-2/WF-6
110
+ * parallel-frontier fan-out work. Advisory on use. */
40
111
  spawn_budget?: number;
41
112
  }
113
+ /** OPR.0.4.6.WF5 FR-2: the maturity-dial position value space (closed).
114
+ * `orchestrator` = the item routes to the declared orchestrator role's
115
+ * resolved seat (the v1.3 founder default); `human_only` = the item
116
+ * routes to the human seat FIRST and gates there (the orchestrator
117
+ * never auto-acts). */
118
+ export declare const WORKFLOW_EXCEPTION_DIAL_POSITIONS: readonly ["orchestrator", "human_only"];
119
+ export type WorkflowExceptionDialPosition = (typeof WORKFLOW_EXCEPTION_DIAL_POSITIONS)[number];
120
+ /** OPR.0.4.6.WF5 FR-2: the spec-declared exception routing (the dial's
121
+ * per-workflow / per-class config surface — the previously-deferred
122
+ * spec-declared target, UN-deferred by the v1.3 inversion). ROUTING
123
+ * config only: FR-1's detection classes are untouched by any value
124
+ * here. Absent entirely = the host-default → orchestrator-first chain. */
125
+ export interface WorkflowExceptionRoutingSpec {
126
+ /** Per-workflow dial position (chain link 2). */
127
+ default?: WorkflowExceptionDialPosition;
128
+ /** The declared orchestrator ROLE (chain link 3's input) — resolved
129
+ * through the SAME shipped role→preferred_targets mechanism step
130
+ * owners use. Must name a declared role (validator graph check). */
131
+ orchestrator_role?: string;
132
+ /** Per-exception-class overrides (chain link 1). Keys are the closed
133
+ * FR-1 class set; `human_gate_trip` is intrinsically human-only and
134
+ * not configurable (parse-rejected). */
135
+ classes?: Record<string, WorkflowExceptionDialPosition>;
136
+ }
42
137
  export interface WorkflowSpec {
43
138
  id: string;
44
139
  version: string;
45
140
  objective?: string;
141
+ /**
142
+ * OPR.0.4.6.FAC1: `target.rig` is a DEFAULT, not a hardcode — the
143
+ * instantiate-time `targetRig` param overrides it, and the effective
144
+ * binding persists on the instance (`WorkflowInstance.boundRig`).
145
+ * No routing path reads this field at runtime (display/label
146
+ * surfaces only); it is kept, never removed/deprecated here.
147
+ */
46
148
  target?: {
47
149
  rig?: string;
48
150
  };
@@ -54,6 +156,8 @@ export interface WorkflowSpec {
54
156
  invariants?: WorkflowInvariants;
55
157
  closure?: WorkflowClosureMessages;
56
158
  loop_guards?: WorkflowLoopGuards;
159
+ /** OPR.0.4.6.WF5 FR-2: the maturity dial — see WorkflowExceptionRoutingSpec. */
160
+ exception_routing?: WorkflowExceptionRoutingSpec;
57
161
  /** Coordination terminal-turn rule; defaults to "hot_potato". */
58
162
  coordination_terminal_turn_rule?: string;
59
163
  }
@@ -77,9 +181,40 @@ export interface WorkflowInstance {
77
181
  */
78
182
  currentStepId: string | null;
79
183
  hopCount: number;
184
+ /** DISPOSITION (WF-1 FR-9): explicitly-v2 — an instance column no
185
+ * code path ever writes (always null); reserved for the POC's
186
+ * fallback-synthesis graduation. Not a spec key (not parseable),
187
+ * so no validator advisory — this JSDoc is its disposition. */
80
188
  fallbackSynthesis: string | null;
81
189
  lastContinuationDecision: Record<string, unknown> | null;
82
190
  completedAt: string | null;
191
+ /**
192
+ * OPR.0.4.6.WF1 FR-5: optimistic-concurrency version (migration 049).
193
+ * Bumped by every guarded advance; a stale writer's UPDATE matches
194
+ * zero rows and throws `instance_version_conflict` (whole txn rolls
195
+ * back). Absorbed waiting-replays bump NOTHING (zero writes).
196
+ */
197
+ version: number;
198
+ /**
199
+ * OPR.0.4.6.WF5 FR-4 (migration 051): the recorded redrive count —
200
+ * a first-class fact (the Step Functions redriveCount shape), never
201
+ * inferred from the trail.
202
+ */
203
+ resumeCount: number;
204
+ /**
205
+ * OPR.0.4.6.WF5 FR-4 (migration 051): the LIVELOCK RAIL — max_hops
206
+ * bounds each DRIVE: the projection guard compares hops accrued
207
+ * since the LATEST instantiate (0) or resume (hopCount at resume).
208
+ */
209
+ hopsBaseline: number;
210
+ /**
211
+ * OPR.0.4.6.FAC1 (migration 052): the rig NAME this instance is
212
+ * bound to — `targetRig ?? spec.target.rig ?? null` recorded at
213
+ * instantiate. Role-capability resolution (tier 3) runs against
214
+ * this rig's inventory; name→id resolves FRESH at each resolution
215
+ * site. null = unbound = pre-FAC-1 behavior byte-identical.
216
+ */
217
+ boundRig: string | null;
83
218
  }
84
219
  export interface WorkflowStepTrailEntry {
85
220
  trailId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-types.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-types.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-types.ts"],"names":[],"mappings":"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"}
@@ -7,5 +7,18 @@
7
7
  // step projection, append-only step trail. Multi-hop chaining +
8
8
  // gate-return-sweep + complex routing tables are graduations
9
9
  // (per PRD § Risks "Workflow runtime over-engineered").
10
- export {};
10
+ /** OPR.0.4.6.WF2 FR-1: the closed v1 branch-key set — exactly the recorded
11
+ * exit enum. Growth ONLY via the step-declared-outcome-enums rail (PRD §6
12
+ * named deferral); never free-text, identity, or opaque evidence JSON. */
13
+ export const WORKFLOW_EXIT_KINDS = ["handoff", "waiting", "done", "failed"];
14
+ /** OPR.0.4.6.WF2 FR-2: the pinnable harness value space — AGENT harnesses
15
+ * only. `terminal` is deliberately excluded (a terminal node is not an
16
+ * agent harness); Pi Agent joins in 0.4.7 as a value-space extension. */
17
+ export const WORKFLOW_AGENT_HARNESSES = ["claude-code", "codex"];
18
+ /** OPR.0.4.6.WF5 FR-2: the maturity-dial position value space (closed).
19
+ * `orchestrator` = the item routes to the declared orchestrator role's
20
+ * resolved seat (the v1.3 founder default); `human_only` = the item
21
+ * routes to the human seat FIRST and gates there (the orchestrator
22
+ * never auto-acts). */
23
+ export const WORKFLOW_EXCEPTION_DIAL_POSITIONS = ["orchestrator", "human_only"];
11
24
  //# sourceMappingURL=workflow-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-types.js","sourceRoot":"","sources":["../../src/domain/workflow-types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,oEAAoE;AACpE,gEAAgE;AAChE,6DAA6D;AAC7D,wDAAwD"}
1
+ {"version":3,"file":"workflow-types.js","sourceRoot":"","sources":["../../src/domain/workflow-types.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,EAAE;AACF,oEAAoE;AACpE,gEAAgE;AAChE,6DAA6D;AAC7D,wDAAwD;AAIxD;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAErF;;0EAE0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,aAAa,EAAE,OAAO,CAAU,CAAC;AA+G1E;;;;wBAIwB;AACxB,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,cAAc,EAAE,YAAY,CAAU,CAAC"}
@@ -25,7 +25,17 @@ export interface SeatLivenessCheckFn {
25
25
  reason?: string;
26
26
  };
27
27
  }
28
+ /** OPR.0.4.6.WF2 FR-3: host-registry membership probe. Injected by the
29
+ * runtime (built on the daemon hosts-registry reader) so the validator
30
+ * stays pure; absent (bare unit tests) skips the membership check —
31
+ * the production validate/instantiate path always injects it. */
32
+ export interface HostRegistryLookupFn {
33
+ (hostId: string): {
34
+ registered: boolean;
35
+ registeredIds: string[];
36
+ };
37
+ }
28
38
  export declare class WorkflowValidator {
29
- validate(spec: WorkflowSpec, seatLivenessCheck?: SeatLivenessCheckFn): ValidationResult;
39
+ validate(spec: WorkflowSpec, seatLivenessCheck?: SeatLivenessCheckFn, hostRegistryLookup?: HostRegistryLookupFn): ValidationResult;
30
40
  }
31
41
  //# sourceMappingURL=workflow-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-validator.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-validator.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,CACN,IAAI,EAAE,YAAY,EAClB,iBAAiB,CAAC,EAAE,mBAAmB,GACtC,gBAAgB;CAkGpB"}
1
+ {"version":3,"file":"workflow-validator.d.ts","sourceRoot":"","sources":["../../src/domain/workflow-validator.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,YAAY,EAAoB,MAAM,qBAAqB,CAAC;AAI1E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,OAAO,EAAE;QACP,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,CAAC,UAAU,EAAE,MAAM,GAAG;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3D;AAED;;;kEAGkE;AAClE,MAAM,WAAW,oBAAoB;IACnC,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,aAAa,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;CACpE;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,CACN,IAAI,EAAE,YAAY,EAClB,iBAAiB,CAAC,EAAE,mBAAmB,EACvC,kBAAkB,CAAC,EAAE,oBAAoB,GACxC,gBAAgB;CA6VpB"}
@@ -16,8 +16,10 @@
16
16
  //
17
17
  // Returns a structured ValidationResult — per PRD § Honest error
18
18
  // reporting "what failed + why it matters + what to do".
19
+ import { resolveNextStep } from "./workflow-projector.js";
20
+ import { isHumanSeatSession } from "./human-route-enforcer.js";
19
21
  export class WorkflowValidator {
20
- validate(spec, seatLivenessCheck) {
22
+ validate(spec, seatLivenessCheck, hostRegistryLookup) {
21
23
  const issues = [];
22
24
  const declaredRoles = new Set(Object.keys(spec.roles ?? {}));
23
25
  if (spec.entry?.role && !declaredRoles.has(spec.entry.role)) {
@@ -28,6 +30,23 @@ export class WorkflowValidator {
28
30
  severity: "error",
29
31
  });
30
32
  }
33
+ // OPR.0.4.6.WF1 (guard blocker 3): steps[0] is THE authoritative
34
+ // entry (the ratified WF-2 grounding: entry.role is cross-checked,
35
+ // not resolved — workflow-runtime.ts instantiates from steps[0]).
36
+ // A declared entry.role that DISAGREES with steps[0].actor_role
37
+ // would make validation/graph surfaces claim entry B while the
38
+ // runtime routes the first packet to A — rejected loud so the
39
+ // contract can never silently fork.
40
+ if (spec.entry?.role &&
41
+ spec.steps[0]?.actor_role &&
42
+ spec.entry.role !== spec.steps[0].actor_role) {
43
+ issues.push({
44
+ code: "entry_role_mismatch",
45
+ message: `workflow.entry.role is "${spec.entry.role}" but the authoritative entry is steps[0] ("${spec.steps[0].id}", actor_role "${spec.steps[0].actor_role}") — the runtime instantiates from steps[0], so a differing entry.role would lie on every surface that reports it. Reorder steps so the intended entry step is first, or fix/remove entry.role.`,
46
+ field: "workflow.entry.role",
47
+ severity: "error",
48
+ });
49
+ }
31
50
  const seenStepIds = new Set();
32
51
  const allowedExitsInvariant = spec.invariants?.allowed_exits;
33
52
  spec.steps.forEach((step, idx) => {
@@ -79,6 +98,232 @@ export class WorkflowValidator {
79
98
  }
80
99
  }
81
100
  });
101
+ // ── OPR.0.4.6.WF1 FR-7 (G7): graph validation over the REAL
102
+ // resolution semantics — the walk below calls the projector's own
103
+ // exported resolveNextStep (suggested_roles edges ∪
104
+ // declaration-order fallback, forbid/require cuts honored), never
105
+ // a parallel re-implementation. ──────────────────────────────────
106
+ // next_hop.suggested_roles target checks: each suggested role must
107
+ // be declared AND resolvable to at least one step (that is how
108
+ // resolveNextStep matches — a suggestion no step satisfies is a
109
+ // dead edge the author almost certainly misspelled).
110
+ spec.steps.forEach((step, idx) => {
111
+ for (const role of step.next_hop?.suggested_roles ?? []) {
112
+ const fieldBase = `workflow.steps[${idx}].next_hop.suggested_roles`;
113
+ if (!declaredRoles.has(role)) {
114
+ issues.push({
115
+ code: "next_hop_role_not_declared",
116
+ message: `step "${step.id}" suggests next-hop role "${role}" which is not declared in workflow.roles. Declare the role or fix the spelling — the edge can never route.`,
117
+ field: fieldBase,
118
+ severity: "error",
119
+ });
120
+ }
121
+ else if (!spec.steps.some((s) => s.actor_role === role)) {
122
+ issues.push({
123
+ code: "next_hop_role_has_no_step",
124
+ message: `step "${step.id}" suggests next-hop role "${role}" but no step declares actor_role "${role}" — resolveNextStep matches suggestions against step actor_roles, so this edge can never route. Add a step for the role or fix the suggestion.`,
125
+ field: fieldBase,
126
+ severity: "error",
127
+ });
128
+ }
129
+ }
130
+ });
131
+ // OPR.0.4.6.WF2 FR-1: branch-edge checks — every next_hop.on target
132
+ // must be an existing step id (the branch key set itself is closed
133
+ // at parse). A dead branch edge can never route.
134
+ spec.steps.forEach((step, idx) => {
135
+ for (const [exitKey, targetId] of Object.entries(step.next_hop?.on ?? {})) {
136
+ if (targetId && !spec.steps.some((s) => s.id === targetId)) {
137
+ issues.push({
138
+ code: "branch_target_not_found",
139
+ message: `step "${step.id}" branches exit "${exitKey}" to step "${targetId}" which does not exist. Fix the step id or remove the branch — the edge can never route.`,
140
+ field: `workflow.steps[${idx}].next_hop.on.${exitKey}`,
141
+ severity: "error",
142
+ });
143
+ }
144
+ }
145
+ });
146
+ // Reachability + cycle detection over the FULL successor graph:
147
+ // the structural edge (the projector's own exported resolveNextStep
148
+ // — never a parallel re-implementation) UNIONED with the WF-2
149
+ // branch edges (arch composition note: branch edges CREATE cycles —
150
+ // failed → remediate → verify → failed is the canonical remediation
151
+ // loop). A cycle is legitimate ONLY under a declared, enforceable
152
+ // max_hops (FR-6 enforces it at projection; without the guard it
153
+ // would hop unbounded, so validation fails naming the fix).
154
+ if (spec.steps.length > 0 && spec.steps.every((s) => s.id)) {
155
+ const stepById = new Map(spec.steps.map((s) => [s.id, s]));
156
+ const successorsOf = (step) => {
157
+ const out = [];
158
+ const structural = resolveNextStep(spec, step);
159
+ if (structural)
160
+ out.push(structural.id);
161
+ for (const targetId of Object.values(step.next_hop?.on ?? {})) {
162
+ if (targetId && stepById.has(targetId) && !out.includes(targetId)) {
163
+ out.push(targetId);
164
+ }
165
+ }
166
+ return out;
167
+ };
168
+ // Reachability: BFS from the authoritative entry (steps[0]).
169
+ const reachable = new Set();
170
+ const queue = [spec.steps[0].id];
171
+ while (queue.length > 0) {
172
+ const id = queue.shift();
173
+ if (reachable.has(id))
174
+ continue;
175
+ reachable.add(id);
176
+ const step = stepById.get(id);
177
+ if (step)
178
+ queue.push(...successorsOf(step));
179
+ }
180
+ // Cycle detection: DFS with an explicit recursion stack over the
181
+ // same successor graph; the first back-edge found names the cycle.
182
+ let cyclePath = null;
183
+ const color = new Map();
184
+ const stack = [];
185
+ const dfs = (id) => {
186
+ color.set(id, "gray");
187
+ stack.push(id);
188
+ const step = stepById.get(id);
189
+ for (const succ of step ? successorsOf(step) : []) {
190
+ const c = color.get(succ);
191
+ if (c === "gray") {
192
+ cyclePath = [...stack.slice(stack.indexOf(succ)), succ];
193
+ return true;
194
+ }
195
+ if (c !== "black" && dfs(succ))
196
+ return true;
197
+ }
198
+ stack.pop();
199
+ color.set(id, "black");
200
+ return false;
201
+ };
202
+ dfs(spec.steps[0].id);
203
+ // Guard blocker 2: only an ENFORCEABLE guard sanctions a cycle —
204
+ // a non-integer/non-positive max_hops (possible in pre-fix cached
205
+ // spec_json blobs; the parser now rejects new ones) can never
206
+ // trip at projection, so it sanctions nothing.
207
+ const enforceableMaxHops = typeof spec.loop_guards?.max_hops === "number" &&
208
+ Number.isInteger(spec.loop_guards.max_hops) &&
209
+ spec.loop_guards.max_hops >= 1;
210
+ if (cyclePath && !enforceableMaxHops) {
211
+ issues.push({
212
+ code: "cycle_without_max_hops",
213
+ message: `the routing graph cycles (${cyclePath.join(" → ")}) and workflow.loop_guards.max_hops is not declared — the instance would hop unbounded. Loops (including branch-created remediation loops) are legitimate only under an enforced guard: declare loop_guards.max_hops to sanction the cycle.`,
214
+ field: "workflow.loop_guards.max_hops",
215
+ severity: "error",
216
+ });
217
+ }
218
+ for (const step of spec.steps) {
219
+ if (step.id && !reachable.has(step.id)) {
220
+ issues.push({
221
+ code: "step_unreachable",
222
+ message: `step "${step.id}" is unreachable: neither the structural routing walk from the entry step ("${spec.steps[0].id}") nor any branch edge reaches it. Fix the next_hop edges/branches or remove the dead step.`,
223
+ field: `workflow.steps`,
224
+ severity: "error",
225
+ });
226
+ }
227
+ }
228
+ }
229
+ // OPR.0.4.6.WF2 FR-3: host-pin membership against the live registry
230
+ // (when the production lookup is injected). "local" and absent are
231
+ // always legal; an unknown id can never route.
232
+ if (hostRegistryLookup) {
233
+ spec.steps.forEach((step, idx) => {
234
+ if (step.host && step.host !== "local") {
235
+ const probe = hostRegistryLookup(step.host);
236
+ if (!probe.registered) {
237
+ issues.push({
238
+ code: "host_not_registered",
239
+ message: `step "${step.id}" pins host "${step.host}" which is not in the hosts registry (~/.openrig/hosts.yaml). Registered ids: ${probe.registeredIds.length > 0 ? `[${probe.registeredIds.join(", ")}]` : "(none)"}. Register the host with rig host add, use "local", or remove the pin.`,
240
+ field: `workflow.steps[${idx}].host`,
241
+ severity: "error",
242
+ });
243
+ }
244
+ }
245
+ });
246
+ }
247
+ // OPR.0.4.6.WF2 FR-5: gate target semantics — a HUMAN-seat target
248
+ // requires summary + evidence_ref (the shipped human-route write
249
+ // path enforces them at create; failing HERE is the fail-at-author-
250
+ // time mini-req); any other target must be a declared role. A
251
+ // handler role with no preferred_targets gets a warning (the gate
252
+ // compile fails loud at trip time if still unresolvable).
253
+ spec.steps.forEach((step, idx) => {
254
+ const gate = step.gate;
255
+ if (!gate)
256
+ return;
257
+ const fieldBase = `workflow.steps[${idx}].gate`;
258
+ if (isHumanSeatSession(gate.target)) {
259
+ if (!gate.summary || !gate.evidence_ref) {
260
+ issues.push({
261
+ code: "gate_human_fields_missing",
262
+ message: `step "${step.id}" gates on human seat ${gate.target} but is missing ${!gate.summary ? "summary" : "evidence_ref"}. A human-routed gate item must carry a plain-language summary AND a durable evidence pointer (the shipped human-route contract) — add both.`,
263
+ field: fieldBase,
264
+ severity: "error",
265
+ });
266
+ }
267
+ }
268
+ else if (!declaredRoles.has(gate.target)) {
269
+ issues.push({
270
+ code: "gate_target_unresolved",
271
+ message: `step "${step.id}" gates on "${gate.target}" which is neither a human seat session (human@kernel form) nor a role declared in workflow.roles. Declare the handler role or use a human seat session.`,
272
+ field: `${fieldBase}.target`,
273
+ severity: "error",
274
+ });
275
+ }
276
+ else if ((spec.roles?.[gate.target]?.preferred_targets ?? []).length === 0) {
277
+ issues.push({
278
+ code: "gate_handler_no_targets",
279
+ message: `step "${step.id}" gates on handler role "${gate.target}" which declares no preferred_targets — the gate item will have no seat to route to when it trips. Add preferred_targets to the role before instantiating.`,
280
+ field: `${fieldBase}.target`,
281
+ severity: "warning",
282
+ });
283
+ }
284
+ });
285
+ // ── OPR.0.4.6.WF1 FR-9 (G8): the inert-config sweep — every
286
+ // declared-but-unenforced key is EXPLICITLY-V2, machine-readably:
287
+ // using one produces a fail-open advisory (warning, exit 0) naming
288
+ // the key as declared-but-not-enforced-in-v1. No key may sit in
289
+ // the silent third state. Consumed keys get no advisory:
290
+ // invariants.allowed_exits (projector exit enforcement),
291
+ // loop_guards.max_hops (FR-6), roles.*.preferred_targets
292
+ // (owner resolution). ──────────────────────────────────────────
293
+ const v2Advisory = (key, field, extra) => {
294
+ issues.push({
295
+ code: "declared_not_enforced_v1",
296
+ message: `"${key}" is declared but not enforced in v1 — the engine records it without acting on it${extra ? ` (${extra})` : ""}. Keep it for forward-compatibility or remove it; it changes nothing today.`,
297
+ field,
298
+ severity: "warning",
299
+ });
300
+ };
301
+ if (spec.invariants?.continuation_required !== undefined) {
302
+ v2Advisory("invariants.continuation_required", "workflow.invariants.continuation_required");
303
+ }
304
+ if (spec.invariants?.preserve_lineage !== undefined) {
305
+ v2Advisory("invariants.preserve_lineage", "workflow.invariants.preserve_lineage", "lineage IS always preserved via chain_of_record; the flag itself gates nothing");
306
+ }
307
+ if (spec.invariants?.closure_required !== undefined) {
308
+ v2Advisory("invariants.closure_required", "workflow.invariants.closure_required", "closure IS always required by the hot-potato contract; the flag itself gates nothing");
309
+ }
310
+ if (spec.closure) {
311
+ v2Advisory("closure.{success,degraded,failed}", "workflow.closure", "display-only messages; no consumer renders them yet");
312
+ }
313
+ if (spec.loop_guards?.spawn_budget !== undefined) {
314
+ v2Advisory("loop_guards.spawn_budget", "workflow.loop_guards.spawn_budget", "it guards a SPAWN mechanism and no spawn/fan-out seam exists in the single-frontier model; enforcement is a NAMED acceptance item of the WF-2/WF-6 parallel-frontier fan-out work (arch ruling 2026-07-06)");
315
+ }
316
+ // OPR.0.4.6.WF2 FR-4: the `gates[]` and `next_hop.mode: prefer`
317
+ // advisories are GONE — both forms are now REMOVED at parse with
318
+ // specific what/why/fix migration errors (spec_gates_removed /
319
+ // spec_prefer_mode_removed), so a spec carrying them can never
320
+ // reach this validator. The inert third state died at the parser.
321
+ for (const [roleName, role] of Object.entries(spec.roles ?? {})) {
322
+ if (role?.skill_refs && role.skill_refs.length > 0) {
323
+ v2Advisory("skill_refs", `workflow.roles.${roleName}.skill_refs`, "documentation-only; owner resolution uses preferred_targets");
324
+ break; // one advisory for the whole spec, not per role
325
+ }
326
+ }
82
327
  if (seatLivenessCheck) {
83
328
  // Probe each role's preferred_targets[]. A role with no live
84
329
  // preferred target produces a warning (not an error) — agents