@openrig/cli 0.4.6 → 0.4.8

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 (472) hide show
  1. package/daemon/assets/guidance/CULTURE-default.md +19 -0
  2. package/daemon/assets/guidance/openrig-start.md +20 -5
  3. package/daemon/assets/plugins/openrig-core/README.md +1 -1
  4. package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -6
  6. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
  7. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
  8. package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
  9. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +36 -22
  10. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
  11. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -13
  12. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +88 -0
  13. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +189 -105
  14. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
  15. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
  16. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
  17. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
  18. package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -9
  19. package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
  20. package/daemon/dist/adapters/claude-code-adapter.js +13 -46
  21. package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
  22. package/daemon/dist/adapters/claude-resume.d.ts +1 -1
  23. package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
  24. package/daemon/dist/adapters/claude-resume.js +8 -2
  25. package/daemon/dist/adapters/claude-resume.js.map +1 -1
  26. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  27. package/daemon/dist/adapters/cmux-transport.js +8 -1
  28. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  29. package/daemon/dist/adapters/cmux.d.ts +9 -0
  30. package/daemon/dist/adapters/cmux.d.ts.map +1 -1
  31. package/daemon/dist/adapters/cmux.js +21 -0
  32. package/daemon/dist/adapters/cmux.js.map +1 -1
  33. package/daemon/dist/adapters/codex-resume.d.ts +1 -1
  34. package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
  35. package/daemon/dist/adapters/codex-resume.js +4 -2
  36. package/daemon/dist/adapters/codex-resume.js.map +1 -1
  37. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  38. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  39. package/daemon/dist/adapters/codex-runtime-adapter.js +30 -9
  40. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  41. package/daemon/dist/adapters/pi-resume.d.ts +1 -1
  42. package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
  43. package/daemon/dist/adapters/pi-resume.js +7 -2
  44. package/daemon/dist/adapters/pi-resume.js.map +1 -1
  45. package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
  46. package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
  47. package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
  48. package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
  49. package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
  50. package/daemon/dist/adapters/yolo-mode.js +49 -0
  51. package/daemon/dist/adapters/yolo-mode.js.map +1 -0
  52. package/daemon/dist/build-info.js +3 -3
  53. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
  54. package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
  55. package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
  56. package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
  57. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
  58. package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
  59. package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
  60. package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
  61. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
  62. package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
  63. package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
  64. package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
  65. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
  66. package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
  67. package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
  68. package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
  69. package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
  70. package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
  71. package/daemon/dist/domain/builtin-policy-reference.js +58 -0
  72. package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
  73. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
  74. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  75. package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
  76. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  77. package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
  78. package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
  79. package/daemon/dist/domain/cmux-layout-service.js +100 -28
  80. package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
  81. package/daemon/dist/domain/context-monitor.d.ts +2 -0
  82. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  83. package/daemon/dist/domain/context-monitor.js +14 -0
  84. package/daemon/dist/domain/context-monitor.js.map +1 -1
  85. package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
  86. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
  87. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  88. package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
  89. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  90. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
  91. package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
  92. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
  93. package/daemon/dist/domain/hosts/read-through.js +1 -1
  94. package/daemon/dist/domain/hosts/read-through.js.map +1 -1
  95. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  96. package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
  97. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  98. package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
  99. package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
  100. package/daemon/dist/domain/native-resume-probe.js +11 -4
  101. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  102. package/daemon/dist/domain/node-inventory.d.ts +3 -12
  103. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  104. package/daemon/dist/domain/node-inventory.js +57 -15
  105. package/daemon/dist/domain/node-inventory.js.map +1 -1
  106. package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
  107. package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
  108. package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
  109. package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
  110. package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
  111. package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
  112. package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
  113. package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
  114. package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
  115. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  116. package/daemon/dist/domain/plugin-vendor-service.js +23 -0
  117. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  118. package/daemon/dist/domain/projection-lane.d.ts +7 -0
  119. package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
  120. package/daemon/dist/domain/projection-lane.js +28 -0
  121. package/daemon/dist/domain/projection-lane.js.map +1 -0
  122. package/daemon/dist/domain/ps-projection.d.ts +19 -0
  123. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  124. package/daemon/dist/domain/ps-projection.js +46 -6
  125. package/daemon/dist/domain/ps-projection.js.map +1 -1
  126. package/daemon/dist/domain/queue-repository.d.ts +14 -10
  127. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  128. package/daemon/dist/domain/queue-repository.js +33 -12
  129. package/daemon/dist/domain/queue-repository.js.map +1 -1
  130. package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
  131. package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
  132. package/daemon/dist/domain/restore-orchestrator.js +90 -6
  133. package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
  134. package/daemon/dist/domain/review/compose.d.ts +77 -4
  135. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  136. package/daemon/dist/domain/review/compose.js +152 -16
  137. package/daemon/dist/domain/review/compose.js.map +1 -1
  138. package/daemon/dist/domain/review/fleet-compose.js +1 -1
  139. package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  140. package/daemon/dist/domain/review/gather.d.ts +1 -1
  141. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  142. package/daemon/dist/domain/review/gather.js +92 -67
  143. package/daemon/dist/domain/review/gather.js.map +1 -1
  144. package/daemon/dist/domain/review/proof-io.d.ts +2 -0
  145. package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
  146. package/daemon/dist/domain/review/proof-io.js +38 -0
  147. package/daemon/dist/domain/review/proof-io.js.map +1 -0
  148. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  149. package/daemon/dist/domain/rig-expansion-service.js +10 -1
  150. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  151. package/daemon/dist/domain/rig-repository.d.ts +45 -0
  152. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  153. package/daemon/dist/domain/rig-repository.js +75 -1
  154. package/daemon/dist/domain/rig-repository.js.map +1 -1
  155. package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
  156. package/daemon/dist/domain/rigspec-codec.js +6 -0
  157. package/daemon/dist/domain/rigspec-codec.js.map +1 -1
  158. package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
  159. package/daemon/dist/domain/rigspec-exporter.js +8 -0
  160. package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
  161. package/daemon/dist/domain/rigspec-instantiator.d.ts +18 -1
  162. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  163. package/daemon/dist/domain/rigspec-instantiator.js +202 -10
  164. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  165. package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
  166. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  167. package/daemon/dist/domain/rigspec-preflight.js +35 -1
  168. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  169. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  170. package/daemon/dist/domain/rigspec-schema.js +25 -0
  171. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  172. package/daemon/dist/domain/runtime-adapter.d.ts +5 -0
  173. package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
  174. package/daemon/dist/domain/runtime-adapter.js.map +1 -1
  175. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
  176. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
  177. package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
  178. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
  179. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
  180. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
  181. package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
  182. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
  183. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  184. package/daemon/dist/domain/scope/scope-approve.js +22 -1
  185. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  186. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  187. package/daemon/dist/domain/scope/scope-audit.js +57 -20
  188. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  189. package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
  190. package/daemon/dist/domain/seat-handover-service.js +7 -1
  191. package/daemon/dist/domain/seat-handover-service.js.map +1 -1
  192. package/daemon/dist/domain/session-transport.d.ts +17 -0
  193. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  194. package/daemon/dist/domain/session-transport.js +44 -0
  195. package/daemon/dist/domain/session-transport.js.map +1 -1
  196. package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
  197. package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
  198. package/daemon/dist/domain/slices/qitem-membership.js +60 -0
  199. package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
  200. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
  201. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  202. package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
  203. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  204. package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
  205. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  206. package/daemon/dist/domain/slices/slice-indexer.js +422 -45
  207. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  208. package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
  209. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  210. package/daemon/dist/domain/startup-orchestrator.js +71 -3
  211. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  212. package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
  213. package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
  214. package/daemon/dist/domain/successor-session-launcher.js +2 -0
  215. package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
  216. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
  217. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  218. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
  219. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  220. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
  221. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  222. package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
  223. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  224. package/daemon/dist/domain/transcript-capture.d.ts +3 -0
  225. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  226. package/daemon/dist/domain/transcript-capture.js +28 -0
  227. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  228. package/daemon/dist/domain/transcript-store.d.ts +10 -0
  229. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  230. package/daemon/dist/domain/transcript-store.js +26 -0
  231. package/daemon/dist/domain/transcript-store.js.map +1 -1
  232. package/daemon/dist/domain/types.d.ts +21 -0
  233. package/daemon/dist/domain/types.d.ts.map +1 -1
  234. package/daemon/dist/domain/types.js.map +1 -1
  235. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  236. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
  237. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  238. package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
  239. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  240. package/daemon/dist/routes/agent-images.d.ts.map +1 -1
  241. package/daemon/dist/routes/agent-images.js +2 -0
  242. package/daemon/dist/routes/agent-images.js.map +1 -1
  243. package/daemon/dist/routes/mission-control.js +1 -1
  244. package/daemon/dist/routes/mission-control.js.map +1 -1
  245. package/daemon/dist/routes/missions.d.ts +7 -0
  246. package/daemon/dist/routes/missions.d.ts.map +1 -1
  247. package/daemon/dist/routes/missions.js +6 -1
  248. package/daemon/dist/routes/missions.js.map +1 -1
  249. package/daemon/dist/routes/ps.d.ts.map +1 -1
  250. package/daemon/dist/routes/ps.js +5 -1
  251. package/daemon/dist/routes/ps.js.map +1 -1
  252. package/daemon/dist/routes/queue.d.ts.map +1 -1
  253. package/daemon/dist/routes/queue.js +9 -2
  254. package/daemon/dist/routes/queue.js.map +1 -1
  255. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  256. package/daemon/dist/routes/rigs.js +29 -10
  257. package/daemon/dist/routes/rigs.js.map +1 -1
  258. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  259. package/daemon/dist/routes/scope-audit.js +141 -135
  260. package/daemon/dist/routes/scope-audit.js.map +1 -1
  261. package/daemon/dist/routes/sessions.js +2 -1
  262. package/daemon/dist/routes/sessions.js.map +1 -1
  263. package/daemon/dist/routes/slices.d.ts.map +1 -1
  264. package/daemon/dist/routes/slices.js +48 -38
  265. package/daemon/dist/routes/slices.js.map +1 -1
  266. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  267. package/daemon/dist/routes/transcripts.js +62 -33
  268. package/daemon/dist/routes/transcripts.js.map +1 -1
  269. package/daemon/dist/startup.d.ts.map +1 -1
  270. package/daemon/dist/startup.js +42 -12
  271. package/daemon/dist/startup.js.map +1 -1
  272. package/daemon/docs/reference/agent-startup-guide.md +1 -0
  273. package/daemon/docs/reference/rig-spec.md +19 -0
  274. package/daemon/policies/builtin/locked.policy.md +24 -0
  275. package/daemon/policies/builtin/open.policy.md +24 -0
  276. package/daemon/policies/builtin/standard.policy.md +25 -0
  277. package/daemon/policies/builtin/yolo.policy.md +20 -0
  278. package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
  279. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
  280. package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
  281. package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
  282. package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
  283. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
  284. package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
  285. package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
  286. package/daemon/specs/agents/development/qa/agent.yaml +12 -2
  287. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  288. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
  289. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
  290. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
  291. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
  292. package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
  293. package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
  294. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
  295. package/daemon/specs/agents/shared/agent.yaml +5 -8
  296. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -8
  297. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
  298. package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
  299. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
  300. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
  301. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
  302. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +23 -8
  303. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
  304. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
  305. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
  306. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  307. package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
  308. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
  309. package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
  310. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  311. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
  312. package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
  313. package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
  314. package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
  315. package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
  316. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
  317. package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
  318. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +13 -2
  319. package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
  320. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
  321. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
  322. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
  323. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
  324. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
  325. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
  326. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
  327. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  328. package/dist/bin-wrapper.d.ts.map +1 -1
  329. package/dist/bin-wrapper.js +3 -1
  330. package/dist/bin-wrapper.js.map +1 -1
  331. package/dist/build-info.js +3 -3
  332. package/dist/cli-error.d.ts +33 -0
  333. package/dist/cli-error.d.ts.map +1 -0
  334. package/dist/cli-error.js +94 -0
  335. package/dist/cli-error.js.map +1 -0
  336. package/dist/commands/config-init-workspace.js +1 -1
  337. package/dist/commands/doctor.d.ts +1 -1
  338. package/dist/commands/doctor.d.ts.map +1 -1
  339. package/dist/commands/doctor.js +17 -11
  340. package/dist/commands/doctor.js.map +1 -1
  341. package/dist/commands/host.d.ts.map +1 -1
  342. package/dist/commands/host.js +24 -10
  343. package/dist/commands/host.js.map +1 -1
  344. package/dist/commands/proof.js +1 -1
  345. package/dist/commands/proof.js.map +1 -1
  346. package/dist/commands/ps.d.ts.map +1 -1
  347. package/dist/commands/ps.js +16 -2
  348. package/dist/commands/ps.js.map +1 -1
  349. package/dist/commands/queue.d.ts.map +1 -1
  350. package/dist/commands/queue.js +103 -24
  351. package/dist/commands/queue.js.map +1 -1
  352. package/dist/commands/rig.d.ts.map +1 -1
  353. package/dist/commands/rig.js +122 -0
  354. package/dist/commands/rig.js.map +1 -1
  355. package/dist/commands/scope.js +2 -2
  356. package/dist/commands/scope.js.map +1 -1
  357. package/dist/commands/send.d.ts.map +1 -1
  358. package/dist/commands/send.js +118 -24
  359. package/dist/commands/send.js.map +1 -1
  360. package/dist/commands/setup.d.ts +14 -0
  361. package/dist/commands/setup.d.ts.map +1 -1
  362. package/dist/commands/setup.js +131 -8
  363. package/dist/commands/setup.js.map +1 -1
  364. package/dist/commands/slack.d.ts +37 -0
  365. package/dist/commands/slack.d.ts.map +1 -0
  366. package/dist/commands/slack.js +274 -0
  367. package/dist/commands/slack.js.map +1 -0
  368. package/dist/commands/ui.d.ts +1 -0
  369. package/dist/commands/ui.d.ts.map +1 -1
  370. package/dist/commands/ui.js +2 -0
  371. package/dist/commands/ui.js.map +1 -1
  372. package/dist/commands/up.js +1 -1
  373. package/dist/commands/up.js.map +1 -1
  374. package/dist/commands/whoami.d.ts.map +1 -1
  375. package/dist/commands/whoami.js +3 -3
  376. package/dist/commands/whoami.js.map +1 -1
  377. package/dist/daemon-lifecycle.d.ts.map +1 -1
  378. package/dist/daemon-lifecycle.js +45 -14
  379. package/dist/daemon-lifecycle.js.map +1 -1
  380. package/dist/host-registry.d.ts +6 -1
  381. package/dist/host-registry.d.ts.map +1 -1
  382. package/dist/host-registry.js +15 -6
  383. package/dist/host-registry.js.map +1 -1
  384. package/dist/index.d.ts +3 -0
  385. package/dist/index.d.ts.map +1 -1
  386. package/dist/index.js +6 -1
  387. package/dist/index.js.map +1 -1
  388. package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
  389. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
  390. package/dist/lib/scope/scaffold-placeholder.js +98 -0
  391. package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
  392. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  393. package/dist/lib/scope/scope-audit.js +57 -20
  394. package/dist/lib/scope/scope-audit.js.map +1 -1
  395. package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
  396. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
  397. package/dist/lib/scope-templates/bug-fix.md +1 -1
  398. package/dist/lib/scope-templates/implementation-prd.md +1 -1
  399. package/dist/lib/scope-templates/mission-notes.md +7 -2
  400. package/dist/lib/scope-templates/mission-placeholder.md +1 -1
  401. package/dist/lib/scope-templates/mission-progress.md +1 -1
  402. package/dist/lib/scope-templates/mission-release.md +1 -1
  403. package/dist/lib/scope-templates/placeholder.md +1 -1
  404. package/dist/lib/scope-templates/proof.md +1 -1
  405. package/dist/lib/scope-templates/release-feature.md +1 -1
  406. package/dist/lib/scope-templates/research.md +1 -1
  407. package/dist/lib/scope-templates/slice-progress.md +1 -1
  408. package/dist/remote-host-ops.d.ts.map +1 -1
  409. package/dist/remote-host-ops.js +2 -2
  410. package/dist/remote-host-ops.js.map +1 -1
  411. package/dist/slack/config.d.ts +41 -0
  412. package/dist/slack/config.d.ts.map +1 -0
  413. package/dist/slack/config.js +60 -0
  414. package/dist/slack/config.js.map +1 -0
  415. package/dist/slack/inbound.d.ts +75 -0
  416. package/dist/slack/inbound.d.ts.map +1 -0
  417. package/dist/slack/inbound.js +133 -0
  418. package/dist/slack/inbound.js.map +1 -0
  419. package/dist/slack/message.d.ts +26 -0
  420. package/dist/slack/message.d.ts.map +1 -0
  421. package/dist/slack/message.js +60 -0
  422. package/dist/slack/message.js.map +1 -0
  423. package/dist/slack/outbound.d.ts +39 -0
  424. package/dist/slack/outbound.d.ts.map +1 -0
  425. package/dist/slack/outbound.js +52 -0
  426. package/dist/slack/outbound.js.map +1 -0
  427. package/dist/slack/queue-bridge.d.ts +56 -0
  428. package/dist/slack/queue-bridge.d.ts.map +1 -0
  429. package/dist/slack/queue-bridge.js +114 -0
  430. package/dist/slack/queue-bridge.js.map +1 -0
  431. package/dist/slack/secrets.d.ts +21 -0
  432. package/dist/slack/secrets.d.ts.map +1 -0
  433. package/dist/slack/secrets.js +73 -0
  434. package/dist/slack/secrets.js.map +1 -0
  435. package/dist/slack/slack-api.d.ts +49 -0
  436. package/dist/slack/slack-api.d.ts.map +1 -0
  437. package/dist/slack/slack-api.js +110 -0
  438. package/dist/slack/slack-api.js.map +1 -0
  439. package/dist/slack/state-store.d.ts +62 -0
  440. package/dist/slack/state-store.d.ts.map +1 -0
  441. package/dist/slack/state-store.js +132 -0
  442. package/dist/slack/state-store.js.map +1 -0
  443. package/package.json +1 -1
  444. package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
  445. package/ui/dist/assets/index-N-SdPj-I.css +32 -0
  446. package/ui/dist/index.html +2 -2
  447. package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
  448. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
  449. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
  450. package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
  451. package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
  452. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
  453. package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
  454. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
  455. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
  456. package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
  457. package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
  458. package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
  459. package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
  460. package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
  461. package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
  462. package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
  463. package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
  464. package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
  465. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
  466. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -210
  467. package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
  468. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
  469. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
  470. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
  471. package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
  472. package/ui/dist/assets/index-CFqxa0zW.css +0 -32
