@openrig/cli 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +6 -8
  2. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +86 -0
  3. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +158 -0
  4. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +744 -96
  5. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  6. package/daemon/dist/adapters/codex-runtime-adapter.js +12 -8
  7. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  8. package/daemon/dist/adapters/pi-resume.d.ts +32 -0
  9. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -0
  10. package/daemon/dist/adapters/pi-resume.js +125 -0
  11. package/daemon/dist/adapters/pi-resume.js.map +1 -0
  12. package/daemon/dist/adapters/pi-runner-protocol.d.ts +88 -0
  13. package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -0
  14. package/daemon/dist/adapters/pi-runner-protocol.js +153 -0
  15. package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -0
  16. package/daemon/dist/adapters/pi-runner.d.ts +99 -0
  17. package/daemon/dist/adapters/pi-runner.d.ts.map +1 -0
  18. package/daemon/dist/adapters/pi-runner.js +519 -0
  19. package/daemon/dist/adapters/pi-runner.js.map +1 -0
  20. package/daemon/dist/adapters/pi-runtime-adapter.d.ts +61 -0
  21. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -0
  22. package/daemon/dist/adapters/pi-runtime-adapter.js +356 -0
  23. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -0
  24. package/daemon/dist/adapters/tmux.d.ts +22 -1
  25. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  26. package/daemon/dist/adapters/tmux.js +40 -1
  27. package/daemon/dist/adapters/tmux.js.map +1 -1
  28. package/daemon/dist/build-info.js +3 -3
  29. package/daemon/dist/builtins/workflow-specs/branched-remediation.yaml +31 -0
  30. package/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +152 -0
  31. package/daemon/dist/builtins/workflow-specs/gated-release.yaml +26 -0
  32. package/daemon/dist/builtins/workflow-specs/linear-build.yaml +21 -0
  33. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts +20 -0
  34. package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts.map +1 -0
  35. package/daemon/dist/db/migrations/049_workflow_instance_version.js +24 -0
  36. package/daemon/dist/db/migrations/049_workflow_instance_version.js.map +1 -0
  37. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts +22 -0
  38. package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts.map +1 -0
  39. package/daemon/dist/db/migrations/050_workflow_spec_json.js +26 -0
  40. package/daemon/dist/db/migrations/050_workflow_spec_json.js.map +1 -0
  41. package/daemon/dist/db/migrations/051_workflow_resume.d.ts +22 -0
  42. package/daemon/dist/db/migrations/051_workflow_resume.d.ts.map +1 -0
  43. package/daemon/dist/db/migrations/051_workflow_resume.js +27 -0
  44. package/daemon/dist/db/migrations/051_workflow_resume.js.map +1 -0
  45. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts +26 -0
  46. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts.map +1 -0
  47. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js +30 -0
  48. package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js.map +1 -0
  49. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts +48 -0
  50. package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts.map +1 -0
  51. package/daemon/dist/db/migrations/053_sessions_node_id_index.js +53 -0
  52. package/daemon/dist/db/migrations/053_sessions_node_id_index.js.map +1 -0
  53. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts +34 -0
  54. package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/054_queue_transitions_archive.js +49 -0
  56. package/daemon/dist/db/migrations/054_queue_transitions_archive.js.map +1 -0
  57. package/daemon/dist/domain/claim-service.d.ts +11 -0
  58. package/daemon/dist/domain/claim-service.d.ts.map +1 -1
  59. package/daemon/dist/domain/claim-service.js +3 -1
  60. package/daemon/dist/domain/claim-service.js.map +1 -1
  61. package/daemon/dist/domain/discovery-types.d.ts +1 -1
  62. package/daemon/dist/domain/discovery-types.d.ts.map +1 -1
  63. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +1 -0
  64. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  65. package/daemon/dist/domain/hosts/hosts-registry-reader.js +19 -0
  66. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  67. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts +11 -0
  68. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -0
  69. package/daemon/dist/domain/hosts/hosts-registry-writer.js +54 -0
  70. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -0
  71. package/daemon/dist/domain/hosts/read-through.d.ts +28 -0
  72. package/daemon/dist/domain/hosts/read-through.d.ts.map +1 -0
  73. package/daemon/dist/domain/hosts/read-through.js +139 -0
  74. package/daemon/dist/domain/hosts/read-through.js.map +1 -0
  75. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +21 -0
  76. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  77. package/daemon/dist/domain/hosts/remote-daemon-http.js +49 -0
  78. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  79. package/daemon/dist/domain/node-inventory.d.ts +18 -0
  80. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  81. package/daemon/dist/domain/node-inventory.js +206 -95
  82. package/daemon/dist/domain/node-inventory.js.map +1 -1
  83. package/daemon/dist/domain/node-launcher.d.ts +11 -0
  84. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  85. package/daemon/dist/domain/node-launcher.js +10 -0
  86. package/daemon/dist/domain/node-launcher.js.map +1 -1
  87. package/daemon/dist/domain/policies/workflow-keepalive.d.ts +7 -0
  88. package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
  89. package/daemon/dist/domain/policies/workflow-keepalive.js +93 -13
  90. package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
  91. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  92. package/daemon/dist/domain/ps-projection.js +37 -26
  93. package/daemon/dist/domain/ps-projection.js.map +1 -1
  94. package/daemon/dist/domain/queue-repository.d.ts +105 -0
  95. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  96. package/daemon/dist/domain/queue-repository.js +193 -4
  97. package/daemon/dist/domain/queue-repository.js.map +1 -1
  98. package/daemon/dist/domain/queue-retention.d.ts +130 -0
  99. package/daemon/dist/domain/queue-retention.d.ts.map +1 -0
  100. package/daemon/dist/domain/queue-retention.js +224 -0
  101. package/daemon/dist/domain/queue-retention.js.map +1 -0
  102. package/daemon/dist/domain/restore-orchestrator.d.ts +5 -0
  103. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  104. package/daemon/dist/domain/restore-orchestrator.js +29 -2
  105. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  106. package/daemon/dist/domain/resume-token-capture.d.ts +13 -0
  107. package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
  108. package/daemon/dist/domain/resume-token-capture.js +14 -1
  109. package/daemon/dist/domain/resume-token-capture.js.map +1 -1
  110. package/daemon/dist/domain/resume-token-validation.d.ts +1 -1
  111. package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -1
  112. package/daemon/dist/domain/resume-token-validation.js +58 -10
  113. package/daemon/dist/domain/resume-token-validation.js.map +1 -1
  114. package/daemon/dist/domain/review/compose.d.ts +50 -1
  115. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  116. package/daemon/dist/domain/review/compose.js +92 -3
  117. package/daemon/dist/domain/review/compose.js.map +1 -1
  118. package/daemon/dist/domain/review/fleet-compose.d.ts +52 -0
  119. package/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -0
  120. package/daemon/dist/domain/review/fleet-compose.js +294 -0
  121. package/daemon/dist/domain/review/fleet-compose.js.map +1 -0
  122. package/daemon/dist/domain/review/gather.d.ts +16 -1
  123. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  124. package/daemon/dist/domain/review/gather.js +177 -41
  125. package/daemon/dist/domain/review/gather.js.map +1 -1
  126. package/daemon/dist/domain/review/types.d.ts +104 -1
  127. package/daemon/dist/domain/review/types.d.ts.map +1 -1
  128. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  129. package/daemon/dist/domain/rig-expansion-service.js +3 -0
  130. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  131. package/daemon/dist/domain/rig-repository.d.ts +7 -6
  132. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  133. package/daemon/dist/domain/rig-repository.js +33 -11
  134. package/daemon/dist/domain/rig-repository.js.map +1 -1
  135. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  136. package/daemon/dist/domain/rigspec-codec.js +3 -0
  137. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  138. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  139. package/daemon/dist/domain/rigspec-exporter.js +4 -0
  140. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  141. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  142. package/daemon/dist/domain/rigspec-instantiator.js +11 -0
  143. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  144. package/daemon/dist/domain/rigspec-preflight.d.ts +6 -0
  145. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  146. package/daemon/dist/domain/rigspec-preflight.js +26 -1
  147. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  148. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  149. package/daemon/dist/domain/rigspec-schema.js +20 -1
  150. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  151. package/daemon/dist/domain/runtime-verifier.d.ts +7 -1
  152. package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
  153. package/daemon/dist/domain/runtime-verifier.js +39 -1
  154. package/daemon/dist/domain/runtime-verifier.js.map +1 -1
  155. package/daemon/dist/domain/seat-handover-service.d.ts +9 -0
  156. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  157. package/daemon/dist/domain/seat-handover-service.js +2 -0
  158. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  159. package/daemon/dist/domain/seat-identity-store.d.ts +7 -0
  160. package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
  161. package/daemon/dist/domain/seat-identity-store.js +27 -0
  162. package/daemon/dist/domain/seat-identity-store.js.map +1 -1
  163. package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
  164. package/daemon/dist/domain/seat-status-service.js +6 -4
  165. package/daemon/dist/domain/seat-status-service.js.map +1 -1
  166. package/daemon/dist/domain/session-name.d.ts +22 -0
  167. package/daemon/dist/domain/session-name.d.ts.map +1 -1
  168. package/daemon/dist/domain/session-name.js +29 -0
  169. package/daemon/dist/domain/session-name.js.map +1 -1
  170. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  171. package/daemon/dist/domain/slices/slice-detail-projector.js +4 -5
  172. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  173. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +18 -2
  174. package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
  175. package/daemon/dist/domain/spec-library-workflow-scanner.js +23 -1
  176. package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
  177. package/daemon/dist/domain/startup-proof.d.ts +10 -6
  178. package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
  179. package/daemon/dist/domain/startup-proof.js +35 -7
  180. package/daemon/dist/domain/startup-proof.js.map +1 -1
  181. package/daemon/dist/domain/successor-session-launcher.d.ts +16 -0
  182. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  183. package/daemon/dist/domain/successor-session-launcher.js +13 -0
  184. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  185. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +27 -0
  186. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -0
  187. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +67 -0
  188. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -0
  189. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +77 -0
  190. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -0
  191. package/daemon/dist/domain/terminal/herdr-adapter.js +266 -0
  192. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -0
  193. package/daemon/dist/domain/terminal/herdr-transport.d.ts +50 -0
  194. package/daemon/dist/domain/terminal/herdr-transport.d.ts.map +1 -0
  195. package/daemon/dist/domain/terminal/herdr-transport.js +145 -0
  196. package/daemon/dist/domain/terminal/herdr-transport.js.map +1 -0
  197. package/daemon/dist/domain/terminal/terminal-provider.d.ts +88 -0
  198. package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -0
  199. package/daemon/dist/domain/terminal/terminal-provider.js +17 -0
  200. package/daemon/dist/domain/terminal/terminal-provider.js.map +1 -0
  201. package/daemon/dist/domain/terminal/terminal-service.d.ts +60 -0
  202. package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -0
  203. package/daemon/dist/domain/terminal/terminal-service.js +174 -0
  204. package/daemon/dist/domain/terminal/terminal-service.js.map +1 -0
  205. package/daemon/dist/domain/terminal/terminal-views-store.d.ts +77 -0
  206. package/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +1 -0
  207. package/daemon/dist/domain/terminal/terminal-views-store.js +146 -0
  208. package/daemon/dist/domain/terminal/terminal-views-store.js.map +1 -0
  209. package/daemon/dist/domain/terminal/view-composer.d.ts +42 -0
  210. package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -0
  211. package/daemon/dist/domain/terminal/view-composer.js +137 -0
  212. package/daemon/dist/domain/terminal/view-composer.js.map +1 -0
  213. package/daemon/dist/domain/tmux-option-defaults.d.ts +89 -0
  214. package/daemon/dist/domain/tmux-option-defaults.d.ts.map +1 -0
  215. package/daemon/dist/domain/tmux-option-defaults.js +132 -0
  216. package/daemon/dist/domain/tmux-option-defaults.js.map +1 -0
  217. package/daemon/dist/domain/types.d.ts +34 -1
  218. package/daemon/dist/domain/types.d.ts.map +1 -1
  219. package/daemon/dist/domain/types.js.map +1 -1
  220. package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
  221. package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
  222. package/daemon/dist/domain/user-settings/settings-store.js +92 -0
  223. package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
  224. package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +1 -1
  225. package/daemon/dist/domain/workflow/slice-workflow-projection.js +6 -2
  226. package/daemon/dist/domain/workflow/slice-workflow-projection.js.map +1 -1
  227. package/daemon/dist/domain/workflow-boot-sweep.d.ts +28 -0
  228. package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -0
  229. package/daemon/dist/domain/workflow-boot-sweep.js +102 -0
  230. package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -0
  231. package/daemon/dist/domain/workflow-deadline.d.ts +74 -0
  232. package/daemon/dist/domain/workflow-deadline.d.ts.map +1 -0
  233. package/daemon/dist/domain/workflow-deadline.js +165 -0
  234. package/daemon/dist/domain/workflow-deadline.js.map +1 -0
  235. package/daemon/dist/domain/workflow-exception-escalation.d.ts +33 -0
  236. package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -0
  237. package/daemon/dist/domain/workflow-exception-escalation.js +104 -0
  238. package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -0
  239. package/daemon/dist/domain/workflow-exception-router.d.ts +33 -0
  240. package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -0
  241. package/daemon/dist/domain/workflow-exception-router.js +96 -0
  242. package/daemon/dist/domain/workflow-exception-router.js.map +1 -0
  243. package/daemon/dist/domain/workflow-exception.d.ts +90 -0
  244. package/daemon/dist/domain/workflow-exception.d.ts.map +1 -0
  245. package/daemon/dist/domain/workflow-exception.js +122 -0
  246. package/daemon/dist/domain/workflow-exception.js.map +1 -0
  247. package/daemon/dist/domain/workflow-frontier-guard.d.ts +24 -0
  248. package/daemon/dist/domain/workflow-frontier-guard.d.ts.map +1 -0
  249. package/daemon/dist/domain/workflow-frontier-guard.js +30 -0
  250. package/daemon/dist/domain/workflow-frontier-guard.js.map +1 -0
  251. package/daemon/dist/domain/workflow-instance-store.d.ts +28 -0
  252. package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
  253. package/daemon/dist/domain/workflow-instance-store.js +66 -10
  254. package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
  255. package/daemon/dist/domain/workflow-keepalive-arming.d.ts +35 -0
  256. package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -0
  257. package/daemon/dist/domain/workflow-keepalive-arming.js +87 -0
  258. package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -0
  259. package/daemon/dist/domain/workflow-projector.d.ts +117 -2
  260. package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
  261. package/daemon/dist/domain/workflow-projector.js +672 -41
  262. package/daemon/dist/domain/workflow-projector.js.map +1 -1
  263. package/daemon/dist/domain/workflow-role-context.d.ts +57 -0
  264. package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -0
  265. package/daemon/dist/domain/workflow-role-context.js +120 -0
  266. package/daemon/dist/domain/workflow-role-context.js.map +1 -0
  267. package/daemon/dist/domain/workflow-role-resolver.d.ts +65 -0
  268. package/daemon/dist/domain/workflow-role-resolver.d.ts.map +1 -0
  269. package/daemon/dist/domain/workflow-role-resolver.js +108 -0
  270. package/daemon/dist/domain/workflow-role-resolver.js.map +1 -0
  271. package/daemon/dist/domain/workflow-runtime.d.ts +157 -1
  272. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  273. package/daemon/dist/domain/workflow-runtime.js +718 -11
  274. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  275. package/daemon/dist/domain/workflow-spec-cache.d.ts +26 -1
  276. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  277. package/daemon/dist/domain/workflow-spec-cache.js +327 -13
  278. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  279. package/daemon/dist/domain/workflow-types.d.ts +143 -8
  280. package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
  281. package/daemon/dist/domain/workflow-types.js +14 -1
  282. package/daemon/dist/domain/workflow-types.js.map +1 -1
  283. package/daemon/dist/domain/workflow-validator.d.ts +11 -1
  284. package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
  285. package/daemon/dist/domain/workflow-validator.js +246 -1
  286. package/daemon/dist/domain/workflow-validator.js.map +1 -1
  287. package/daemon/dist/index.d.ts +17 -0
  288. package/daemon/dist/index.d.ts.map +1 -1
  289. package/daemon/dist/index.js +44 -0
  290. package/daemon/dist/index.js.map +1 -1
  291. package/daemon/dist/routes/activity.js +22 -0
  292. package/daemon/dist/routes/activity.js.map +1 -1
  293. package/daemon/dist/routes/hosts.d.ts +5 -0
  294. package/daemon/dist/routes/hosts.d.ts.map +1 -0
  295. package/daemon/dist/routes/hosts.js +346 -0
  296. package/daemon/dist/routes/hosts.js.map +1 -0
  297. package/daemon/dist/routes/queue.d.ts +2 -7
  298. package/daemon/dist/routes/queue.d.ts.map +1 -1
  299. package/daemon/dist/routes/queue.js +264 -9
  300. package/daemon/dist/routes/queue.js.map +1 -1
  301. package/daemon/dist/routes/review.d.ts.map +1 -1
  302. package/daemon/dist/routes/review.js +26 -0
  303. package/daemon/dist/routes/review.js.map +1 -1
  304. package/daemon/dist/routes/seat.js +13 -0
  305. package/daemon/dist/routes/seat.js.map +1 -1
  306. package/daemon/dist/routes/terminal.d.ts +11 -0
  307. package/daemon/dist/routes/terminal.d.ts.map +1 -0
  308. package/daemon/dist/routes/terminal.js +104 -0
  309. package/daemon/dist/routes/terminal.js.map +1 -0
  310. package/daemon/dist/routes/workflow.d.ts.map +1 -1
  311. package/daemon/dist/routes/workflow.js +102 -10
  312. package/daemon/dist/routes/workflow.js.map +1 -1
  313. package/daemon/dist/server.d.ts +5 -0
  314. package/daemon/dist/server.d.ts.map +1 -1
  315. package/daemon/dist/server.js +22 -0
  316. package/daemon/dist/server.js.map +1 -1
  317. package/daemon/dist/startup.d.ts.map +1 -1
  318. package/daemon/dist/startup.js +221 -12
  319. package/daemon/dist/startup.js.map +1 -1
  320. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +29 -0
  321. package/daemon/specs/agents/factory-rsi/dogfood/guidance/role.md +37 -0
  322. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +29 -0
  323. package/daemon/specs/agents/factory-rsi/release-manager/guidance/role.md +40 -0
  324. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +6 -8
  325. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +86 -0
  326. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +158 -0
  327. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +6 -6
  328. package/daemon/specs/rigs/launch/factory-rsi/CULTURE.md +47 -0
  329. package/daemon/specs/rigs/launch/factory-rsi/rig.yaml +115 -0
  330. package/dist/build-info.js +3 -3
  331. package/dist/commands/broadcast.d.ts +6 -1
  332. package/dist/commands/broadcast.d.ts.map +1 -1
  333. package/dist/commands/broadcast.js +101 -15
  334. package/dist/commands/broadcast.js.map +1 -1
  335. package/dist/commands/capture.d.ts.map +1 -1
  336. package/dist/commands/capture.js +99 -8
  337. package/dist/commands/capture.js.map +1 -1
  338. package/dist/commands/config.d.ts.map +1 -1
  339. package/dist/commands/config.js +4 -0
  340. package/dist/commands/config.js.map +1 -1
  341. package/dist/commands/down.d.ts.map +1 -1
  342. package/dist/commands/down.js +5 -0
  343. package/dist/commands/down.js.map +1 -1
  344. package/dist/commands/host.d.ts +14 -0
  345. package/dist/commands/host.d.ts.map +1 -1
  346. package/dist/commands/host.js +338 -14
  347. package/dist/commands/host.js.map +1 -1
  348. package/dist/commands/launch.d.ts.map +1 -1
  349. package/dist/commands/launch.js +5 -0
  350. package/dist/commands/launch.js.map +1 -1
  351. package/dist/commands/ps.d.ts.map +1 -1
  352. package/dist/commands/ps.js +10 -4
  353. package/dist/commands/ps.js.map +1 -1
  354. package/dist/commands/queue.d.ts +36 -0
  355. package/dist/commands/queue.d.ts.map +1 -1
  356. package/dist/commands/queue.js +73 -7
  357. package/dist/commands/queue.js.map +1 -1
  358. package/dist/commands/restore-packet.d.ts.map +1 -1
  359. package/dist/commands/restore-packet.js +13 -2
  360. package/dist/commands/restore-packet.js.map +1 -1
  361. package/dist/commands/send.d.ts.map +1 -1
  362. package/dist/commands/send.js +114 -9
  363. package/dist/commands/send.js.map +1 -1
  364. package/dist/commands/terminal.d.ts +6 -0
  365. package/dist/commands/terminal.d.ts.map +1 -0
  366. package/dist/commands/terminal.js +116 -0
  367. package/dist/commands/terminal.js.map +1 -0
  368. package/dist/commands/transcript.d.ts +6 -1
  369. package/dist/commands/transcript.d.ts.map +1 -1
  370. package/dist/commands/transcript.js +113 -30
  371. package/dist/commands/transcript.js.map +1 -1
  372. package/dist/commands/up.d.ts.map +1 -1
  373. package/dist/commands/up.js +9 -0
  374. package/dist/commands/up.js.map +1 -1
  375. package/dist/commands/whoami.d.ts.map +1 -1
  376. package/dist/commands/whoami.js +11 -0
  377. package/dist/commands/whoami.js.map +1 -1
  378. package/dist/commands/workflow-errors.d.ts +23 -0
  379. package/dist/commands/workflow-errors.d.ts.map +1 -0
  380. package/dist/commands/workflow-errors.js +100 -0
  381. package/dist/commands/workflow-errors.js.map +1 -0
  382. package/dist/commands/workflow-follow.d.ts +71 -0
  383. package/dist/commands/workflow-follow.d.ts.map +1 -0
  384. package/dist/commands/workflow-follow.js +259 -0
  385. package/dist/commands/workflow-follow.js.map +1 -0
  386. package/dist/commands/workflow-render.d.ts +114 -0
  387. package/dist/commands/workflow-render.d.ts.map +1 -0
  388. package/dist/commands/workflow-render.js +223 -0
  389. package/dist/commands/workflow-render.js.map +1 -0
  390. package/dist/commands/workflow.d.ts +1 -0
  391. package/dist/commands/workflow.d.ts.map +1 -1
  392. package/dist/commands/workflow.js +278 -14
  393. package/dist/commands/workflow.js.map +1 -1
  394. package/dist/config-store.d.ts +15 -1
  395. package/dist/config-store.d.ts.map +1 -1
  396. package/dist/config-store.js +103 -0
  397. package/dist/config-store.js.map +1 -1
  398. package/dist/cross-host-cli-helpers.d.ts +13 -0
  399. package/dist/cross-host-cli-helpers.d.ts.map +1 -1
  400. package/dist/cross-host-cli-helpers.js +27 -0
  401. package/dist/cross-host-cli-helpers.js.map +1 -1
  402. package/dist/cross-host-target.d.ts +49 -0
  403. package/dist/cross-host-target.d.ts.map +1 -0
  404. package/dist/cross-host-target.js +35 -0
  405. package/dist/cross-host-target.js.map +1 -0
  406. package/dist/host-registry.d.ts +8 -0
  407. package/dist/host-registry.d.ts.map +1 -1
  408. package/dist/host-registry.js +32 -0
  409. package/dist/host-registry.js.map +1 -1
  410. package/dist/host-selection.d.ts +13 -0
  411. package/dist/host-selection.d.ts.map +1 -0
  412. package/dist/host-selection.js +54 -0
  413. package/dist/host-selection.js.map +1 -0
  414. package/dist/index.d.ts +2 -0
  415. package/dist/index.d.ts.map +1 -1
  416. package/dist/index.js +2 -0
  417. package/dist/index.js.map +1 -1
  418. package/dist/remote-host-ops.d.ts +1 -0
  419. package/dist/remote-host-ops.d.ts.map +1 -1
  420. package/dist/remote-host-ops.js +11 -4
  421. package/dist/remote-host-ops.js.map +1 -1
  422. package/dist/session-name.d.ts +23 -0
  423. package/dist/session-name.d.ts.map +1 -0
  424. package/dist/session-name.js +61 -0
  425. package/dist/session-name.js.map +1 -0
  426. package/package.json +1 -1
  427. package/ui/dist/assets/index-CFqxa0zW.css +32 -0
  428. package/ui/dist/assets/index-zrFqS7gL.js +623 -0
  429. package/ui/dist/index.html +2 -2
  430. package/ui/dist/assets/index-D69ZhNIr.js +0 -598
  431. package/ui/dist/assets/index-DJYun-8d.css +0 -32
