@openrig/cli 0.4.6 → 0.4.7

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 (352) 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/claude-compaction-restore/SKILL.md +9 -6
  5. package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
  6. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +34 -22
  7. package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
  8. package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +11 -14
  9. package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +95 -0
  10. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +175 -105
  11. package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
  12. package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
  13. package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
  14. package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
  15. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  16. package/daemon/dist/adapters/cmux-transport.js +8 -1
  17. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  18. package/daemon/dist/adapters/cmux.d.ts +9 -0
  19. package/daemon/dist/adapters/cmux.d.ts.map +1 -1
  20. package/daemon/dist/adapters/cmux.js +21 -0
  21. package/daemon/dist/adapters/cmux.js.map +1 -1
  22. package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
  23. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  24. package/daemon/dist/adapters/codex-runtime-adapter.js +20 -4
  25. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  26. package/daemon/dist/build-info.js +3 -3
  27. package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
  28. package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
  29. package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
  30. package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
  31. package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
  32. package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
  33. package/daemon/dist/domain/cmux-layout-service.js +100 -28
  34. package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
  35. package/daemon/dist/domain/context-monitor.d.ts +2 -0
  36. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  37. package/daemon/dist/domain/context-monitor.js +14 -0
  38. package/daemon/dist/domain/context-monitor.js.map +1 -1
  39. package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
  40. package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
  41. package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
  42. package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
  43. package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
  44. package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
  45. package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
  46. package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
  47. package/daemon/dist/domain/hosts/read-through.js +1 -1
  48. package/daemon/dist/domain/hosts/read-through.js.map +1 -1
  49. package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
  50. package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
  51. package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
  52. package/daemon/dist/domain/node-inventory.d.ts +3 -12
  53. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  54. package/daemon/dist/domain/node-inventory.js +55 -13
  55. package/daemon/dist/domain/node-inventory.js.map +1 -1
  56. package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
  57. package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
  58. package/daemon/dist/domain/plugin-vendor-service.js +23 -0
  59. package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
  60. package/daemon/dist/domain/projection-lane.d.ts +7 -0
  61. package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
  62. package/daemon/dist/domain/projection-lane.js +28 -0
  63. package/daemon/dist/domain/projection-lane.js.map +1 -0
  64. package/daemon/dist/domain/ps-projection.d.ts +19 -0
  65. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  66. package/daemon/dist/domain/ps-projection.js +46 -6
  67. package/daemon/dist/domain/ps-projection.js.map +1 -1
  68. package/daemon/dist/domain/queue-repository.d.ts +14 -10
  69. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  70. package/daemon/dist/domain/queue-repository.js +33 -12
  71. package/daemon/dist/domain/queue-repository.js.map +1 -1
  72. package/daemon/dist/domain/review/compose.d.ts +77 -4
  73. package/daemon/dist/domain/review/compose.d.ts.map +1 -1
  74. package/daemon/dist/domain/review/compose.js +152 -16
  75. package/daemon/dist/domain/review/compose.js.map +1 -1
  76. package/daemon/dist/domain/review/fleet-compose.js +1 -1
  77. package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
  78. package/daemon/dist/domain/review/gather.d.ts +1 -1
  79. package/daemon/dist/domain/review/gather.d.ts.map +1 -1
  80. package/daemon/dist/domain/review/gather.js +92 -67
  81. package/daemon/dist/domain/review/gather.js.map +1 -1
  82. package/daemon/dist/domain/review/proof-io.d.ts +2 -0
  83. package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
  84. package/daemon/dist/domain/review/proof-io.js +38 -0
  85. package/daemon/dist/domain/review/proof-io.js.map +1 -0
  86. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  87. package/daemon/dist/domain/rigspec-instantiator.js +15 -2
  88. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  89. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
  90. package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
  91. package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
  92. package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
  93. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
  94. package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
  95. package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
  96. package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
  97. package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
  98. package/daemon/dist/domain/scope/scope-approve.js +22 -1
  99. package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
  100. package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
  101. package/daemon/dist/domain/scope/scope-audit.js +57 -20
  102. package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
  103. package/daemon/dist/domain/session-transport.d.ts +17 -0
  104. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  105. package/daemon/dist/domain/session-transport.js +44 -0
  106. package/daemon/dist/domain/session-transport.js.map +1 -1
  107. package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
  108. package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
  109. package/daemon/dist/domain/slices/qitem-membership.js +60 -0
  110. package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
  111. package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
  112. package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
  113. package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
  114. package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
  115. package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
  116. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  117. package/daemon/dist/domain/slices/slice-indexer.js +422 -45
  118. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  119. package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
  120. package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
  121. package/daemon/dist/domain/startup-orchestrator.js +71 -3
  122. package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
  123. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
  124. package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
  125. package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
  126. package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
  127. package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
  128. package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
  129. package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
  130. package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
  131. package/daemon/dist/domain/transcript-capture.d.ts +3 -0
  132. package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
  133. package/daemon/dist/domain/transcript-capture.js +28 -0
  134. package/daemon/dist/domain/transcript-capture.js.map +1 -1
  135. package/daemon/dist/domain/transcript-store.d.ts +10 -0
  136. package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
  137. package/daemon/dist/domain/transcript-store.js +26 -0
  138. package/daemon/dist/domain/transcript-store.js.map +1 -1
  139. package/daemon/dist/domain/types.d.ts +4 -0
  140. package/daemon/dist/domain/types.d.ts.map +1 -1
  141. package/daemon/dist/domain/types.js.map +1 -1
  142. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  143. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
  144. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  145. package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
  146. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
  147. package/daemon/dist/routes/mission-control.js +1 -1
  148. package/daemon/dist/routes/mission-control.js.map +1 -1
  149. package/daemon/dist/routes/missions.d.ts +7 -0
  150. package/daemon/dist/routes/missions.d.ts.map +1 -1
  151. package/daemon/dist/routes/missions.js +6 -1
  152. package/daemon/dist/routes/missions.js.map +1 -1
  153. package/daemon/dist/routes/ps.d.ts.map +1 -1
  154. package/daemon/dist/routes/ps.js +5 -1
  155. package/daemon/dist/routes/ps.js.map +1 -1
  156. package/daemon/dist/routes/queue.d.ts.map +1 -1
  157. package/daemon/dist/routes/queue.js +9 -2
  158. package/daemon/dist/routes/queue.js.map +1 -1
  159. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  160. package/daemon/dist/routes/rigs.js +21 -10
  161. package/daemon/dist/routes/rigs.js.map +1 -1
  162. package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
  163. package/daemon/dist/routes/scope-audit.js +141 -135
  164. package/daemon/dist/routes/scope-audit.js.map +1 -1
  165. package/daemon/dist/routes/sessions.js +2 -1
  166. package/daemon/dist/routes/sessions.js.map +1 -1
  167. package/daemon/dist/routes/slices.d.ts.map +1 -1
  168. package/daemon/dist/routes/slices.js +48 -38
  169. package/daemon/dist/routes/slices.js.map +1 -1
  170. package/daemon/dist/routes/transcripts.d.ts.map +1 -1
  171. package/daemon/dist/routes/transcripts.js +62 -33
  172. package/daemon/dist/routes/transcripts.js.map +1 -1
  173. package/daemon/dist/startup.d.ts.map +1 -1
  174. package/daemon/dist/startup.js +25 -11
  175. package/daemon/dist/startup.js.map +1 -1
  176. package/daemon/docs/reference/agent-startup-guide.md +1 -0
  177. package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
  178. package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
  179. package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
  180. package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
  181. package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
  182. package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
  183. package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
  184. package/daemon/specs/agents/development/qa/agent.yaml +12 -2
  185. package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
  186. package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
  187. package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
  188. package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
  189. package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
  190. package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
  191. package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
  192. package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
  193. package/daemon/specs/agents/shared/agent.yaml +5 -8
  194. package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +13 -1
  195. package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
  196. package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
  197. package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
  198. package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
  199. package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
  200. package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +25 -8
  201. package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
  202. package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
  203. package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
  204. package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
  205. package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
  206. package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
  207. package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
  208. package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
  209. package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
  210. package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +4 -4
  211. package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +3 -0
  212. package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
  213. package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
  214. package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
  215. package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
  216. package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
  217. package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +12 -2
  218. package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
  219. package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
  220. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
  221. package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
  222. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
  223. package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
  224. package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
  225. package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
  226. package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
  227. package/dist/bin-wrapper.d.ts.map +1 -1
  228. package/dist/bin-wrapper.js +3 -1
  229. package/dist/bin-wrapper.js.map +1 -1
  230. package/dist/build-info.js +3 -3
  231. package/dist/cli-error.d.ts +33 -0
  232. package/dist/cli-error.d.ts.map +1 -0
  233. package/dist/cli-error.js +94 -0
  234. package/dist/cli-error.js.map +1 -0
  235. package/dist/commands/config-init-workspace.js +1 -1
  236. package/dist/commands/doctor.d.ts +1 -1
  237. package/dist/commands/doctor.d.ts.map +1 -1
  238. package/dist/commands/doctor.js +17 -11
  239. package/dist/commands/doctor.js.map +1 -1
  240. package/dist/commands/host.d.ts.map +1 -1
  241. package/dist/commands/host.js +24 -10
  242. package/dist/commands/host.js.map +1 -1
  243. package/dist/commands/proof.js +1 -1
  244. package/dist/commands/proof.js.map +1 -1
  245. package/dist/commands/ps.d.ts.map +1 -1
  246. package/dist/commands/ps.js +16 -2
  247. package/dist/commands/ps.js.map +1 -1
  248. package/dist/commands/queue.d.ts.map +1 -1
  249. package/dist/commands/queue.js +103 -24
  250. package/dist/commands/queue.js.map +1 -1
  251. package/dist/commands/rig.d.ts.map +1 -1
  252. package/dist/commands/rig.js +122 -0
  253. package/dist/commands/rig.js.map +1 -1
  254. package/dist/commands/scope.js +2 -2
  255. package/dist/commands/scope.js.map +1 -1
  256. package/dist/commands/send.d.ts.map +1 -1
  257. package/dist/commands/send.js +118 -24
  258. package/dist/commands/send.js.map +1 -1
  259. package/dist/commands/slack.d.ts +37 -0
  260. package/dist/commands/slack.d.ts.map +1 -0
  261. package/dist/commands/slack.js +274 -0
  262. package/dist/commands/slack.js.map +1 -0
  263. package/dist/commands/ui.d.ts +1 -0
  264. package/dist/commands/ui.d.ts.map +1 -1
  265. package/dist/commands/ui.js +2 -0
  266. package/dist/commands/ui.js.map +1 -1
  267. package/dist/commands/up.js +1 -1
  268. package/dist/commands/up.js.map +1 -1
  269. package/dist/commands/whoami.d.ts.map +1 -1
  270. package/dist/commands/whoami.js +3 -3
  271. package/dist/commands/whoami.js.map +1 -1
  272. package/dist/daemon-lifecycle.d.ts.map +1 -1
  273. package/dist/daemon-lifecycle.js +45 -14
  274. package/dist/daemon-lifecycle.js.map +1 -1
  275. package/dist/host-registry.d.ts +6 -1
  276. package/dist/host-registry.d.ts.map +1 -1
  277. package/dist/host-registry.js +15 -6
  278. package/dist/host-registry.js.map +1 -1
  279. package/dist/index.d.ts +3 -0
  280. package/dist/index.d.ts.map +1 -1
  281. package/dist/index.js +6 -1
  282. package/dist/index.js.map +1 -1
  283. package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
  284. package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
  285. package/dist/lib/scope/scaffold-placeholder.js +98 -0
  286. package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
  287. package/dist/lib/scope/scope-audit.d.ts.map +1 -1
  288. package/dist/lib/scope/scope-audit.js +57 -20
  289. package/dist/lib/scope/scope-audit.js.map +1 -1
  290. package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
  291. package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
  292. package/dist/lib/scope-templates/bug-fix.md +1 -1
  293. package/dist/lib/scope-templates/implementation-prd.md +1 -1
  294. package/dist/lib/scope-templates/mission-notes.md +7 -2
  295. package/dist/lib/scope-templates/mission-placeholder.md +1 -1
  296. package/dist/lib/scope-templates/mission-progress.md +1 -1
  297. package/dist/lib/scope-templates/mission-release.md +1 -1
  298. package/dist/lib/scope-templates/placeholder.md +1 -1
  299. package/dist/lib/scope-templates/proof.md +1 -1
  300. package/dist/lib/scope-templates/release-feature.md +1 -1
  301. package/dist/lib/scope-templates/research.md +1 -1
  302. package/dist/lib/scope-templates/slice-progress.md +1 -1
  303. package/dist/remote-host-ops.d.ts.map +1 -1
  304. package/dist/remote-host-ops.js +2 -2
  305. package/dist/remote-host-ops.js.map +1 -1
  306. package/dist/slack/config.d.ts +41 -0
  307. package/dist/slack/config.d.ts.map +1 -0
  308. package/dist/slack/config.js +60 -0
  309. package/dist/slack/config.js.map +1 -0
  310. package/dist/slack/inbound.d.ts +75 -0
  311. package/dist/slack/inbound.d.ts.map +1 -0
  312. package/dist/slack/inbound.js +133 -0
  313. package/dist/slack/inbound.js.map +1 -0
  314. package/dist/slack/message.d.ts +26 -0
  315. package/dist/slack/message.d.ts.map +1 -0
  316. package/dist/slack/message.js +60 -0
  317. package/dist/slack/message.js.map +1 -0
  318. package/dist/slack/outbound.d.ts +39 -0
  319. package/dist/slack/outbound.d.ts.map +1 -0
  320. package/dist/slack/outbound.js +52 -0
  321. package/dist/slack/outbound.js.map +1 -0
  322. package/dist/slack/queue-bridge.d.ts +56 -0
  323. package/dist/slack/queue-bridge.d.ts.map +1 -0
  324. package/dist/slack/queue-bridge.js +114 -0
  325. package/dist/slack/queue-bridge.js.map +1 -0
  326. package/dist/slack/secrets.d.ts +21 -0
  327. package/dist/slack/secrets.d.ts.map +1 -0
  328. package/dist/slack/secrets.js +73 -0
  329. package/dist/slack/secrets.js.map +1 -0
  330. package/dist/slack/slack-api.d.ts +49 -0
  331. package/dist/slack/slack-api.d.ts.map +1 -0
  332. package/dist/slack/slack-api.js +110 -0
  333. package/dist/slack/slack-api.js.map +1 -0
  334. package/dist/slack/state-store.d.ts +62 -0
  335. package/dist/slack/state-store.d.ts.map +1 -0
  336. package/dist/slack/state-store.js +132 -0
  337. package/dist/slack/state-store.js.map +1 -0
  338. package/package.json +1 -1
  339. package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
  340. package/ui/dist/assets/index-N-SdPj-I.css +32 -0
  341. package/ui/dist/index.html +2 -2
  342. package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
  343. package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
  344. package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
  345. package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
  346. package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
  347. package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
  348. package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
  349. package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
  350. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
  351. package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
  352. package/ui/dist/assets/index-CFqxa0zW.css +0 -32