@@ -16,7 +16,7 @@ Claiming work is complete without verification is dishonesty, not efficiency.
16
16
 
17
17
  **Core principle:** Evidence before claims, always.
18
18
 
19
- **Violating the letter of this rule is violating the spirit of this rule.**
19
+ **This rule serves shipping — it is not a ritual that outranks it.** It governs one thing: *claims that a verifiable result holds* ("tests pass", "build succeeds", "bug fixed") — run the check before you assert it, and scale the check to the stakes (a one-line copy tweak is not a test-suite ceremony). Don't dodge it with synonyms; equally, don't inflate it into a tax on the word "done" or a reason to keep re-proving instead of shipping the working thing.
20
20
 
21
21
  ## The Iron Law
22
22
 
@@ -57,7 +57,7 @@ Skip any step = lying, not verifying
57
57
  ## Red Flags - STOP
58
58
 
59
59
  - Using "should", "probably", "seems to"
60
- - Expressing satisfaction before verification ("Great!", "Perfect!", "Done!", etc.)
60
+ - Claiming a specific result is *proven* ("tests pass", "it's fixed", "build's green") before running the check in this message — enthusiasm itself is fine; an unverified **result claim** is the flag
61
61
  - About to commit/push/PR without verification
62
62
  - Trusting agent success reports