@@ -7,14 +7,12 @@ metadata:
7
7
  last_verified: "2026-07-06"
8
8
  distribution_scope: product-bound
9
9
  source_evidence: |
10
- Authored + embedded in release-0.4.3 slice 32 (mission-slice-sop);
11
- moved into the canonical product skill source and updated in
12
- release-0.4.4 slice 23 (operationalize the SDLC control plane) to
13
- teach the full SDLC flow the Living Notes UI projects: the convention
14
- sections, the proof-contract pairing, the two staged-approval locks,
15
- C1 proof drops, and the three role contracts. Conventions SSOT:
16
- docs/reference/sdlc-conventions.md (shipped with the CLI package).
17
- The deterministic backstop is the `rig scope audit` classifier.
10
+ The canonical product SDLC skill: it teaches the full SDLC flow the
11
+ Living Notes UI projects the convention sections, the proof-contract
12
+ pairing, the two staged-approval locks, C1 proof drops, and the three
13
+ role contracts. Conventions SSOT: docs/reference/sdlc-conventions.md
14
+ (shipped with the CLI package). The deterministic backstop is the
15
+ `rig scope audit` classifier.
18
16
  sibling_skills:
19
17
  - queue-handoff
20
18
  - seat-continuity-and-handover
@@ -0,0 +1,86 @@
1
+ ---
2
+ name: openrig-cmux
3
+ description: >
4
+ Use when opening OpenRig fleet terminals into cmux — turning a rig, pod, mission, slice, or saved
5
+ view into live agent tiles via `rig terminal --provider cmux`, or driving cmux on an agent's
6
+ request. Same OpenRig view semantics as openrig-herdr (the verbs, honest-partial/degrade, read-only
7
+ cross-rig, scroll/copy, same-size-only duplicates); cmux is the **best-effort** provider (herdr is
8
+ the default and the proof-gated one). Prefer openrig-herdr unless cmux is specifically wanted.
9
+ metadata:
10
+ openrig:
11
+ stage: candidate
12
+ distribution_scope: product-bound
13
+ source_evidence: |
14
+ cmux is OpenRig's shipped terminal provider generalized onto `rig terminal <provider>` —
15
+ best-effort, not proof-gated. Authored clean-room.
16
+ transfer_test: pending
17
+ sibling_skills:
18
+ - openrig-herdr
19
+ - openrig-user
20
+ ---
21
+
22
+ # openrig-cmux
23
+
24
+ cmux is a **provider** for OpenRig views — the same `rig terminal` surface as herdr, rendering the
25
+ tiles into cmux instead. It is the provider OpenRig already shipped (the existing "Launch in cmux"
26
+ affordance generalizes onto `rig terminal <provider>`), kept working. The OpenRig-semantic half is
27
+ identical to openrig-herdr: OpenRig decides **which** agents form a view; the provider renders the
28
+ pixels. **Read openrig-herdr first for the full model** — this skill only calls out what differs for
29
+ cmux.
30
+
31
+ ## Provider status — cmux is best-effort
32
+
33
+ - **herdr is the default and the proof-gated provider**; **cmux is best-effort** — it ships on the
34
+ same `rig terminal <provider>` + web-launcher neighborhood, but a cmux miss is not a slice failure.
35
+ Reach for cmux when it is specifically wanted; otherwise default to herdr (`rig terminal open <view>`
36
+ with no `--provider`).
37
+ - Views are **provider-agnostic**: the same view + the same agents + the same semantics carry across
38
+ herdr and cmux. A saved view opens in either.
39
+
40
+ ## The surface (same three verbs, `--provider cmux`)
41
+
42
+ ```bash
43
+ rig terminal open <view> --provider cmux [--json] # open a view into cmux (herdr is the no-flag default)
44
+ rig terminal views [--json] # the same view library, provider-agnostic
45
+ rig terminal status --provider cmux [--json] # cmux liveness / health
46
+ ```
47
+
48
+ `<view>` resolves exactly as with herdr: a **rig name** · **`pod:<rig>/<podNamespace>`** ·
49
+ **`mission:<id>`** · **`slice:<id>`** (derived live) · a **saved-view name**.
50
+
51
+ ## What carries over unchanged from openrig-herdr
52
+
53
+ All of these behave identically — see openrig-herdr for the detail:
54
+
55
+ - **Honest-partial / honest-degrade** — opened / absent / degraded, each named; partial opens exit 0,
56
+ zero-pane exits non-zero; an http-registered host's agents degrade with the reason ("host `<id>` is
57
+ http-registered; tiles need ssh"), never silently dropped.
58
+ - **Read-only policy** — a rig or `pod:` view is interactive; `mission:` / `slice:` views are
59
+ read-only by construction; a saved view is per-member (`readOnly`). A read-only pane is
60
+ `tmux attach -r` (client `readonly=1`, keystrokes physically cannot reach the agent). See openrig-herdr.
61
+ - **Safety rails (the fleet-safety rail)** — a tile is a *view* (nested `tmux attach`) of a
62
+ daemon-owned session; never move/join/kill/re-parent a daemon-owned pane; closing a tile detaches
63
+ one client and leaves the session untouched; never live-flip tmux options on a running seat in
64
+ production (prove it in an isolated environment first).
65
+ - **Scroll + copy out of the box** — the daemon's terminal defaults (per-session scroll at launch +
66
+ the server's clipboard defaults); running seats pick up wheel-scroll at their next relaunch.
67
+ - **Limits** — tile chrome v1 = a plain label; same-size panes for duplicate/multi-view membership
68
+ (the different-size resize mismatch is an inherent tmux multi-client limit, documented not fixed).
69
+
70
+ ## cmux-specific notes
71
+
72
+ - **Open-or-focus per agent** — cmux's shipped integration opens a node or focuses it if already open;
73
+ expect focus (not a duplicate) when a seat is already tiled in cmux.
74
+ - **The shipped "Launch in cmux" affordance is preserved** (byte-compatible) and generalizes into the
75
+ provider + view picker; opening cmux from the web launcher still works.
76
+ - **No AGPL arm's-length concern** — unlike herdr, cmux is OpenRig's shipped provider integration; the
77
+ clean-room/never-embed rail that applies to herdr is not a cmux constraint. (This skill itself is
78
+ still authored clean-room.)
79
+
80
+ ## Saved views — provider-agnostic
81
+
82
+ Saved views are **hand-authored** in `terminal-views.yaml` (v1 has no save/write verb) and are
83
+ **provider-agnostic** — see **openrig-herdr** for the exact schema, the store facts (atomic tmp+rename,
84
+ byte-stable, at the OpenRig home root), and the derived-views-never-persisted rule. Reopen any saved
85
+ view in cmux with `rig terminal open <id> --provider cmux`. Derived views (a rig, `pod:<rig>/<pod>`,
86
+ `mission:<id>`, `slice:<id>`) are computed live and never written to the file.
@@ -0,0 +1,158 @@
1
+ ---
2
+ name: openrig-herdr
3
+ description: >
4
+ Use when opening OpenRig fleet terminals as a herdr wall — turning a rig, pod, mission, slice, or
5
+ saved view into live interactive agent tiles via `rig terminal`, watching another rig read-only,
6
+ or driving herdr on an agent's request ("open all my rigs + a mission as views"). Covers the
7
+ `rig terminal open|views|status` verbs, the honest-partial/degrade reading of the result, the
8
+ read-only-by-construction rail for cross-rig views, scroll/copy out of the box, and the
9
+ same-size-only duplicate-pane limit. herdr is the default, proof-gated provider.
10
+ metadata:
11
+ openrig:
12
+ stage: candidate
13
+ distribution_scope: product-bound
14
+ source_evidence: |
15
+ Empirical herdr 0.7.1 hands-on findings + the ratified implementation PRD. Authored
16
+ clean-room (patterns only, no herdr source text; AGPL arm's-length).
17
+ transfer_test: pending
18
+ sibling_skills:
19
+ - openrig-cmux
20
+ - openrig-user
21
+ ---
22
+
23
+ # openrig-herdr
24
+
25
+ OpenRig decides **which** agents make up a view (a rig, a pod, a mission, a slice, or a saved
26
+ group); **herdr** renders the pixels. A view opens as live, interactive terminal tiles — each tile
27
+ is a nested `tmux attach` to a daemon-owned agent session, so you get the real session, not a
28
+ snapshot. OpenRig owns the semantics; herdr owns the surface. You drive it entirely through the
29
+ `rig terminal` CLI, which rides the installed herdr binary at arm's length — never link, embed, or
30
+ plugin it.
31
+
32
+ ## The whole surface — three verbs
33
+
34
+ ```bash
35
+ rig terminal open <view> [--provider herdr|cmux] [--json] # herdr is the default provider
36
+ rig terminal views [--json] # list openable views (saved + derived)
37
+ rig terminal status [--provider] [--json] # provider liveness / health
38
+ ```
39
+
40
+ `<view>` resolves, in order, to one of:
41
+ - a **rig name** — every live agent in that rig, auto-laid-out;
42
+ - **`pod:<rig>/<podNamespace>`** — every live agent in one pod of a rig (the rig's inventory filtered by pod);
43
+ - **`mission:<id>`** — the agents working that mission (derived live from topology);
44
+ - **`slice:<id>`** — the agents working that slice (derived live);
45
+ - a **saved-view name** — a user-defined group (see Saved views).
46
+
47
+ ## Compose a view from a sentence
48
+
49
+ An agent asked "open all my rigs plus a mission as views" runs one `open` per target:
50
+
51
+ ```bash
52
+ rig terminal open acme-web # a whole rig, live agents as tiles
53
+ rig terminal open mission:site-relaunch # exactly the agents working the mission
54
+ rig terminal open slice:02-search-filters # the agents working one slice
55
+ ```
56
+
57
+ No hand-listing of seats: the mission/slice membership is derived from live topology at open time.
58
+
59
+ ## Read the result honestly — partial and degrade
60
+
61
+ The result is a partition — every seat lands in exactly one bucket, each **named**:
62
+
63
+ - **opened** — the live agents now showing as tiles.
64
+ - **absent** — seats in the view that aren't currently live: **named and skipped, never silently
65
+ dropped.** A view that opens *some* of its seats is a success (the partial is disclosed) and exits
66
+ **0**. Only a view where **no** pane opens exits **non-zero**.
67
+ - **degraded** — an agent that structurally cannot tile, named **with the reason**. The v1 case:
68
+ an agent on a host registered over HTTP has no ssh path, so its tile can't be composed — it reads
69
+ as **"host `<id>` is http-registered; tiles need ssh"** and is skipped, never dropped. (ssh-reachable
70
+ hosts tile via an ssh-wrapped attach; full http-host tiling is deferred to the cross-host transport
71
+ seam.)
72
+
73
+ Read `--json` to branch on the partition programmatically; the exit code alone tells you opened-something
74
+ (0) vs opened-nothing (non-zero).
75
+
76
+ ## Read-only — who's interactive, who's watch-only
77
+
78
+ Read-only is composed into the pane at open time — a read-only tile is a `tmux attach -r`, the client
79
+ reports `readonly=1`, and it **physically cannot send input**. The current policy, by view kind:
80
+
81
+ - **A rig view or a `pod:` view is interactive** — you asked for that rig (or pod) directly, so you
82
+ can drive its agents.
83
+ - **`mission:` and `slice:` views are read-only by construction** — these derived views cut across
84
+ rigs; you watch and scroll, you don't keystroke into them.
85
+ - **A saved view is per-member** — each member carries its own `readOnly` (omit = interactive;
86
+ `true` = `attach -r`).
87
+
88
+ So you don't have to remember to be careful: the view kind (and, for a saved view, the per-member
89
+ flag) sets it at open time.
90
+
91
+ ## Safety rails (hard — the fleet-safety rail)
92
+
93
+ - A tile is a **view** (a nested `tmux attach`) of a daemon-owned session. **Never** move, join, kill,
94
+ or re-parent a daemon-owned pane. Closing a tile detaches one tmux client — the daemon's session is
95
+ untouched and its addressing (send/capture/nudge) is unaffected.
96
+ - Host-local read-only viewing mutates nothing. Anything that would change a **live** daemon session's
97
+ shared state (e.g. flipping a tmux option on a running seat) is a config/design change — prove it in
98
+ an isolated environment, never live-flip in production.
99
+
100
+ ## Scroll + copy work out of the box
101
+
102
+ On a freshly-launched agent tile the mouse wheel scrolls the pane's history and a drag-select copies
103
+ to your **system** clipboard — with no tmux commands typed. This rides the daemon's terminal defaults
104
+ (a per-session scroll option set at launch, plus the daemon tmux server's clipboard defaults). Honest
105
+ timing: agents that were already running before this shipped pick up wheel-scroll at their **next
106
+ natural relaunch** (the scroll default is per-session and running seats are never retro-flipped);
107
+ system-clipboard copy works immediately (it's server-wide).
108
+
109
+ ## Limits — state them, don't paper over them
110
+
111
+ - **Tile chrome v1 = a plain label** (agent + slice). Rich per-tile status is roadmap.
112
+ - **Duplicate / multi-view membership** (the same agent live in two views at once) works — put the
113
+ duplicates in **same-size panes**. Different-sized duplicate panes have an inherent tmux
114
+ multi-client resize mismatch (tmux clamps to the smallest client); it is **documented, not fixed** —
115
+ don't expect a setting to remove it.
116
+ - **Inner tmux status bar** is hidden by default (herdr provides the chrome); one config key
117
+ (`terminal.status_bar`) flips it back on for raw-tmux / no-provider surfaces, and the flip applies
118
+ to **future launches only**.
119
+
120
+ ## Saved views — the library (`terminal-views.yaml`)
121
+
122
+ In v1 you **create** a saved view by **hand-authoring** `terminal-views.yaml` — there is no save/write
123
+ verb (`open` / `views` / `status` are the whole surface; a `rig terminal save <id>` verb is a named
124
+ stretch/follow-up). You **reopen** it like any other view: `rig terminal open <id>`.
125
+
126
+ The file lives at the OpenRig home root (resolved via `getDefaultOpenRigPath()`), is written
127
+ atomically (tmp + rename), and is byte-stable. **Only hand-authored saved views live here — derived
128
+ views (a rig, `pod:<rig>/<pod>`, `mission:<id>`, `slice:<id>`) are computed live and never written to
129
+ this file.**
130
+
131
+ Schema — use these field names **exactly**, in this order; **omit** optional fields when absent
132
+ (never write `null`):
133
+
134
+ ```yaml
135
+ version: 1
136
+ views:
137
+ - id: my-view-id # required — the id `rig terminal open <id>` takes
138
+ name: Human Name # required
139
+ members:
140
+ - seat: pod-member@rig # required — the canonical session name
141
+ label: agent . slice # optional — pane label
142
+ host: some-host-id # optional — STRUCTURED host id (NEVER a `member@rig@host` string);
143
+ # omit for local. ssh-registered hosts tile;
144
+ # http-registered hosts honest-degrade (named + skipped, with reason)
145
+ tmuxSession: sessname # optional — defaults to `seat`
146
+ readOnly: true # optional — omit = interactive; true = `tmux attach -r`
147
+ ```
148
+
149
+ An agent composing a saved view on request **writes this YAML** and then opens the id:
150
+ `rig terminal open my-view-id` (add `--provider cmux` for cmux). The library is provider-agnostic —
151
+ the same saved view opens in herdr or cmux.
152
+
153
+ ## AGPL / clean-room
154
+
155
+ Driving herdr through the `rig terminal` CLI (which talks to the installed herdr binary over its
156
+ CLI/socket) is arm's-length and fine. Do **not** link herdr's source, embed it in-process, or ship a
157
+ herdr plugin — a plugin needs legal review. This skill and its docs are clean-room: patterns only,
158
+ never herdr source text.