@@ -0,0 +1,95 @@
1
+ ---
2
+ name: openrig-skills
3
+ description: "Use when you're operating OpenRig and don't know which skill or context applies — this is the index of what ships with OpenRig, when to reach for each, and how to load it. Start here from a cold boot when nothing else is projected."
4
+ metadata:
5
+ openrig:
6
+ stage: shipped
7
+ ---
8
+
9
+ # OpenRig skills — the index (start here)
10
+
11
+ You're running inside OpenRig. OpenRig ships a set of **skills** — small documents that tell you *when* to do something and *how*. This file is the map: what ships, when to reach for each, and how to load it. If you don't know which skill applies, or nothing is projected into your context, **start here.**
12
+
13
+ ## How OpenRig context works (30 seconds)
14
+
15
+ Skills are **progressive disclosure**: a skill's *name + description* sit in your context ambiently (the "hot tier"); its *body* loads only when you open it. So you don't pre-read everything — you pattern-match a skill's "when" to your moment, then open just that one. This file is the index over the whole shipped set. (For the full model of building/operating agent software, open `software-for-agents`.)
16
+
17
+ Every row below names **how to reach the skill** — already-hot, or an exact load path. No row is a dead end.
18
+
19
+ For repo-shipped skills, resolve the installed CLI package root once:
20
+
21
+ ```sh
22
+ OPENRIG_CLI_ROOT="$(dirname "$(dirname "$(realpath "$(command -v rig)")")")"
23
+ ```
24
+
25
+ Paths below use that variable. Tier-A skills live in the daemon-vendored plugin at
26
+ `~/.openrig/plugins/openrig-core/skills/`; selected and vendored skills live in the installed CLI package.
27
+
28
+ ## The index
29
+
30
+ ### Always loaded — the universal spine (open its body when its moment hits)
31
+ These are auto-delivered to every rig; their name+description are already in your context. Open the body when the "when" matches.
32
+
33
+ - **forming-an-openrig-mental-model** — first boot, or you're unsure how the pieces fit. The runtime mental model. Load: `~/.openrig/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md`.
34
+ - **openrig-user** — you need a `rig` CLI command (send / queue / ps / whoami / scope / broadcast). The daily CLI surface. Load: `~/.openrig/plugins/openrig-core/skills/openrig-user/SKILL.md`.
35
+ - **claude-compaction-restore** — you just compacted (Claude). Restore from durable evidence before resuming real work. Load: `~/.openrig/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md`.
36
+ - **session-compaction-and-restore** — preparing for, or recovering from, compaction (any runtime). The write- and read-side protocol. Load: `~/.openrig/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md`.
37
+ - **queue-handoff** — you're passing durable work to another seat or ending your turn. The queue is the work ledger, not chat. Load: `~/.openrig/plugins/openrig-core/skills/queue-handoff/SKILL.md`.
38
+ - **seat-continuity-and-handover** — handing your seat's work across a restart or to another owner. Load: `~/.openrig/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md`.
39
+ - **mission-slice-sop** — you're working a mission/slice (the SDLC: intent → mini-requirements + proof contract → build → QA → proof). The operating manual. Load: `~/.openrig/plugins/openrig-core/skills/mission-slice-sop/SKILL.md`.
40
+ - **messaging-the-human** — composing a message to the human operator. Plain language, no insider jargon. Load: `~/.openrig/plugins/openrig-core/skills/messaging-the-human/SKILL.md`.
41
+ - **software-for-agents** — you want the full first-load model of how agent software is built and operated here. Load: `~/.openrig/plugins/openrig-core/skills/software-for-agents/SKILL.md`.
42
+ - **openrig-skills** — this index (you're reading it). Always loaded; the entry point to everything below. Load: `~/.openrig/plugins/openrig-core/skills/openrig-skills/SKILL.md`.
43
+
44
+ ### Load when your role or task calls for it (repo-shipped, profile-selected)
45
+ These ship in the installed OpenRig CLI and reach a seat when its profile selects them. To use one, select it in your profile's `uses.skills`, or open the exact installed path below.
46
+
47
+ - **openrig-architect** — authoring a rig or topology (NOT for changing OpenRig itself — that's `openrig-builder`). Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md`.
48
+ - **openrig-cmux** — driving the `cmux` terminal provider. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md`.
49
+ - **openrig-herdr** — opening/managing seat terminals via the default proof-gated provider. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md`.
50
+ - **agent-startup-and-context-ingestion** — a seat is booting and ingesting its startup context. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md`.
51
+ - **topology-mutation-and-seat-management** — adding, removing, renaming seats or otherwise mutating rig topology. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md`.
52
+ - **rig-lifecycle** — rig up / down / pause / resume lifecycle operations. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md`.
53
+ - **rig-bundles-and-shareable-artifacts** — packaging or installing a rig bundle / shareable artifact. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md`.
54
+ - **cross-host-rig-commands** — reaching seats or queues on another host (`--host`). Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md`.
55
+ - **openrig-upgrade** — upgrading OpenRig or the daemon. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md`.
56
+ - **agent-starters** — composing an agent's starter context / priming packs. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md`.
57
+ - **specification-system** — authoring or reading AgentSpecs and rig specs. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md`.
58
+ - **attention-queue** — managing the attention / needs-attention surface. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md`.
59
+ - **human-in-the-loop** — deciding when to involve the human vs. proceed on your own authority. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md`.
60
+ - **watchdog** — monitoring or recovering a seat (health, restore, stuck state). Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md`.
61
+ - **session-source-fork** — forking a session's source/context. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md`.
62
+
63
+ Pod handbooks (load when you're in that pod):
64
+ - **orchestration-team** — you're orchestrating a rig: dispatching, monitoring, keeping the loop moving. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md`.
65
+ - **development-team** — you're on the dev pod: building and shipping product changes. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md`.
66
+ - **review-team** — you're reviewing: fresh scrutiny, anti-slop, empirical verification. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md`.
67
+
68
+ Product-management craft (load when shaping/reviewing work):
69
+ - **requirements-writer** — turning intent into clear requirements. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md`.
70
+ - **plan-review** — reviewing a plan before it's built. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md`.
71
+ - **exec-summary** — writing a decision-ready summary for a human. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md`.
72
+ - **office-hours** — running a structured advisory / decision session. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md`.
73
+ - **context-builder** — assembling the context a task or seat needs. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md`.
74
+ - **backlog-capture** — capturing and shaping backlog items. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md`.
75
+ - **ui-mockup** — producing a UI mockup for a slice. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md`.
76
+
77
+ ### Vendored craft — load when you're coding (ships with upstream provenance)
78
+ General engineering skills OpenRig ships as vendored copies. Open when the task matches; they carry "modified by OpenRig" provenance.
79
+
80
+ - **test-driven-development** — implementing a feature or bugfix: write the failing test first. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md`.
81
+ - **verification-before-completion** — about to claim done / passing / fixed: run the check and read the output first. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md`.
82
+ - **systematic-debugging** — debugging: find the root cause before the fix. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md`.
83
+ - **writing-plans** — writing an implementation plan. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/writing-plans/SKILL.md`.
84
+ - **executing-plans** — working through a written plan. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/executing-plans/SKILL.md`.
85
+ - **brainstorming** — divergent ideation before converging. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/brainstorming/SKILL.md`.
86
+ - **using-superpowers** — discovering and using the vendored "superpowers" skill set. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/using-superpowers/SKILL.md`.
87
+ - **agent-browser** — driving a browser (screenshot / screencast) from an agent. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/agent-browser/SKILL.md`.
88
+ - **frontend-design** — designing frontend / UI. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md`.
89
+ - **dogfood** — web-QA / dogfooding a shipped UI. Load: `${OPENRIG_CLI_ROOT}/daemon/specs/agents/shared/skills/process/dogfood/SKILL.md`.
90
+
91
+ ## Need more than what ships here?
92
+
93
+ This index covers the **shipped** surface. A dev host carries far more (factory, architecture, PM-craft, studio skills) reached through the host's own routers/codemaps — if you're on a builder host and need something not listed above, that deeper routing is the next hop, not a wall. (Host-scale routing is the subject of the context-routing architecture doc; at product scale, this one file is the whole map.)
94
+
95
+ > Membership note: this index lists exactly the approved product-public oracle set (45 skills as of 2026-08-02: 10 Tier-A + 25 Tier-B + 10 vendored). Skills graduated but not yet in the oracle (e.g. `culture-drift`, `triple-gate-verification`, `reference-first-verification`) join this index when they land in `conventions/product-public-skills.yaml` — index and shipped set stay one scope.
@@ -8,10 +8,28 @@ description: Use when operating OpenRig with the `rig` CLI and you need the ship
8
8
  This is an as-built guide to the shipped `rig` CLI.
9
9
  Use current code and `rig ... --help` as ground truth if anything here ever conflicts with older planning docs.
10
10
 
11
+ If you need a different shipped skill, open `openrig-skills` — the global index that routes to every shipped skill in one hop.
12
+
11
13
  This is not the config-layer or builder guide. Use the substrate control-plane guidance for `rigx`
12
14
  and experimental overlays. Use the OpenRig builder guidance when changing OpenRig behavior,
13
15
  doctrine, or release posture.
14
16
 
17
+
18
+ ## Coordination trust boundary
19
+
20
+ Coordinate as openly as the trust boundary you actually control allows. Within a set of machines you
21
+ own that already trust each other — they can reach each other's daemon URLs and the daemon itself
22
+ requires no authentication — direct `rig send`, `rig capture`, and `rig queue` should just work.
23
+ Don't invent bearer placeholders, allowlists, trust handshakes, or guest-reach restrictions the
24
+ environment doesn't require.
25
+
26
+ Do not add or defend a restriction without naming the protected asset, the actual adversary, the
27
+ blocked attack path, and the concrete consequence. Missing capability is not protection — repair the
28
+ route, registration, runtime posture, or product defect directly. Arbitrary boundaries create
29
+ constraint-induced circumvention: under goal pressure, agents build shadow transports, alternate
30
+ credentials, and weaker proof instead of the direct authorized path. Keep only explicitly stated
31
+ external or irreversible boundaries — public push / PR / publish, and destruction of canonical data.
32
+
15
33
  ## Coordination primitives — when to use which
16
34
 
17
35
  Three coordination surfaces, used together for forward-momentum work. Internalize this
@@ -28,7 +46,7 @@ the receipt and move on.
28
46
  Example:
29
47
 
30
48
  ```bash
31
- rig send reviewer@acme-web "Heads up — filing the per-commit handoff on the search-filters slice at the current tip." --verify
49
+ rig send guard@your-rig "Heads up — filing per-commit handoff on the rig-up paper-cut fix at tip 6b8673b6." --verify
32
50
  ```
33
51
 
34
52
  ### `rig queue create --source <X> --destination <Y> --tags <...> --body "<...>"` — durable work item
@@ -39,18 +57,19 @@ restarts. Tracked in the daemon SQLite schema. Surfaces in Project / queue views
39
57
  + in the destination seat's inbox. Tag with mission / slice / gate / checkpoint
40
58
  so future-you (and any peer) can find it.
41
59
 
42
- Body discipline: substantive bodies go through a temp-file pattern, not inline
43
- `--body` with raw backticks `rig queue create` body parsing breaks on
44
- unescaped backticks and rejects flag-like tokens.
60
+ Body discipline: substantive bodies go through **`--body-file <path>`** (or `-` for stdin) — the
61
+ purpose-built, corruption-safe surface (it kills the backtick-shell-corruption class for multi-line
62
+ bodies). Do NOT inline a backtick-heavy or multi-line body via `--body`: `rig queue create` body
63
+ parsing breaks on unescaped backticks and rejects flag-like tokens.
45
64
 
46
65
  Example:
47
66
 
48
67
  ```bash
49
68
  rig queue create \
50
- --source builder@acme-web \
51
- --destination reviewer@acme-web \
52
- --tags "mission:site-relaunch,slice:02-search-filters,gate:guard,handoff:per-commit,checkpoint:bug-1" \
53
- --body "$(cat /tmp/per-commit-body.txt)"
69
+ --source driver-2@your-rig \
70
+ --destination redo-guard-2@your-rig \
71
+ --tags "mission:release,slice:rig-up-paper-cut-fix,gate:guard,handoff:per-commit,checkpoint:bug-1-bonus" \
72
+ --body-file /tmp/per-commit-body.txt
54
73
  ```
55
74
 
56
75
  ### `rig queue handoff <qitem-id> --to <next> ...` — hot-potato handoff
@@ -64,8 +83,8 @@ Example:
64
83
 
65
84
  ```bash
66
85
  rig queue handoff qitem-20260601012431-d78aa805 \
67
- --to qa@acme-web \
68
- --tags "mission:site-relaunch,slice:02-search-filters,gate:qa,handoff:adversarial-dogfood"
86
+ --to velocity-qa@your-rig \
87
+ --tags "mission:release,slice:rig-up-paper-cut-fix,gate:qa,handoff:adversarial-dogfood"
69
88
  ```
70
89
 
71
90
  ### §1b doctrine — turn ends by passing the ball
@@ -99,9 +118,9 @@ process does not require.
99
118
  recovery-only fallback; qitems written via `rigx queue` are invisible to
100
119
  daemon-backed reads and break fleet-wide routing discipline.
101
120
  - Inlining a multi-line / backtick-heavy body into `rig queue create --body`
102
- write the body to `/tmp/<descriptive-name>.txt` first, then
103
- `--body "$(cat /tmp/<file>.txt)"`. The body parser does not tolerate raw
104
- backticks or flag-like tokens inline.
121
+ use `--body-file /tmp/<descriptive-name>.txt` (or `-` for stdin), the
122
+ corruption-safe surface. The body parser does not tolerate raw backticks or
123
+ flag-like tokens inline.
105
124
 
106
125
  ## Runtime-Gated Coordination Primitives
107
126
 
@@ -267,11 +286,15 @@ workflow spec.
267
286
  workflow instance + entry-step qitem. Inspect existing surface state with:
268
287
 
269
288
  ```bash
270
- rig workflow specs --json # list registered specs (built-in + operator-authored)
271
- rig workflow list --json # list active workflow instances
272
- rig workflow show <instanceId> --json
289
+ rig workflow specs --json # list registered specs (built-in + operator-authored)
290
+ rig workflow list --json # list active workflow instances
291
+ rig workflow show <instanceId> --json # inspect one instance
292
+ rig workflow project <instanceId> # ADVANCE an instance — projects the next-step packet
293
+ rig workflow continue <instanceId> # read-only inspector of an instance (does NOT advance it)
273
294
  ```
274
295
 
296
+ *(Surface note — the current `rig workflow` command group registers **13** subcommands: `validate`, `instantiate`, `project`, `list`, `specs`, `show`, `trace`, `continue`, `run`, `watch`, `route`, `resume`, `status`. There is still no `create` verb — the spec YAML is authored on disk. `project` is the advancing verb (it projects the next-step packet); `continue` is a read-only inspector, NOT an advance — do not conflate them. The 13-verb set and the project-vs-continue semantics are verified against current product main `d37a08ad` (`packages/cli/src/commands/workflow.ts`, 13 registered `.command(...)` entries; the earlier "6-verb surface / continue-advances" claim here was stale). Verify individual subcommand flags with `rig workflow --help`.)*
297
+
275
298
  ## v0.3.x Starter, Workspace, And Plugin Surfaces
276
299
 
277
300
  OpenRig v0.3.0 adds `rig agent-image`, `rig context-pack`, `rig workspace`, and
@@ -388,7 +411,7 @@ reconcile:
388
411
 
389
412
  ```bash
390
413
  rig seat clear-attention <session>
391
- rig seat clear-attention <session> --reason "operator attested: founder re-authed, confirmed live"
414
+ rig seat clear-attention <session> --reason "operator attested: the operator re-authed, confirmed live"
392
415
  rig seat clear-attention <session> --json
393
416
  ```
394
417
 
@@ -435,47 +458,27 @@ honestly and the UI exposes a one-click open-missing affordance.
435
458
 
436
459
  v0.4.0 flips the five most frequently invoked read-commands from firehose-by-default to compact-by-default, and `rig queue list` adopts the docker / kubectl read-command grammar. **All defaults preserve breadth and capability — the firehose is one explicit flag away.**
437
460
 
438
- ### `rig ps` — consolidated all-rigs default + the disclosure ladder (v0.4.4)
461
+ ### `rig ps` — current-rig default + compact-by-default + `-A`/`--all-rigs` + `--full`
439
462
 
440
463
  ```bash
441
- rig ps # ALL ACTIVE RIGS, one compact row each + rollup line + count line + ladder footer (default)
442
- rig ps --json # bare array of ALL non-archived rigs (incl. stopped; existing keys + additive attentionCount)
443
- rig ps --rig <name> # one rig's detail
444
- rig ps --nodes # compact node inventory (current rig — session default, LOCAL only)
445
- rig ps --nodes --rig <name> # compact node inventory, named rig
446
- rig ps --nodes -A # fleet node inventory, projected rows
447
- rig ps --nodes -A --full # complete per-node records (the ONLY full fan-out; resumeToken VALUE retained here for downstream consumers)
464
+ rig ps # CURRENT-RIG, all-states, compact rig summaries (default)
465
+ rig ps --json # compact JSON array (TL;DR per node: session, rig, activity, assigned/pending, resumeTokenPresent boolean)
466
+ rig ps -A # all-rigs (fleet breadth; was the v0.3.4 default)
467
+ rig ps --rig <name> # explicit-rig (overrides current-rig default)
468
+ rig ps --nodes # compact node inventory (current rig)
469
+ rig ps --nodes -A # cross-rig node inventory (was v0.3.4 default)
470
+ rig ps --nodes --full # complete record (the v0.3.4 per-node default shape; resumeToken VALUE retained here for downstream consumers)
448
471
  rig ps --nodes --session <sess> # narrow to one canonical session
449
- rig ps --include-archived # archived history as rows (otherwise ONE count line)
450
472
  rig ps --active # opt-in active-state filter (does NOT change the all-states default — ps surfaces topology/readiness, where stopped/recoverable/attention IS the actionable signal)
451
473
  ```
452
474
 
453
- **v0.4.4 consolidated default + disclosure ladder (OPR.0.4.4.21)**:
454
- - **The default is the fleet MAP**: every active rig as one O(rigs) compact row, with the host rollup ("N rigs · M seats · K need attention"), the archived/stopped count line, and the drill-ladder footer. The v0.4.0 current-rig default is RETIRED — it hid running rigs from the operator's field of view.
455
- - **`-A` has exactly ONE meaning**: the `--nodes` fleet widener. Bare `rig ps -A` errors (all-rigs IS the default; archived history stays behind `--include-archived`).
456
- - **The session-rig default applies ONLY to `--nodes`, and only locally.** Implicit scope defaults don't cross host boundaries: `rig ps --host <id> --nodes` requires an explicit `--rig` or `-A`; multi-host fan-out is rollup-only by default; the full explicit ladder (`--all-hosts --nodes -A`, `--full` for complete records) fans out per-node with hostId-stamped projected rows.
457
- - **STATED JSON contract**: default `--json` = bare array of ALL non-archived rigs INCLUDING stopped ones (scope-not-shape: existing keys preserved, additive `attentionCount`); only the human table folds stopped rigs into the count line.
458
- - **Resume-token security unchanged**: compact output never carries token material; `--full` retains it for consumers that legitimately need it.
475
+ **v0.4.0 breadth + projection changes**:
476
+ - **Default breadth is CURRENT-RIG** (derived from `OPENRIG_SESSION_NAME`'s `@<rig>` suffix), not all-rigs. `-A` / `--all-rigs` widens to fleet. Matches the `rig queue list -A` pattern.
477
+ - **Per-node TL;DR projection (compact) is the default**; `--full` returns the raw byte-equivalent passthrough. Daemon-side `recoveryGuidance` relocated to a guidance-by-reference map (no longer duplicated per-node) even `--full` benefits.
478
+ - **All-states stays default** (different from `rig queue list` which defaults to active-only) for `ps`, non-running states ARE often the actionable signal.
479
+ - **Resume-token security**: `--full` JSON emits `resumeTokenPresent` (boolean) the actual `resumeToken` value also remains in `--full` for downstream consumers that legitimately need it, but the compact default never carries it (an orch glance never accidentally leaks token material).
459
480
 
460
- **The casual status glance is just `rig ps`.** The old fleet firehose is the explicit last rung: `rig ps --nodes -A --full`. The ~77,000-token incident class stays closed (compact + O(rigs) default + explicit ladder).
461
-
462
- ### `rig host` — the multi-host registry verbs (v0.4.4)
463
-
464
- ```bash
465
- rig host add --id <id> --transport ssh --target <tailnet-alias> --user openrig
466
- rig host add --id <id> --transport http --url http://100.x.y.z:7433 --bearer-env MY_TOKEN
467
- rig host list # pointers only — never secret values
468
- rig host doctor <id> # stepwise: transport -> rig binary -> daemon -> identity
469
- rig host doctor <id> --posture product-factory-vps [--public-addr <ip>]
470
- ```
471
-
472
- Exactly three verbs (capped); the VPS factory bootstrap is script + runbook
473
- (`docs/reference/product-factory-vps-runbook.md`). **Transport posture is
474
- DECIDED and documented** (cli-reference §Cross-host execution): ssh = pane ops
475
- (`send`/`capture`), http = daemon REST (`up`/`down`/`launch`), `ps`/`whoami`
476
- follow the DECLARED transport; fan-out is http-only; no cross-transport
477
- fallback; no http parity for send/capture in 0.4.4. Posture/doctor UNKNOWN is
478
- never pass — each unknown carries the command that verifies it.
481
+ **STOP using `rig ps --nodes --json` as a fleet-wide casual status check assuming the v0.3.4 shape.** The v0.4.0 default is CURRENT-RIG + compact; explicit `-A --full` is the fleet firehose. The ~77,000-token status-glance incident is closed twice over (compact + scope).
479
482
 
480
483
  ### `rig whoami` — compact-by-default + `--full` (`--verbose` alias)
481
484
 
@@ -503,7 +506,7 @@ rig queue list --source <s> # sourced by <s>
503
506
  rig queue show <qitemId> # full single item (kubectl describe)
504
507
  ```
505
508
 
506
- Four orthogonal axes (scope × history × field-breadth × encoding), all composable. **STOP using bare `rig queue list` as the cross-rig firehose.** Default is now active + compact + current-rig. The cross-rig + history + full-body firehose (the ~64,000-token bomb on this host) is opt-in via `-A -a --full`.
509
+ Four orthogonal axes (scope × history × field-breadth × encoding), all composable. **STOP using bare `rig queue list` as the cross-rig firehose.** Default is now active + compact + current-rig. The cross-rig + history + full-body firehose (the ~64,000-token payload spike) is opt-in via `-A -a --full`.
507
510
 
508
511
  ### `rig restore-check` — summary + not-ready-only default + `--full`
509
512
 
@@ -535,16 +538,16 @@ This release closes the host-version-aged token-burn class: on this host the rea
535
538
 
536
539
  The interim `token-efficiency-boot-guardrail` pack (the CLI-command prohibitions on `rig queue list` unfiltered, `rig ps --nodes --json` unfiltered, `rig restore-check`, `rig context`, `rig whoami --json`) is a host-version workaround for the bloated defaults this release closes. **The CLI-command-prohibitions half retires when 0.4.0 lands on the host.** The pack's bounded-local-search rule + scope / over-flag discipline GRADUATE to a standing convention (`conventions/bounded-local-search-and-flag-scope`) and continue to apply host-independently.
537
540
 
538
- ### `rig scope mission|slice progress` — deterministic progress updates (slice 33)
541
+ ### `rig scope mission|slice progress` — deterministic progress updates
539
542
 
540
543
  ```bash
541
- rig scope mission progress <mission> --status <state> --milestone <text>
542
- rig scope slice progress <slice-path> --status <state> --note <text>
544
+ rig scope mission progress <mission> --add "<line>" # append a progress line; --set replaces; --section <heading> (default Rail); --status active|done|blocked
545
+ rig scope slice progress <slice-path> --add "<line>" # same flags: --add / --set, --section <heading>, --status active|done|blocked
543
546
  ```
544
547
 
545
548
  Replaces hand-editing `PROGRESS.md` with markdown. Writes the canonical structure the OpenRig PROGRESS UI page reads. `rig scope mission create` + `rig scope slice create` now scaffold `PROGRESS.md` automatically per `conventions/scope-and-versioning/README.md`.
546
549
 
547
- ### `rig scope mission|slice stage / verified / reconcile` — deterministic maturity vocabulary (slice 35)
550
+ ### `rig scope mission|slice stage / verified / repair` — deterministic maturity vocabulary
548
551
 
549
552
  ```bash
550
553
  rig scope slice stage <slice> <new-stage> # wip / provisional / established / canonical / superseded / retired
@@ -554,40 +557,16 @@ rig scope mission stage <mission> <new-stage> # same enum + rules at mis
554
557
  rig scope slice verified <slice> --against "<source>" # stamp `verified: <today> against <source>`; --against MANDATORY
555
558
  rig scope mission verified <mission> --against "<source>"
556
559
 
557
- rig scope slice reconcile <slice> # idempotent repair: backfill PROGRESS.md, conform id/stage/verified, repair ghosts
558
- rig scope mission reconcile <mission> # mission-tier idempotent repair
560
+ rig scope slice repair <slice> # idempotent repair: backfill PROGRESS.md, conform id/stage/verified, repair ghosts
561
+ rig scope mission repair <mission> # mission-tier idempotent repair
559
562
 
560
563
  rig scope slice show <slice> # derives read-time effective-reliability from (stage × verified)
561
564
  # — stale-`verified` `canonical` reported as effectively `provisional`
562
565
  ```
563
566
 
564
- Composes with slice 33's `progress` + scaffolding to make `rig scope` the **deterministic enforcer** of `conventions/scope-and-versioning` §1 (dot-IDs) + §2 (maturity vocabulary). Agents update `stage` / `verified` / `id` through commands rather than hand-editing markdown and drifting. The `--against` MANDATORY rule on `verified` is the anti-stale keystone: bare timestamps are rejected because a bare timestamp is exactly what lets stale trackers lie while looking fresh. **STOP hand-editing the `stage` / `verified` / `id` fields in scope frontmatter; use the new verbs.** Existing missions / slices with `id:null` ghosts or missing `PROGRESS.md` are repaired idempotently via `reconcile`.
565
-
566
- ### The SDLC control plane — convention sections, the two locks, `rig proof` (v0.4.4)
567
-
568
- The Living Notes UI is a plain projection of well-formed on-disk markdown. The conventions live in ONE shipped document — **`docs/reference/sdlc-conventions.md`** (in the CLI package) — and the operating procedure is the **`mission-slice-sop`** skill. The command surface:
569
-
570
- ```bash
571
- rig scope slice create <mission> <slug> [--template <kind>] # scaffolds ## Intent / ## Mini-requirements / ## Proof contract
572
- # + proof/ + PROOF.md + IMPLEMENTATION-PRD.md — EVERY template kind
573
-
574
- rig scope slice approve <slice> --scope spec # PLAN-LOCK: "the PRD matches my intent; this set gets built"
575
- rig scope slice approve <slice> --scope delivery # PROOF-LOCK: the terminal sign-off (default scope; fires the freeze)
576
-
577
- rig proof add <slice> --artifact-type qa --verdict PASS \
578
- --candidate-sha <tip> --money-evidence "<one line>" \
579
- --evidences "1,3" --media "walk.webm" \
580
- --self-check "<looked at it>" # C1 proof drop into proof/; --evidences joins the drop to its
581
- # proof-contract items and --media names the curated proof/-relative
582
- # media it stands behind (what the DELIVERED section pairs + renders)
583
-
584
- rig scope audit <mission> # deterministic backstop — flags missing sections / malformed
585
- # proof contract / invalid C1 headers; ADVISORY, never blocks
586
- ```
587
-
588
- The flow: intent → mini-requirements + proof contract (→ mockups for UI slices) → plan-lock → build the locked set → QA visual compare → `rig proof` drops → proof-lock. Approval is freeze/sign-off, **never** proven-green — proven-green requires recorded C1 verdicts.
567
+ Composes with the `progress` command + scaffolding to make `rig scope` the **deterministic enforcer** of `conventions/scope-and-versioning` §1 (dot-IDs) + §2 (maturity vocabulary). Agents update `stage` / `verified` / `id` through commands rather than hand-editing markdown and drifting. The `--against` MANDATORY rule on `verified` is the anti-stale keystone: bare timestamps are rejected because a bare timestamp is exactly what lets stale trackers lie while looking fresh. **STOP hand-editing the `stage` / `verified` / `id` fields in scope frontmatter; use the new verbs.** Existing missions / slices with `id:null` ghosts or missing `PROGRESS.md` are repaired idempotently via `repair`.
589
568
 
590
- ### `rig skill audit` — skill cascade provenance (slice 10)
569
+ ### `rig skill audit` — skill cascade provenance
591
570
 
592
571
  ```bash
593
572
  rig skill audit # human report of findings
@@ -596,12 +575,46 @@ rig skill audit --severity warn # stale + mirror-drift only
596
575
  rig skill audit --rig <name> # narrow to embedded skill copies for one rig
597
576
  ```
598
577
 
599
- Read-only audit of the skill cascade. Detects `missing` / `stale` / `self-referential` / `invalid-date` / `mirror-drift` across the canonical `openrig-work/skills/` → product mirror → hub cwd → installed plugin chain. Findings route back to the lifecycle for shaped propagation runs. **False-green prevention**: when audit evidence is unavailable, the CLI emits `unable-to-audit` with exit code `2` rather than reporting `clean`.
578
+ Read-only audit of the skill cascade. Detects `missing` / `stale` / `self-referential` / `invalid-date` / `mirror-drift` across the canonical skills workspace → product mirror → hub cwd → installed plugin chain. Findings route back to the lifecycle for shaped propagation runs. **False-green prevention**: when audit evidence is unavailable, the CLI emits `unable-to-audit` with exit code `2` rather than reporting `clean`.
600
579
 
601
- ### `rig seat clear-attention` — extended to derived projection staleness (slice 16)
580
+ ### `rig seat clear-attention` — extended to derived projection staleness
602
581
 
603
582
  v0.3.4 shipped `clear-attention` gating on `session.startupStatus` only. v0.4.0 extends the verb to also reach **restoreOutcome-derived** attention (seat is `startupStatus=ready` + `sessionStatus=running` but carries `restoreOutcome=failed` / `continuityOutcome=failed`). Same evidence-gated audit row applies; the `--reason <text>` operator-attestation override carries the runtime / cwd-uncertainty disclosure honestly.
604
583
 
584
+ ### Native Codex session id capture
585
+
586
+ Codex seats can now record the real native session id from the Codex
587
+ `SessionStart` hook instead of relying on scrape-shaped identity. The proof
588
+ lane for v0.4.0 matched the same id across the hook payload, rollout log, and
589
+ SQLite. Treat hook-sourced ids as stronger resume/identity evidence than
590
+ terminal scraping when present.
591
+
592
+ Managed-seat hook trust is a 0.4.1 carry: the v0.4.0 surface proves native
593
+ capture and hook-trust constraints, but do not assume every managed Codex seat
594
+ has already migrated from scrape-backed to hook-sourced ids.
595
+
596
+ ### Codex resume preserves approval posture
597
+
598
+ Resuming a Codex seat preserves the launching seat's approval/sandbox posture
599
+ and profile flags. Product-emitted resume commands carry the posture flags
600
+ instead of silently falling back to implicit-deny or an unrelated profile.
601
+
602
+ Do not "fix" a resumed Codex seat by relaunching it with broader approvals
603
+ unless the operator explicitly grants a bounded window. Verify the seat's
604
+ active posture first, and preserve it when composing recovery commands.
605
+
606
+ ### `rig seat set-resume-token --token-stdin`
607
+
608
+ ```bash
609
+ printf '%s' "$RESUME_TOKEN" | rig seat set-resume-token <session> --token-stdin
610
+ ```
611
+
612
+ Use this command to set or restore a seat resume token. It replaces direct
613
+ SQLite edits, rejects unauthorized writes and bad/null token false-ready paths,
614
+ records redacted audit/provenance, and keeps token material out of command
615
+ arguments, stdout, logs, and normal status rows. Use stdin, not an inline flag,
616
+ when passing token material.
617
+
605
618
  ## Core Loop
606
619
 
607
620
  Most work in OpenRig reduces to this loop:
@@ -628,7 +641,7 @@ Typical operator loop:
628
641
 
629
642
  ```bash
630
643
  rig up secrets-manager --cwd /path/to/project
631
- rig ps --nodes --rig secrets-manager --json
644
+ rig ps --nodes --json
632
645
  rig send vault-specialist@secrets-manager "Check Vault health and report back." --verify
633
646
  rig env status secrets-manager
634
647
  rig env logs secrets-manager
@@ -675,19 +688,18 @@ JSON form exposes `peersNote` directly for programmatic consumers.
675
688
  ## Inventory and Monitoring
676
689
 
677
690
  ```bash
678
- rig ps
679
- rig ps --json
680
- rig ps --nodes
681
- rig ps --nodes --rig <name> --json
682
- rig ps --nodes -A --json
683
- rig ps --nodes -A --full --json
691
+ rig ps # CURRENT-RIG, compact rig summaries (v0.4.0 default)
692
+ rig ps --nodes # compact node inventory (current rig)
693
+ rig ps -A # all-rigs breadth (was the pre-0.4.0 default)
694
+ rig ps --nodes --full # complete per-node record (the firehose — opt-in)
695
+ rig ps --nodes --json # compact JSON node inventory (add --full for the full record)
684
696
  ```
685
697
 
686
- Use `rig ps --nodes --rig <name> --json` for one rig's node inventory, or `rig ps --nodes -A --json` for fleet-wide projected node inventory. Use `--full` only when a downstream consumer truly needs complete per-node records. The node inventory surface carries:
698
+ **v0.4.0 flipped these to compact-by-default see the `rig ps` compact-defaults section above; STOP using bare `rig ps --nodes --json` as a fleet-wide firehose (the ~77k-token status-glance incident).** The compact `rig ps --nodes` node inventory (add `--full` only when you need the complete record, `-A` for cross-rig breadth) carries, per node:
687
699
  - session name
688
700
  - runtime
689
701
  - session/startup status
690
- - restore outcome
702
+ - restore outcome (compact: `resumeTokenPresent` boolean; the token VALUE is in `--full`)
691
703
  - attach/resume commands
692
704
  - latest error
693
705
 
@@ -719,13 +731,25 @@ rig transcript <session> --json
719
731
  ```bash
720
732
  rig send <session> "message"
721
733
  rig send <session> "message" --verify
722
- rig send <session> "message" --force
734
+ rig send <session> "message" --wait-for-idle <seconds>
735
+ rig send <session> "message" --raw
736
+ rig send <session> "message" --dangerously-interact --reason "<why>"
737
+ rig send <session> "message" --host <id>
723
738
  rig send <session> "message" --json
724
739
  ```
725
740
 
726
- Use `--verify` when you want delivery evidence. Use `--force` only when you intentionally want to bypass activity-risk checks.
741
+ **The send-guard (v0.4.0) the default is SAFE.** A default `rig send` is guarded: it will NOT submit into an interactive prompt / permission block on the target pane (the footgun that prematurely shipped 0.4.0). Flags:
742
+ - `--verify` — delivery evidence.
743
+ - `--force` — **a back-compat no-op on the send DECISION**: it never bypasses the interactive-prompt/permission guard and never changes whether a message is delivered (a mid-task/busy pane already sends-with-advisory by default). *(It does NOT "bypass activity-risk checks" — that earlier teaching is retired.)* It is **not fully inert**, though — it is still parsed solely to be **rejected in combination with `--wait-for-idle`**: `rig send … --force --wait-for-idle <n>` prints `--wait-for-idle cannot be combined with --force`, exits 1, and sends nothing. So do not read "no-op" as "`--force --wait-for-idle` is harmless"; that pairing errors. *(Verified against current product main `d37a08ad`: the guard-bypass no-op is declared at `send.ts` and confirmed by runtime capture — a plain `--force` send delivers through the ordinary path; the `--wait-for-idle` rejection is enforced at `send.ts`, `routes/transport.ts`, and `session-transport.ts`, and confirmed by runtime capture — exit 1, nothing sent.)*
744
+ - `--wait-for-idle <seconds>` — wait until the target is explicitly idle before sending. **Cannot be combined with `--force`** (that pairing is rejected: exit 1, nothing sent).
745
+ - `--raw` — send exact text/keystrokes without the From/To messaging envelope (still guarded against interactive prompts).
746
+ - `--dangerously-interact --reason "<why>"` — the ONLY override of the prompt/permission guard: deliberately drive an interactive prompt/permission block (implies `--raw`, requires `--reason`, audit-logged).
747
+ - `--host <id>` — send on a remote host declared in `~/.openrig/hosts.yaml` (ssh hosts shell out; http hosts go CLI-direct to the remote daemon).
748
+ - `--from <session>` — originating session for the envelope sender/actor (provenance; defaults to `$OPENRIG_SESSION_NAME`, and is plumbed through cross-host sends so the remote envelope names the origin, not the relay).
749
+
750
+ > **Durable work goes to the QUEUE, not `send`.** `rig send` is an *ephemeral* message to a pane — it can be missed, and its delivery status is pane-render, not receipt. If you are **assigning work, or the message is important enough that losing it would be a real bummer**, use `rig queue` (below): it's durable, owned, tracked, and survives compaction and restart. Reach for `send` for a quick conversational nudge; reach for the **queue** for anything that must not get lost. Do not default to `send` for work — that's the most common mistake.
727
751
 
728
- As of v0.3.3 (slice 17), content beginning with `--` or `-` is safe:
752
+ As of v0.3.3, content beginning with `--` or `-` is safe:
729
753
  `rig send <session> "content starting with -- or - is now safe"` delivers
730
754
  literally. The daemon's `send_text` path carries an explicit `--`
731
755
  end-of-options sentinel so tmux no longer parses dash-prefixed content
@@ -774,7 +798,17 @@ rig broadcast "message"
774
798
  rig broadcast --rig <name> "message" --json
775
799
  ```
776
800
 
777
- Without `--rig` or `--pod`, broadcast targets all running sessions.
801
+ **Use `rig broadcast` sparingly — prefer `rig send` fan-out.** Without `--rig` or `--pod`, broadcast targets
802
+ **every running session across ALL rigs** (plus attached external_cli nodes) — the fastest way to cause a
803
+ broadcast storm. Reserve `rig broadcast` for small rigs or a genuine all-hands emergency. For the normal
804
+ "message several seats at once" case, use `rig send`, which scopes the fan-out and keeps the messaging
805
+ envelope, the delivery/interactive-prompt guards, and per-recipient results:
806
+
807
+ ```bash
808
+ rig send --to dev-impl@my-rig,dev-qa@my-rig "message to specific seats" # named seats (comma-list or repeat --to)
809
+ rig send --pod dev "message to one pod" # scoped fan-out
810
+ rig send --rig my-rig "message to one rig" # scoped fan-out
811
+ ```
778
812
 
779
813
  ### Chatroom
780
814
 
@@ -792,6 +826,27 @@ rig chatroom watch <rig> [--tmux]
792
826
  - `history` — retrieve with composable filters (sender, since, after, topic)
793
827
  - `wait` — block until new matching messages arrive (polls history, times out honestly)
794
828
  - `clear` — delete all messages for the rig (destructive, rig-scoped)
829
+
830
+ ## See something, say something
831
+
832
+ OpenRig has an **observation stream** — the fleet's zero-friction institutional memory, mined for
833
+ real product improvements. When you notice **anything worth externalizing**, say something and keep
834
+ working:
835
+
836
+ - a **bug**, a rough edge, or something that needs fixing
837
+ - a **feature idea** or an improvement
838
+ - something that **worked really well** — a technique, tool, or pattern worth spreading
839
+ - an **observation**, positive or negative feedback, or something genuinely cool, productive, or funny
840
+
841
+ ```bash
842
+ rig stream emit --source <your-session> --body "what you noticed"
843
+ ```
844
+
845
+ That's the whole reflex. **Don't** decide where it goes or who it's for — the intake router triages
846
+ (destination/type/urgency/tags are optional hints — `--hint-type review|handoff|idea`,
847
+ `--hint-urgency routine|urgent|critical`, `--hint-tags` — never required). One command, then carry
848
+ on; the value is the habit, not the polish. **Don't overdo it, either:** stream real signal, not
849
+ narration — a good observation beats ten noisy ones. It's a passing thought you externalize, not a chore.
795
850
  - `topic` — set a topic marker
796
851
  - `watch` — SSE or tmux-based live stream
797
852
 
@@ -822,6 +877,21 @@ Current shipped behavior:
822
877
 
823
878
  This is an evidence/context command. It is not a hidden second-LLM call.
824
879
 
880
+ ### `rig auth` — agent auth-profile management (v0.4.1, product-native)
881
+
882
+ Product-native switching of agent auth profiles from the CLI. The runtime is a **flag** (`--runtime <codex>`), not a command noun — never `rig codex-auth`.
883
+
884
+ ```bash
885
+ rig auth status --runtime codex # presence / mode / parseability / login-state (never prints token contents)
886
+ rig auth list --runtime codex # saved profiles
887
+ rig auth save <profile> --runtime codex # snapshot the auth FILE (mode-guarded), never echoes contents
888
+ rig auth switch <profile> --runtime codex
889
+ rig auth validate <profile> --runtime codex
890
+ rig auth seats … --runtime codex # seat -> profile registry (metadata only; NOT proof of a live account)
891
+ ```
892
+
893
+ **Hard secret boundary:** no token value is ever printed, logged, queued, streamed, or committed; status/validate report presence/mode/login-state only; seat labels are metadata, not live-account proof. MVP is `--runtime codex`; other runtimes use the same surface with a different `--runtime`, never a parallel command.
894
+
825
895
  ## Lifecycle
826
896
 
827
897
  ### Bring a rig up
@@ -1010,7 +1080,7 @@ rig whoami --json
1010
1080
 
1011
1081
  Notes:
1012
1082
  - for tmux-backed self-attach, `rig whoami --json` is the right verification
1013
- - for raw/external self-attach, `rig ps --nodes --rig <rigId-or-name> --json` is currently the more reliable verification surface
1083
+ - for raw/external self-attach, `rig ps --nodes --json` is currently the more reliable verification surface
1014
1084
  - if the current shell is outside tmux, pass `--display-name <name>` when you want a stable human session label recorded
1015
1085
 
1016
1086
  ### Adopt a topology and bind live sessions
@@ -1077,13 +1147,13 @@ Verification loop:
1077
1147
  ```bash
1078
1148
  rig discover --json
1079
1149
  rig adopt <fragment.yaml> --bindings-file <bindings.yaml> --target-rig <rigId>
1080
- rig ps --nodes --rig <target-rig-name> --json
1150
+ rig ps --nodes --json
1081
1151
  rig export <rigId> -o rig.yaml
1082
1152
  ```
1083
1153
 
1084
1154
  Success looks like:
1085
1155
  - the new sessions stop appearing in `rig discover`
1086
- - the new logical IDs appear in `rig ps --nodes --rig <target-rig-name> --json`
1156
+ - the new logical IDs appear in `rig ps --nodes --json`
1087
1157
  - `rig export` includes the new pod
1088
1158
 
1089
1159
  ### Mixed-origin rigs are allowed
@@ -1101,7 +1171,7 @@ Current safety rule:
1101
1171
  The proven operator pattern is:
1102
1172
  - keep one OpenRig manager session outside the rig it manages
1103
1173
  - address the target by rig name, not cached rig ID
1104
- - resolve the current owner from fresh `rig ps --nodes -A --json`
1174
+ - resolve the current owner from fresh `rig ps --nodes --json`
1105
1175
  - send the manager the spec path, bindings path, and verification steps with `rig send`
1106
1176
 
1107
1177
  This lets ordinary agents ask the manager for OpenRig help instead of every agent needing to be an OpenRig expert.
@@ -1198,7 +1268,7 @@ When the CLI behaves strangely, use the smallest truthful check first:
1198
1268
  ```bash
1199
1269
  rig whoami --json
1200
1270
  rig daemon status
1201
- rig ps --nodes
1271
+ rig ps --nodes --json
1202
1272
  ```
1203
1273
 
1204
1274
  Specific operator rules:
@@ -1234,7 +1304,7 @@ Design assumptions that hold in the shipped CLI:
1234
1304
 
1235
1305
  1. `rig whoami --json`
1236
1306
  2. `rig transcript <your-session> --tail 100`
1237
- 3. `rig ps --nodes`
1307
+ 3. `rig ps --nodes --json`
1238
1308
  4. `rig chatroom history <rig> --limit 50`
1239
1309
 
1240
1310
  ## Commands That Do Not Exist