63
63
  - Relying on partial verification
@@ -110,6 +110,17 @@ Skip any step = lying, not verifying
110
110
  ❌ Trust agent report
111
111
  ```
112
112
 
113
+ ## When the check itself lies — content over shape
114
+
115
+ Running a verification is necessary but not sufficient: a check can exit clean and still prove nothing. These are the named ways a green check lies — the failure siblings behind "evidence before claims." (Deeper treatment of *what* you verify against: `reference-first-verification`.)
116
+
117
+ - **Assert on CONTENT, never shape or count.** Output that *looks* like success — a non-zero count, a clean exit, no error text — can carry failure as its content. Before trusting a check, ask what its output looks like *when it fails*: if failure and success are indistinguishable at a glance, the check proves nothing. (`[1 lines]` and `No matches found` both read as "a match" to a line-count.)
118
+ - **Compare the returned value to the value you PASSED — never to a description of it.** A confident label (`evidenceRef NOW SET:` printed above the untouched original) is indistinguishable from a verification in a transcript. Diff the actual result against your actual input, not against a claim about it.
119
+ - **Find the untested axis.** Thorough coverage of ONE axis reads as thorough coverage overall. Ask what every one of your tests shares — a healthy manifest, a default option value, the happy path — and treat that shared assumption as the dimension you never tested. (A 15-case "exhaustive" harness whose only defect lived on the one axis every case held constant.)
120
+ - **A syntax check proves parseability and nothing else.** A clean `node --check` / lint / parse pass is the *covered* axis; boot and runtime are the untested one. Parseable ≠ sound.
121
+ - **A failure whose shape is a HANG reports nothing.** A bare `await` against a stated deadline that never re-checks cannot fail loudly. Race it against a timer so failure has a shape you can see.
122
+ - **A completeness inventory read through a truncating display is worthless.** When deciding *which occurrences to change*, count with `grep -c` / `grep -o` / full-line output — never `cut`, `head`, or a pager, which can hide a match *past* the cut (a doc pointer on a ~540-char line sat just past `cut -c1-180` and nearly shipped the defect inside its own fix). Distinguish *"I found N"* (a count) from *"I saw N"* (a display). Audit multiline prose **by paragraph, not by line** — a line filter both misses long-line matches and false-flags paragraphs whose companion text is on the next line. Then re-audit with a **different method** than the one that built the inventory — same-method re-checking reproduces the blind spot. (Empty/short output is a claim about your COMMAND until re-proven a second way.)
123
+
113
124
  ## Why This Matters
114
125
 
115
126
  From 24 failure memories:
@@ -47,6 +47,6 @@ Watch upstream for:
47
47
  When upstream changes:
48
48
 
49
49
  1. Pull non-conflicting changes into the OpenRig copy.
50
- 2. Preserve the `docs/plans/` save path and the absence of the Scope Check + File Structure sections unless founder direction reverses.
50
+ 2. Preserve the `docs/plans/` save path and the absence of the Scope Check + File Structure sections unless operator direction reverses.
51
51
  3. Re-check that the subagent-driven-development pointer hasn't crept back in.
52
52
  4. Bump `last_upstream_check` in `SKILL.md` frontmatter.
@@ -18,4 +18,4 @@ Ship features that solve real customer problems with evidence-backed requirement
18
18
 
19
19
  ## Mission/slice tracking (the SDLC)
20
20
 
21
- Requirements and delivery are tracked as missions and slices — on-disk markdown the Living Notes UI projects. Load the packaged `mission-slice-sop` skill; the conventions live in `docs/reference/sdlc-conventions.md` (shipped with the CLI package). PM's leg of the flow: record intent verbatim, author the mini-requirements (the one-glance tier where approval starts) + the proof contract (promised deliverables as observable outcomes; UI deliverables name their planned mockup), then plan-lock with `rig scope slice approve --scope spec`. Proof-lock (`--scope delivery`) is the terminal sign-off after QA's visual compare and `rig proof add … --media` drops (the C1 drop verb).
21
+ Requirements and delivery are tracked as missions and slices — on-disk markdown the Living Notes UI projects. Load the packaged `mission-slice-sop` skill; the conventions live in `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`; shipped with the CLI package). PM's leg of the flow: record intent verbatim, author the mini-requirements (the one-glance tier where approval starts) + the proof contract (promised deliverables as observable outcomes; UI deliverables name their planned mockup), then plan-lock with `rig scope slice approve --scope spec`. Proof-lock (`--scope delivery`) is the terminal sign-off after QA's visual compare and `rig proof add … --media` drops (the C1 drop verb).
@@ -11,10 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user, openrig-architect, brainstorming, requirements-writer]
14
+ skills: [openrig-architect, brainstorming, requirements-writer]
15
15
  guidance: [role]
16
16
  subagents: []
17
- plugins: []
17
+ plugins: [shared:openrig-core]
18
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
19
19
 
20
20
  resources:
@@ -35,10 +35,11 @@ hand off.
35
35
 
36
36
  Long advising sessions hit context limits. The discipline is
37
37
  externalize-state-to-durable-substrate, not in-context recall:
38
- recover identity via `rig whoami --json`; recover recent peer
39
- context via `rig transcript <session> --tail` / `--grep`; recover
40
- in-flight work via `rig queue list --as <me>`. Hand off load-bearing
41
- decisions to the queue so a fresh-context advisor can pick them up.
38
+ recover identity via `rig whoami --json`; recover in-flight work from
39
+ restore maps, current `MISSION_NOTES.md`, and owned queue items. Use
40
+ `rig transcript <session> --tail` / `--grep` only as a secondary check;
41
+ little or no output does not prove the session was quiet. Hand off
42
+ load-bearing decisions to the queue so a fresh-context advisor can pick them up.
42
43
  If the operator has installed a richer compaction-survival skill on
43
44
  this host (substrate skill path or `~/.openrig/skills/`), load it
44
45
  for more detail.
@@ -11,10 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user, openrig-operator, rig-lifecycle, systematic-debugging, verification-before-completion, openrig-installer]
14
+ skills: [rig-lifecycle, openrig-upgrade, systematic-debugging, verification-before-completion]
15
15
  guidance: [role]
16
16
  subagents: []
17
- plugins: []
17
+ plugins: [shared:openrig-core]
18
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
19
19
 
20
20
  resources:
@@ -18,11 +18,9 @@ with them and escalate to them when ops decisions need human approval.
18
18
  4. Confirm healthy via `rig ps --nodes --rig <name>`.
19
19
  - Inspect topology, transcript, attention queue state, mission
20
20
  control views.
21
- - Shepherd install / upgrade / migration ceremonies. The
22
- `openrig-installer` skill is your reference for the V0.3.1
23
- upgrade flow (which includes the substrate-kernel → daemon-managed
24
- kernel migration as a one-time ceremony — see openrig-installer
25
- for the canonical steps).
21
+ - Shepherd current install and upgrade work. Use the `openrig-upgrade`
22
+ skill for the supported upgrade path and verify the resulting daemon
23
+ and rig health before declaring the operation complete.
26
24
 
27
25
  ## What you do NOT do
28
26
 
@@ -11,10 +11,10 @@ imports:
11
11
  profiles:
12
12
  default:
13
13
  uses:
14
- skills: [openrig-user]
14
+ skills: []
15
15
  guidance: [role]
16
16
  subagents: []
17
- plugins: []
17
+ plugins: [shared:openrig-core]
18
18
  runtime_resources: [shared:claude-default-settings, shared:claude-default-mcp, shared:codex-default-config]
19
19
 
20
20
  resources:
@@ -46,10 +46,9 @@ machine and have things happen.
46
46
  and surfaces a 3-part error (fact / reason / fix) per the
47
47
  building-agent-software skill discipline. No best-effort
48
48
  half-booted state.
49
- - **Migration ceremony is part of the upgrade.** V0.3.1 ships the
50
- kernel as a daemon-managed built-in; operators with a pre-existing
51
- substrate-rooted kernel migrate as a one-time step during the
52
- V0.3.1 install (openrig-installer skill walks this).
49
+ - **Use the current upgrade path.** The operator loads `openrig-upgrade`,
50
+ follows the supported migration guidance for the installed version,
51
+ and verifies daemon plus rig health before closing the operation.
53
52
  - **Skills earn their slot.** Each agent loads a lean roster at
54
53
  startup (per HOST-TOPOLOGY §4.10); the rest are reachable on demand
55
54
  via find-skills.
@@ -138,4 +138,4 @@ This is the advanced product-team lane. Use it when the work needs richer coordi
138
138
 
139
139
  ## Mission/slice tracking (the SDLC)
140
140
 
141
- Work is tracked as missions and slices — on-disk markdown the Living Notes UI projects. Load the packaged `mission-slice-sop` skill before authoring or building a slice; the conventions (section names, proof contract, the two locks, C1 proof headers) live in `docs/reference/sdlc-conventions.md` (shipped with the CLI package). The short form: record intent → author mini-requirements + a proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visually compares planned vs delivered → `rig proof add … --evidences --media` drops (the C1 drop verb — never hand-place evidence) → proof-lock (`--scope delivery`). `rig scope audit` is the advisory backstop — fix the flag, don't suppress it.
141
+ Work is tracked as missions and slices — on-disk markdown the Living Notes UI projects. Load the packaged `mission-slice-sop` skill before authoring or building a slice; the conventions (section names, proof contract, the two locks, C1 proof headers) live in `docs/reference/sdlc-conventions.md` (installed: `$OPENRIG_HOME/reference/sdlc-conventions.md`; shipped with the CLI package). The short form: record intent → author mini-requirements + a proof contract (→ mockups for UI slices) → plan-lock (`rig scope slice approve --scope spec`) → build the locked set → QA visually compares planned vs delivered → `rig proof add … --evidences --media` drops (the C1 drop verb — never hand-place evidence) → proof-lock (`--scope delivery`). `rig scope audit` is the advisory backstop — fix the flag, don't suppress it.
@@ -1 +1 @@
1
- {"version":3,"file":"bin-wrapper.d.ts","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":";AASA,wBAAgB,eAAe,CAAC,WAAW,qBAAkB,EAAE,SAAS,SAAkB,GAAG,MAAM,CAIlG;AAED,wBAAgB,WAAW,CAAC,KAAK,qBAAkB,EAAE,SAAS,SAAkB,GAAG,OAAO,CAOzF;AAED,wBAAgB,uBAAuB,CACrC,eAAe,SAAmB,EAClC,WAAW,qBAAkB,EAC7B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,MAAM,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAoB,EACnD,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAqB,GACrD,MAAM,GAAG,IAAI,CAiBf;AAsBD,wBAAsB,GAAG,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAS5D"}
1
+ {"version":3,"file":"bin-wrapper.d.ts","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":";AASA,wBAAgB,eAAe,CAAC,WAAW,qBAAkB,EAAE,SAAS,SAAkB,GAAG,MAAM,CAIlG;AAED,wBAAgB,WAAW,CAAC,KAAK,qBAAkB,EAAE,SAAS,SAAkB,GAAG,OAAO,CAOzF;AAED,wBAAgB,uBAAuB,CACrC,eAAe,SAAmB,EAClC,WAAW,qBAAkB,EAC7B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,MAAM,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAoB,EACnD,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAqB,GACrD,MAAM,GAAG,IAAI,CAiBf;AAsBD,wBAAsB,GAAG,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5D"}
@@ -63,7 +63,9 @@ export async function run(argv = process.argv) {
63
63
  }
64
64
  const entryUrl = pathToFileURL(resolveBinEntry(normalizedArgv[1], import.meta.url)).href;
65
65
  const mod = await import(entryUrl);
66
- await mod.createProgram().parseAsync(normalizedArgv);
66
+ // Slice 15: run through the shared error path so `--json` failures emit a JSON
67
+ // error object with a nonzero exit instead of plain Commander text.
68
+ await mod.runProgram(mod.createProgram(), normalizedArgv);
67
69
  }
68
70
  if (isDirectRun()) {
69
71
  maybeReexecWithSiblingNode(process.argv);
@@ -1 +1 @@
1
- {"version":3,"file":"bin-wrapper.js","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin-wrapper.js","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  // GENERATED by scripts/build-package.sh — the packaged build-identity stamp.
2
2
  export const BUILD_INFO = {
3
- semver: "0.4.6",
4
- commit: "8250d702a27aa24bb9acf0b4bef12f58fd83df12",
3
+ semver: "0.4.8",
4
+ commit: "94e04abd2bdd78bf403070633ea6bb51c8ef9cce",
5
5
  dirty: false,
6
- builtAt: "2026-07-09T22:59:04Z",
6
+ builtAt: "2026-08-05T00:52:58Z",
7
7
  };
8
8
  export function stampFields(info = BUILD_INFO) {
9
9
  if (!info.commit) return {};
@@ -0,0 +1,33 @@
1
+ import type { Command } from "commander";
2
+ /**
3
+ * Commander option parser — a positive integer (>= 1). Rejects negative, zero,
4
+ * and non-numeric values (finding 4). Throws InvalidArgumentError, which the
5
+ * shared error path (below) renders as a JSON error under `--json`.
6
+ */
7
+ export declare function positiveIntArg(value: string): number;
8
+ /** Commander option parser factory — the value must be one of `allowed` (finding 3). */
9
+ export declare function enumArg(allowed: readonly string[]): (value: string) => string;
10
+ /** True when the invocation requested machine output (`--json` or `-o/--output/--format json`). */
11
+ export declare function wantsJsonOutput(argv: readonly string[]): boolean;
12
+ /** Commander's non-error terminations (help/version) — exit cleanly, no error object. */
13
+ export declare function isCleanCommanderExit(err: unknown): boolean;
14
+ export declare function formatCliError(err: unknown): {
15
+ ok: false;
16
+ error: {
17
+ code: string;
18
+ message: string;
19
+ };
20
+ };
21
+ /** Recursively give every command exitOverride so parse errors throw instead of exiting. */
22
+ export declare function applyExitOverride(program: Command): void;
23
+ export interface RunProgramIo {
24
+ out?: (line: string) => void;
25
+ err?: (line: string) => void;
26
+ exit?: (code: number) => void;
27
+ }
28
+ /**
29
+ * Parse+run the program through the shared error path. Injectable IO for tests.
30
+ * Returns the process exit code (0 on success / clean help/version).
31
+ */
32
+ export declare function runProgram(program: Command, argv: string[], io?: RunProgramIo): Promise<number>;
33
+ //# sourceMappingURL=cli-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-error.d.ts","sourceRoot":"","sources":["../src/cli-error.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wFAAwF;AACxF,wBAAgB,OAAO,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAO7E;AAED,mGAAmG;AACnG,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAQhE;AAQD,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ1D;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAIpG;AAED,4FAA4F;AAC5F,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAMxD;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,GAAE,YAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA6BzG"}
@@ -0,0 +1,94 @@
1
+ import { InvalidArgumentError } from "commander";
2
+ /**
3
+ * Commander option parser — a positive integer (>= 1). Rejects negative, zero,
4
+ * and non-numeric values (finding 4). Throws InvalidArgumentError, which the
5
+ * shared error path (below) renders as a JSON error under `--json`.
6
+ */
7
+ export function positiveIntArg(value) {
8
+ const n = Number(value);
9
+ if (!Number.isInteger(n) || n < 1) {
10
+ throw new InvalidArgumentError(`must be a positive integer (>= 1); got '${value}'`);
11
+ }
12
+ return n;
13
+ }
14
+ /** Commander option parser factory — the value must be one of `allowed` (finding 3). */
15
+ export function enumArg(allowed) {
16
+ return (value) => {
17
+ if (!allowed.includes(value)) {
18
+ throw new InvalidArgumentError(`must be one of: ${allowed.join(", ")}; got '${value}'`);
19
+ }
20
+ return value;
21
+ };
22
+ }
23
+ /** True when the invocation requested machine output (`--json` or `-o/--output/--format json`). */
24
+ export function wantsJsonOutput(argv) {
25
+ for (let i = 0; i < argv.length; i++) {
26
+ const a = argv[i];
27
+ if (a === "--json")
28
+ return true;
29
+ if ((a === "-o" || a === "--output" || a === "--format") && argv[i + 1] === "json")
30
+ return true;
31
+ if (/^(?:-o|--output|--format)=json$/.test(a))
32
+ return true;
33
+ }
34
+ return false;
35
+ }
36
+ /** Commander's non-error terminations (help/version) — exit cleanly, no error object. */
37
+ export function isCleanCommanderExit(err) {
38
+ const e = err;
39
+ return (e?.code === "commander.helpDisplayed" ||
40
+ e?.code === "commander.version" ||
41
+ e?.code === "commander.help" ||
42
+ (typeof e?.exitCode === "number" && e.exitCode === 0));
43
+ }
44
+ export function formatCliError(err) {
45
+ const e = err;
46
+ const message = (e?.message ?? String(err)).replace(/^error:\s*/i, "").trim();
47
+ return { ok: false, error: { code: e?.code ?? "cli_error", message } };
48
+ }
49
+ /** Recursively give every command exitOverride so parse errors throw instead of exiting. */
50
+ export function applyExitOverride(program) {
51
+ const walk = (cmd) => {
52
+ cmd.exitOverride();
53
+ for (const sub of cmd.commands)
54
+ walk(sub);
55
+ };
56
+ walk(program);
57
+ }
58
+ /**
59
+ * Parse+run the program through the shared error path. Injectable IO for tests.
60
+ * Returns the process exit code (0 on success / clean help/version).
61
+ */
62
+ export async function runProgram(program, argv, io = {}) {
63
+ const out = io.out ?? ((l) => process.stdout.write(l + "\n"));
64
+ const err = io.err ?? ((l) => process.stderr.write(l + "\n"));
65
+ const exit = io.exit ?? ((c) => process.exit(c));
66
+ const json = wantsJsonOutput(argv.slice(2));
67
+ applyExitOverride(program);
68
+ // Suppress Commander's own plain-text stderr write when JSON was requested, so a
69
+ // `--json` failure emits ONLY the JSON error object (below). Non-JSON keeps the
70
+ // familiar stderr text. Applied to the whole command tree.
71
+ const suppressErr = (cmd) => {
72
+ cmd.configureOutput({ writeErr: (str) => { if (!json)
73
+ err(str.replace(/\n$/, "")); } });
74
+ for (const sub of cmd.commands)
75
+ suppressErr(sub);
76
+ };
77
+ suppressErr(program);
78
+ try {
79
+ await program.parseAsync(argv);
80
+ return 0;
81
+ }
82
+ catch (e) {
83
+ if (isCleanCommanderExit(e))
84
+ return 0;
85
+ const code = e?.exitCode ?? 1;
86
+ if (json) {
87
+ out(JSON.stringify(formatCliError(e)));
88
+ }
89
+ // (non-JSON plain text was already emitted via configureOutput.writeErr above)
90
+ exit(code || 1);
91
+ return code || 1;
92
+ }
93
+ }
94
+ //# sourceMappingURL=cli-error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-error.js","sourceRoot":"","sources":["../src/cli-error.ts"],"names":[],"mappings":"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"}
@@ -474,7 +474,7 @@ ${slice.objective}
474
474
  - [ ] Queue items include enough body or tag context to link back to \`${slice.id}\`.
475
475
  - [ ] Proof artifacts are referenced from the slice before closure (drop via \`rig proof add\`).
476
476
 
477
- > Conventions SSOT: \`docs/reference/sdlc-conventions.md\` — section names, proof-contract format, the two locks, C1 headers. For a small slice the mini-requirements may BE the whole PRD.
477
+ > Conventions SSOT: \`docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md)\` — section names, proof-contract format, the two locks, C1 headers. For a small slice the mini-requirements may BE the whole PRD.
478
478
  `;
479
479
  }
480
480
  export function workspaceScaffoldDirs() {
@@ -12,7 +12,7 @@ export interface DoctorDeps {
12
12
  baseDir: string;
13
13
  readFile: (path: string) => string | null;
14
14
  exec: (cmd: string) => string;
15
- checkPort: (port: number) => Promise<boolean>;
15
+ checkPort: (port: number, host: string) => Promise<boolean>;
16
16
  configStore: Pick<ConfigStore, "resolve">;
17
17
  platform?: NodeJS.Platform;
18
18
  mkdirp?: (path: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9C,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAClF;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAA;CAAE,CAkMjJ;AAmDD,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAyChE"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUjD,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC1C,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9B,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5D,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CAClF;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG;IAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,CAAA;CAAE,CAwMjJ;AAmDD,wBAAgB,aAAa,CAAC,YAAY,CAAC,EAAE,UAAU,GAAG,OAAO,CAyChE"}
@@ -10,14 +10,14 @@ import { CMUX_SETTINGS_DISCLOSURE_PATH, isCmuxSocketControlCompatible, readCmuxS
10
10
  import { buildTmuxControlFailure, probeTmuxControl } from "../tmux-health.js";
11
11
  const MIN_NODE_MAJOR = 20;
12
12
  const DEFAULT_PORT = 7433;
13
- function defaultCheckPort(port) {
13
+ function defaultCheckPort(port, host) {
14
14
  return new Promise((resolve) => {
15
15
  const socket = new net.Socket();
16
16
  socket.setTimeout(1000);
17
17
  socket.on("connect", () => { socket.destroy(); resolve(false); });
18
18
  socket.on("error", () => { socket.destroy(); resolve(true); });
19
19
  socket.on("timeout", () => { socket.destroy(); resolve(true); });
20
- socket.connect(port, "127.0.0.1");
20
+ socket.connect(port, host);
21
21
  });
22
22
  }
23
23
  export function runDoctorChecks(deps) {
@@ -163,26 +163,32 @@ export function runDoctorChecks(deps) {
163
163
  reason: writableCheck.reason,
164
164
  fix: writableCheck.fix,
165
165
  });
166
- // 7. Port availability (async) — daemon already running on that port counts as OK
166
+ // 7. Port availability (async) — daemon already running on that port counts as OK.
167
+ // OPR.0.4.7 slice-05 item-4b: resolve the daemon host+port ONCE from config and use
168
+ // BOTH for checkPort, healthz, the cmux URL, and messages (a daemon on a non-default
169
+ // configured host/port must not be reported missing). Defaults stay 127.0.0.1:7433.
170
+ const daemonHost = config.daemon.host ?? "127.0.0.1";
171
+ const daemonPort = config.daemon.port ?? DEFAULT_PORT;
172
+ const daemonBase = `http://${daemonHost}:${daemonPort}`;
167
173
  const fetchFn = deps.fetch ?? globalThis.fetch;
168
- const portCheck = deps.checkPort(DEFAULT_PORT).then(async (available) => {
174
+ const portCheck = deps.checkPort(daemonPort, daemonHost).then(async (available) => {
169
175
  if (available) {
170
- return { name: "port", status: "pass", message: `Port ${DEFAULT_PORT} available.` };
176
+ return { name: "port", status: "pass", message: `Port ${daemonHost}:${daemonPort} available.` };
171
177
  }
172
178
  // Port in use — check if it's our daemon via healthz
173
179
  try {
174
- const res = await fetchFn(`http://127.0.0.1:${DEFAULT_PORT}/healthz`);
180
+ const res = await fetchFn(`${daemonBase}/healthz`);
175
181
  if (res.ok) {
176
- return { name: "port", status: "pass", message: `Port ${DEFAULT_PORT} in use by OpenRig daemon.` };
182
+ return { name: "port", status: "pass", message: `Port ${daemonHost}:${daemonPort} in use by OpenRig daemon.` };
177
183
  }
178
184
  }
179
185
  catch { /* not our daemon */ }
180
186
  return {
181
187
  name: "port",
182
188
  status: "fail",
183
- message: `Port ${DEFAULT_PORT} is in use by another process.`,
189
+ message: `Port ${daemonHost}:${daemonPort} is in use by another process.`,
184
190
  reason: "The daemon needs this port to serve the API and UI.",
185
- fix: `Stop the process using port ${DEFAULT_PORT}, or start the daemon on a different port with: rig daemon start --port <port>`,
191
+ fix: `Stop the process using port ${daemonPort}, or start the daemon on a different port with: rig daemon start --port <port>`,
186
192
  };
187
193
  });
188
194
  // 8. Daemon cmux control (async, only when shell cmux passed)
@@ -190,7 +196,7 @@ export function runDoctorChecks(deps) {
190
196
  if (shellCmuxPassed) {
191
197
  const daemonCmuxCheck = (async () => {
192
198
  try {
193
- const healthRes = await fetchFn(`http://127.0.0.1:${DEFAULT_PORT}/healthz`);
199
+ const healthRes = await fetchFn(`${daemonBase}/healthz`);
194
200
  if (!healthRes.ok) {
195
201
  return { name: "cmux_daemon", status: "skipped", message: "Daemon not running. Skipping daemon cmux check." };
196
202
  }
@@ -199,7 +205,7 @@ export function runDoctorChecks(deps) {
199
205
  return { name: "cmux_daemon", status: "skipped", message: "Daemon not reachable. Skipping daemon cmux check." };
200
206
  }
201
207
  try {
202
- const cmuxRes = await fetchFn(`http://127.0.0.1:${DEFAULT_PORT}/api/adapters/cmux/status`);
208
+ const cmuxRes = await fetchFn(`${daemonBase}/api/adapters/cmux/status`);
203
209
  if (cmuxRes.ok && cmuxRes.json) {
204
210
  const data = (await cmuxRes.json());
205
211
  if (data.available) {
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAsI,KAAK,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAC7M,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQtF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtG;;sDAEkD;IAClD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,qHAAqH;IACrH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;CACvG;AA6CD;;uCAEuC;AACvC;;;;;mDAKmD;AACnD,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAChC,SAAS,SAAO,GACf,OAAO,CAAC,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC,CAiBlD;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA+FvF;AAED;;4DAE4D;AAC5D,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD,wBAAsB,YAAY,CAChC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAmJrB;AAED,eAAO,MAAM,gBAAgB,6PAUnB,CAAC;AAkBX,wBAAgB,WAAW,CAAC,kBAAkB,CAAC,EAAE,UAAU,GAAG,OAAO,CAsZpE"}
1
+ {"version":3,"file":"host.d.ts","sourceRoot":"","sources":["../../src/commands/host.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMpC,OAAO,EAAyJ,KAAK,SAAS,EAAsB,MAAM,qBAAqB,CAAC;AAChO,OAAO,EAAuB,KAAK,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAQtF,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC,eAAe,CAAC,CAAC;IAC5E,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtG;;sDAEkD;IAClD,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,qHAAqH;IACrH,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;CACvG;AA6CD;;uCAEuC;AACvC;;;;;mDAKmD;AACnD,wBAAsB,eAAe,CACnC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAC,EAChC,SAAS,SAAO,GACf,OAAO,CAAC,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC,CAiBlD;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CA2GvF;AAED;;4DAE4D;AAC5D,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD,wBAAsB,YAAY,CAChC,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,UAAU,EAChB,IAAI,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAO,GACjC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAmJrB;AAED,eAAO,MAAM,gBAAgB,6PAUnB,CAAC;AAkBX,wBAAgB,WAAW,CAAC,kBAAkB,CAAC,EAAE,UAAU,GAAG,OAAO,CAsZpE"}
@@ -17,7 +17,7 @@ import { join } from "node:path";
17
17
  import { hostname as osHostname, userInfo } from "node:os";
18
18
  import { connect } from "node:net";
19
19
  import { getOpenRigHome } from "../openrig-compat.js";
20
- import { addHostEntry, defaultHostRegistryPath, loadHostRegistry, validateHostRegistry, hostDisplayTarget, resolveHost, resolveRemoteBearer } from "../host-registry.js";
20
+ import { addHostEntry, defaultHostRegistryPath, loadHostRegistry, validateHostRegistry, hostDisplayTarget, resolveHost, resolveRemoteBearer, bearerAuthHeaders } from "../host-registry.js";
21
21
  import { runCrossHostCommand } from "../cross-host-executor.js";
22
22
  import { DaemonClient } from "../client.js";
23
23
  import { readOwnHostName, readSelectedHost } from "../host-selection.js";
@@ -120,14 +120,26 @@ export async function doctorLegs(host, deps) {
120
120
  rows.push({ step: "remote-rig-binary", status: "pass", detail: `remote rig ${version.stdout.trim() || "(version unreadable)"}` });
121
121
  const daemon = await deps.run(host, ["rig", "daemon", "status"]);
122
122
  const daemonUp = daemon.ok && /running/i.test(daemon.stdout);
123
- rows.push(daemonUp
124
- ? { step: "remote-daemon-health", status: "pass", detail: "remote daemon reports running" }
125
- : {
123
+ if (daemonUp) {
124
+ rows.push({ step: "remote-daemon-health", status: "pass", detail: "remote daemon reports running" });
125
+ }
126
+ else if (!daemon.ok) {
127
+ rows.push({
128
+ step: "remote-daemon-health",
129
+ status: "unknown",
130
+ detail: "remote daemon status could not confirm health; SSH reachability alone cannot determine daemon health",
131
+ fix: "on the host: verify with `rig daemon status` and an actual daemon-backed operation such as `rig ps --json`",
132
+ });
133
+ return rows;
134
+ }
135
+ else {
136
+ rows.push({
126
137
  step: "remote-daemon-health",
127
138
  status: "fail",
128
139
  detail: "SSH works and rig is installed, but the remote daemon is not running",
129
140
  fix: "on the host: rig daemon start (then re-run doctor)",
130
141
  });
142
+ }
131
143
  if (!daemonUp)
132
144
  return rows;
133
145
  const whoami = await deps.run(host, ["rig", "ps", "--json", "--limit", "5"]);
@@ -157,9 +169,11 @@ export async function doctorLegs(host, deps) {
157
169
  return rows;
158
170
  }
159
171
  try {
160
- const health = await deps.httpGet(`${host.url}/healthz`, { Authorization: `Bearer ${bearer.token}` });
172
+ const health = await deps.httpGet(`${host.url}/healthz`, bearerAuthHeaders(bearer.token));
161
173
  if (health.status === 401 || health.status === 403) {
162
- rows.push({ step: "transport-reachability", status: "fail", detail: `daemon reachable but rejected the bearer (HTTP ${health.status})`, fix: "registry is reachable but the token is wrong — rotate/set the bearer the entry points at" });
174
+ rows.push(bearer.token
175
+ ? { step: "transport-reachability", status: "fail", detail: `daemon reachable but rejected the bearer (HTTP ${health.status})`, fix: "registry is reachable but the token is wrong — rotate/set the bearer the entry points at" }
176
+ : { step: "transport-reachability", status: "fail", detail: `daemon reachable but requires Authorization (HTTP ${health.status}); this host entry is anonymous (no bearer configured)`, fix: "the remote daemon enforces a bearer — add a bearer_env or bearer_file pointer to this host's entry in ~/.openrig/hosts.yaml, then set that env var / file" });
163
177
  return rows;
164
178
  }
165
179
  if (health.status < 200 || health.status >= 300) {
@@ -180,9 +194,9 @@ export async function doctorLegs(host, deps) {
180
194
  fix: "verify via an ssh-transport entry for this host, or on the host directly: rig --version",
181
195
  });
182
196
  try {
183
- const ps = await deps.httpGet(`${host.url}/api/ps`, { Authorization: `Bearer ${bearer.token}` });
197
+ const ps = await deps.httpGet(`${host.url}/api/ps`, bearerAuthHeaders(bearer.token));
184
198
  rows.push(ps.status >= 200 && ps.status < 300
185
- ? { step: "remote-identity", status: "pass", detail: "authenticated daemon API answers (/api/ps)" }
199
+ ? { step: "remote-identity", status: "pass", detail: bearer.token ? "authenticated daemon API answers (/api/ps)" : "daemon API answers (/api/ps; anonymous — no bearer configured)" }
186
200
  : { step: "remote-identity", status: "fail", detail: `/api/ps returned HTTP ${ps.status}`, fix: "daemon healthz is up but the API is unhealthy — check remote daemon logs" });
187
201
  }
188
202
  catch (err) {
@@ -383,8 +397,8 @@ export function hostCommand(doctorDepsOverride) {
383
397
  .option("--target <target>", "SSH target (DNS name, ssh-config alias, or IP) — ssh transport")
384
398
  .option("--user <user>", "SSH user — ssh transport")
385
399
  .option("--url <url>", "Remote daemon base URL — http transport")
386
- .option("--bearer-env <name>", "Env var NAME holding the bearer token — http transport (pointer, never a value)")
387
- .option("--bearer-file <path>", "File PATH holding the bearer token — http transport (pointer, never a value)")
400
+ .option("--bearer-env <name>", "Env var NAME holding the bearer token — http transport (optional pointer, never a value; omit both bearer flags for a tokenless daemon)")
401
+ .option("--bearer-file <path>", "File PATH holding the bearer token — http transport (optional pointer, never a value; at most one bearer flag)")
388
402
  .option("--notes <text>", "Free-form operator note")
389
403
  .option("--json", "JSON output")
390
404
  .action((opts) => {