@openrig/cli 0.4.4 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +6 -8
- package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +86 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +158 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +744 -96
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +12 -8
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts +32 -0
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -0
- package/daemon/dist/adapters/pi-resume.js +125 -0
- package/daemon/dist/adapters/pi-resume.js.map +1 -0
- package/daemon/dist/adapters/pi-runner-protocol.d.ts +88 -0
- package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -0
- package/daemon/dist/adapters/pi-runner-protocol.js +153 -0
- package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -0
- package/daemon/dist/adapters/pi-runner.d.ts +99 -0
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -0
- package/daemon/dist/adapters/pi-runner.js +519 -0
- package/daemon/dist/adapters/pi-runner.js.map +1 -0
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts +61 -0
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -0
- package/daemon/dist/adapters/pi-runtime-adapter.js +356 -0
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -0
- package/daemon/dist/adapters/tmux.d.ts +22 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +40 -1
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/builtins/workflow-specs/branched-remediation.yaml +31 -0
- package/daemon/dist/builtins/workflow-specs/factory-rsi.yaml +152 -0
- package/daemon/dist/builtins/workflow-specs/gated-release.yaml +26 -0
- package/daemon/dist/builtins/workflow-specs/linear-build.yaml +21 -0
- package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts +20 -0
- package/daemon/dist/db/migrations/049_workflow_instance_version.d.ts.map +1 -0
- package/daemon/dist/db/migrations/049_workflow_instance_version.js +24 -0
- package/daemon/dist/db/migrations/049_workflow_instance_version.js.map +1 -0
- package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts +22 -0
- package/daemon/dist/db/migrations/050_workflow_spec_json.d.ts.map +1 -0
- package/daemon/dist/db/migrations/050_workflow_spec_json.js +26 -0
- package/daemon/dist/db/migrations/050_workflow_spec_json.js.map +1 -0
- package/daemon/dist/db/migrations/051_workflow_resume.d.ts +22 -0
- package/daemon/dist/db/migrations/051_workflow_resume.d.ts.map +1 -0
- package/daemon/dist/db/migrations/051_workflow_resume.js +27 -0
- package/daemon/dist/db/migrations/051_workflow_resume.js.map +1 -0
- package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts +26 -0
- package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.d.ts.map +1 -0
- package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js +30 -0
- package/daemon/dist/db/migrations/052_workflow_instance_bound_rig.js.map +1 -0
- package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts +48 -0
- package/daemon/dist/db/migrations/053_sessions_node_id_index.d.ts.map +1 -0
- package/daemon/dist/db/migrations/053_sessions_node_id_index.js +53 -0
- package/daemon/dist/db/migrations/053_sessions_node_id_index.js.map +1 -0
- package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts +34 -0
- package/daemon/dist/db/migrations/054_queue_transitions_archive.d.ts.map +1 -0
- package/daemon/dist/db/migrations/054_queue_transitions_archive.js +49 -0
- package/daemon/dist/db/migrations/054_queue_transitions_archive.js.map +1 -0
- package/daemon/dist/domain/claim-service.d.ts +11 -0
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +3 -1
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/discovery-types.d.ts +1 -1
- package/daemon/dist/domain/discovery-types.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +1 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +19 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts +11 -0
- package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/hosts-registry-writer.js +54 -0
- package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -0
- package/daemon/dist/domain/hosts/read-through.d.ts +28 -0
- package/daemon/dist/domain/hosts/read-through.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/read-through.js +139 -0
- package/daemon/dist/domain/hosts/read-through.js.map +1 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts +21 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.js +49 -0
- package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +18 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +206 -95
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +11 -0
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +10 -0
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts +7 -0
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.js +93 -13
- package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +37 -26
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +105 -0
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +193 -4
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-retention.d.ts +130 -0
- package/daemon/dist/domain/queue-retention.d.ts.map +1 -0
- package/daemon/dist/domain/queue-retention.js +224 -0
- package/daemon/dist/domain/queue-retention.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +5 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +29 -2
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/resume-token-capture.d.ts +13 -0
- package/daemon/dist/domain/resume-token-capture.d.ts.map +1 -1
- package/daemon/dist/domain/resume-token-capture.js +14 -1
- package/daemon/dist/domain/resume-token-capture.js.map +1 -1
- package/daemon/dist/domain/resume-token-validation.d.ts +1 -1
- package/daemon/dist/domain/resume-token-validation.d.ts.map +1 -1
- package/daemon/dist/domain/resume-token-validation.js +58 -10
- package/daemon/dist/domain/resume-token-validation.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +50 -1
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +92 -3
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/review/fleet-compose.d.ts +52 -0
- package/daemon/dist/domain/review/fleet-compose.d.ts.map +1 -0
- package/daemon/dist/domain/review/fleet-compose.js +294 -0
- package/daemon/dist/domain/review/fleet-compose.js.map +1 -0
- package/daemon/dist/domain/review/gather.d.ts +16 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +177 -41
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/review/types.d.ts +104 -1
- package/daemon/dist/domain/review/types.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +3 -0
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +7 -6
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +33 -11
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +3 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +4 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +11 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +6 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +26 -1
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +20 -1
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-verifier.d.ts +7 -1
- package/daemon/dist/domain/runtime-verifier.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-verifier.js +39 -1
- package/daemon/dist/domain/runtime-verifier.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +9 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +2 -0
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-store.d.ts +7 -0
- package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-store.js +27 -0
- package/daemon/dist/domain/seat-identity-store.js.map +1 -1
- package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-status-service.js +6 -4
- package/daemon/dist/domain/seat-status-service.js.map +1 -1
- package/daemon/dist/domain/session-name.d.ts +22 -0
- package/daemon/dist/domain/session-name.d.ts.map +1 -1
- package/daemon/dist/domain/session-name.js +29 -0
- package/daemon/dist/domain/session-name.js.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +4 -5
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts +18 -2
- package/daemon/dist/domain/spec-library-workflow-scanner.d.ts.map +1 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.js +23 -1
- package/daemon/dist/domain/spec-library-workflow-scanner.js.map +1 -1
- package/daemon/dist/domain/startup-proof.d.ts +10 -6
- package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
- package/daemon/dist/domain/startup-proof.js +35 -7
- package/daemon/dist/domain/startup-proof.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +16 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +13 -0
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +27 -0
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js +67 -0
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -0
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +77 -0
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/herdr-adapter.js +266 -0
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -0
- package/daemon/dist/domain/terminal/herdr-transport.d.ts +50 -0
- package/daemon/dist/domain/terminal/herdr-transport.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/herdr-transport.js +145 -0
- package/daemon/dist/domain/terminal/herdr-transport.js.map +1 -0
- package/daemon/dist/domain/terminal/terminal-provider.d.ts +88 -0
- package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/terminal-provider.js +17 -0
- package/daemon/dist/domain/terminal/terminal-provider.js.map +1 -0
- package/daemon/dist/domain/terminal/terminal-service.d.ts +60 -0
- package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/terminal-service.js +174 -0
- package/daemon/dist/domain/terminal/terminal-service.js.map +1 -0
- package/daemon/dist/domain/terminal/terminal-views-store.d.ts +77 -0
- package/daemon/dist/domain/terminal/terminal-views-store.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/terminal-views-store.js +146 -0
- package/daemon/dist/domain/terminal/terminal-views-store.js.map +1 -0
- package/daemon/dist/domain/terminal/view-composer.d.ts +42 -0
- package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/view-composer.js +137 -0
- package/daemon/dist/domain/terminal/view-composer.js.map +1 -0
- package/daemon/dist/domain/tmux-option-defaults.d.ts +89 -0
- package/daemon/dist/domain/tmux-option-defaults.d.ts.map +1 -0
- package/daemon/dist/domain/tmux-option-defaults.js +132 -0
- package/daemon/dist/domain/tmux-option-defaults.js.map +1 -0
- package/daemon/dist/domain/types.d.ts +34 -1
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +92 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/workflow/slice-workflow-projection.d.ts.map +1 -1
- package/daemon/dist/domain/workflow/slice-workflow-projection.js +6 -2
- package/daemon/dist/domain/workflow/slice-workflow-projection.js.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts +28 -0
- package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-boot-sweep.js +102 -0
- package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -0
- package/daemon/dist/domain/workflow-deadline.d.ts +74 -0
- package/daemon/dist/domain/workflow-deadline.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-deadline.js +165 -0
- package/daemon/dist/domain/workflow-deadline.js.map +1 -0
- package/daemon/dist/domain/workflow-exception-escalation.d.ts +33 -0
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-exception-escalation.js +104 -0
- package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -0
- package/daemon/dist/domain/workflow-exception-router.d.ts +33 -0
- package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-exception-router.js +96 -0
- package/daemon/dist/domain/workflow-exception-router.js.map +1 -0
- package/daemon/dist/domain/workflow-exception.d.ts +90 -0
- package/daemon/dist/domain/workflow-exception.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-exception.js +122 -0
- package/daemon/dist/domain/workflow-exception.js.map +1 -0
- package/daemon/dist/domain/workflow-frontier-guard.d.ts +24 -0
- package/daemon/dist/domain/workflow-frontier-guard.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-frontier-guard.js +30 -0
- package/daemon/dist/domain/workflow-frontier-guard.js.map +1 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts +28 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-instance-store.js +66 -10
- package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/daemon/dist/domain/workflow-keepalive-arming.d.ts +35 -0
- package/daemon/dist/domain/workflow-keepalive-arming.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-keepalive-arming.js +87 -0
- package/daemon/dist/domain/workflow-keepalive-arming.js.map +1 -0
- package/daemon/dist/domain/workflow-projector.d.ts +117 -2
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +672 -41
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-role-context.d.ts +57 -0
- package/daemon/dist/domain/workflow-role-context.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-role-context.js +120 -0
- package/daemon/dist/domain/workflow-role-context.js.map +1 -0
- package/daemon/dist/domain/workflow-role-resolver.d.ts +65 -0
- package/daemon/dist/domain/workflow-role-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-role-resolver.js +108 -0
- package/daemon/dist/domain/workflow-role-resolver.js.map +1 -0
- package/daemon/dist/domain/workflow-runtime.d.ts +157 -1
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +718 -11
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +26 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +327 -13
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workflow-types.d.ts +143 -8
- package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-types.js +14 -1
- package/daemon/dist/domain/workflow-types.js.map +1 -1
- package/daemon/dist/domain/workflow-validator.d.ts +11 -1
- package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-validator.js +246 -1
- package/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/daemon/dist/index.d.ts +17 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +44 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/routes/activity.js +22 -0
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/hosts.d.ts +5 -0
- package/daemon/dist/routes/hosts.d.ts.map +1 -0
- package/daemon/dist/routes/hosts.js +346 -0
- package/daemon/dist/routes/hosts.js.map +1 -0
- package/daemon/dist/routes/queue.d.ts +2 -7
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +264 -9
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/review.d.ts.map +1 -1
- package/daemon/dist/routes/review.js +26 -0
- package/daemon/dist/routes/review.js.map +1 -1
- package/daemon/dist/routes/seat.js +13 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/terminal.d.ts +11 -0
- package/daemon/dist/routes/terminal.d.ts.map +1 -0
- package/daemon/dist/routes/terminal.js +104 -0
- package/daemon/dist/routes/terminal.js.map +1 -0
- package/daemon/dist/routes/workflow.d.ts.map +1 -1
- package/daemon/dist/routes/workflow.js +102 -10
- package/daemon/dist/routes/workflow.js.map +1 -1
- package/daemon/dist/server.d.ts +5 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +22 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +221 -12
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +29 -0
- package/daemon/specs/agents/factory-rsi/dogfood/guidance/role.md +37 -0
- package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +29 -0
- package/daemon/specs/agents/factory-rsi/release-manager/guidance/role.md +40 -0
- package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +6 -8
- package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +86 -0
- package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +158 -0
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +6 -6
- package/daemon/specs/rigs/launch/factory-rsi/CULTURE.md +47 -0
- package/daemon/specs/rigs/launch/factory-rsi/rig.yaml +115 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/broadcast.d.ts +6 -1
- package/dist/commands/broadcast.d.ts.map +1 -1
- package/dist/commands/broadcast.js +101 -15
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +99 -8
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +4 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +5 -0
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/host.d.ts +14 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +338 -14
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +5 -0
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +10 -4
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +36 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +73 -7
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/restore-packet.d.ts.map +1 -1
- package/dist/commands/restore-packet.js +13 -2
- package/dist/commands/restore-packet.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +114 -9
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/terminal.d.ts +6 -0
- package/dist/commands/terminal.d.ts.map +1 -0
- package/dist/commands/terminal.js +116 -0
- package/dist/commands/terminal.js.map +1 -0
- package/dist/commands/transcript.d.ts +6 -1
- package/dist/commands/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +113 -30
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +9 -0
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +11 -0
- package/dist/commands/whoami.js.map +1 -1
- package/dist/commands/workflow-errors.d.ts +23 -0
- package/dist/commands/workflow-errors.d.ts.map +1 -0
- package/dist/commands/workflow-errors.js +100 -0
- package/dist/commands/workflow-errors.js.map +1 -0
- package/dist/commands/workflow-follow.d.ts +71 -0
- package/dist/commands/workflow-follow.d.ts.map +1 -0
- package/dist/commands/workflow-follow.js +259 -0
- package/dist/commands/workflow-follow.js.map +1 -0
- package/dist/commands/workflow-render.d.ts +114 -0
- package/dist/commands/workflow-render.d.ts.map +1 -0
- package/dist/commands/workflow-render.js +223 -0
- package/dist/commands/workflow-render.js.map +1 -0
- package/dist/commands/workflow.d.ts +1 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +278 -14
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config-store.d.ts +15 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +103 -0
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-cli-helpers.d.ts +13 -0
- package/dist/cross-host-cli-helpers.d.ts.map +1 -1
- package/dist/cross-host-cli-helpers.js +27 -0
- package/dist/cross-host-cli-helpers.js.map +1 -1
- package/dist/cross-host-target.d.ts +49 -0
- package/dist/cross-host-target.d.ts.map +1 -0
- package/dist/cross-host-target.js +35 -0
- package/dist/cross-host-target.js.map +1 -0
- package/dist/host-registry.d.ts +8 -0
- package/dist/host-registry.d.ts.map +1 -1
- package/dist/host-registry.js +32 -0
- package/dist/host-registry.js.map +1 -1
- package/dist/host-selection.d.ts +13 -0
- package/dist/host-selection.d.ts.map +1 -0
- package/dist/host-selection.js +54 -0
- package/dist/host-selection.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/remote-host-ops.d.ts +1 -0
- package/dist/remote-host-ops.d.ts.map +1 -1
- package/dist/remote-host-ops.js +11 -4
- package/dist/remote-host-ops.js.map +1 -1
- package/dist/session-name.d.ts +23 -0
- package/dist/session-name.d.ts.map +1 -0
- package/dist/session-name.js +61 -0
- package/dist/session-name.js.map +1 -0
- package/package.json +1 -1
- package/ui/dist/assets/index-CFqxa0zW.css +32 -0
- package/ui/dist/assets/index-zrFqS7gL.js +623 -0
- package/ui/dist/index.html +2 -2
- package/ui/dist/assets/index-D69ZhNIr.js +0 -598
- package/ui/dist/assets/index-DJYun-8d.css +0 -32
|
@@ -1,70 +1,649 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openrig-user
|
|
3
|
-
description: Use when operating OpenRig with the `rig` CLI and you need the shipped command surface for identity, inventory, communication, lifecycle, specs, recovery, or agent-facing JSON output.
|
|
4
|
-
metadata:
|
|
5
|
-
openrig:
|
|
6
|
-
stage: factory-approved
|
|
7
|
-
last_verified: "2026-05-04"
|
|
8
|
-
distribution_scope: product-bound
|
|
9
|
-
source_evidence: |
|
|
10
|
-
Bootstrap skill — NPM install lands this in personal homes (~/.claude/skills/, ~/.agents/skills/) so agents have it at every boot.
|
|
11
|
-
sibling_skills:
|
|
12
|
-
- openrig-operator
|
|
13
|
-
- openrig-architect
|
|
14
|
-
- forming-an-openrig-mental-model
|
|
15
|
-
transfer_test: pending
|
|
16
|
-
notes: |
|
|
17
|
-
Description was already correct (starts with "Use when..."; lists triggering domains without summarizing workflow). No frontmatter rewrite needed.
|
|
18
|
-
2026-05-04 sync: body content updated for OpenRig v0.2.0 release — adds Runtime-Gated Coordination Primitives section (PL-004 Phase A-D commands: rig stream / rig queue / rig project / rig view / rig watchdog / rig workflow), default posture for daemon vs substrate coordination commands, capture discipline section. Frontmatter metadata.openrig.* preserved across the sync.
|
|
3
|
+
description: Use when operating OpenRig with the `rig` CLI and you need the shipped command surface for identity, inventory, communication, lifecycle, specs, recovery, or agent-facing JSON output.
|
|
19
4
|
---
|
|
20
5
|
|
|
21
|
-
|
|
22
6
|
# OpenRig User
|
|
23
7
|
|
|
24
8
|
This is an as-built guide to the shipped `rig` CLI.
|
|
25
9
|
Use current code and `rig ... --help` as ground truth if anything here ever conflicts with older planning docs.
|
|
26
10
|
|
|
27
|
-
This is the
|
|
28
|
-
|
|
29
|
-
|
|
11
|
+
This is not the config-layer or builder guide. Use the substrate control-plane guidance for `rigx`
|
|
12
|
+
and experimental overlays. Use the OpenRig builder guidance when changing OpenRig behavior,
|
|
13
|
+
doctrine, or release posture.
|
|
14
|
+
|
|
15
|
+
## Coordination primitives — when to use which
|
|
16
|
+
|
|
17
|
+
Three coordination surfaces, used together for forward-momentum work. Internalize this
|
|
18
|
+
on first read — it shapes every turn you take in a rig.
|
|
19
|
+
|
|
20
|
+
### `rig send <seat> "<text>"` — intra-pod direct messaging / nudges
|
|
21
|
+
|
|
22
|
+
Use when you need to ask a quick question or give a teammate context that does not
|
|
23
|
+
carry handoff semantics. **NOT for durable work.** NOT for state that must survive
|
|
24
|
+
across turns. The message lands in the target's pane; there is no durable queue
|
|
25
|
+
record. The CLI prints `Sent to ...` (and `Verified: yes/no` with `--verify`); read
|
|
26
|
+
the receipt and move on.
|
|
27
|
+
|
|
28
|
+
Example:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
rig send reviewer@acme-web "Heads up — filing the per-commit handoff on the search-filters slice at the current tip." --verify
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### `rig queue create --source <X> --destination <Y> --tags <...> --body "<...>"` — durable work item
|
|
35
|
+
|
|
36
|
+
Use for any substantive work that must not fall through chat — slice handoffs,
|
|
37
|
+
guard verdicts, QA results, full-tip reviews, multi-item batches. Survives agent
|
|
38
|
+
restarts. Tracked in the daemon SQLite schema. Surfaces in Project / queue views
|
|
39
|
+
+ in the destination seat's inbox. Tag with mission / slice / gate / checkpoint
|
|
40
|
+
so future-you (and any peer) can find it.
|
|
41
|
+
|
|
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.
|
|
45
|
+
|
|
46
|
+
Example:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
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)"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
### `rig queue handoff <qitem-id> --to <next> ...` — hot-potato handoff
|
|
57
|
+
|
|
58
|
+
Use when you have completed your turn on a qitem and the work moves to the next
|
|
59
|
+
owner. **This is forward momentum.** The ball passes to the destination seat;
|
|
60
|
+
chain-of-record (the prior qitem id) is preserved so the verdict trail is intact;
|
|
61
|
+
tags carry the phase boundary forward (e.g. `gate:guard` → `gate:qa`).
|
|
62
|
+
|
|
63
|
+
Example:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
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"
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### §1b doctrine — turn ends by passing the ball
|
|
72
|
+
|
|
73
|
+
**A turn ends by passing the ball, never by going idle holding the slice waiting
|
|
74
|
+
on a confirmation the process does not include.** If the work was authorized, the
|
|
75
|
+
per-commit guard + adversarial QA + orch heavy-verify are the guardrails — not an
|
|
76
|
+
operator pre-commit gate. Do the authorized work and pass the ball.
|
|
77
|
+
|
|
78
|
+
Valid pauses are only:
|
|
79
|
+
|
|
80
|
+
- A genuine blocker — file a blocked-state qitem against the blocking peer or
|
|
81
|
+
surface explicitly to orch.
|
|
82
|
+
- A scope-or-architecture question that requires owner input and changes the
|
|
83
|
+
plan — surface to orch with the specific decision needed.
|
|
84
|
+
|
|
85
|
+
Implementing already-authorized work is neither of these. Proceed without
|
|
86
|
+
phantom-gating on an imagined "next prompt" or "operator confirmation" that the
|
|
87
|
+
process does not require.
|
|
88
|
+
|
|
89
|
+
### Anti-patterns
|
|
90
|
+
|
|
91
|
+
- Using `rig send` for durable work → use `rig queue create` instead. Sends do
|
|
92
|
+
not survive restarts and do not show up in queue/project views.
|
|
93
|
+
- Idle-holding a slice for an imagined "next prompt" or "operator confirmation"
|
|
94
|
+
that the process does not require → pass the ball via `rig queue handoff` and
|
|
95
|
+
proceed to the next slice or stand by for the inbound verdict. See the §1b
|
|
96
|
+
doctrine above.
|
|
97
|
+
- Hand-coding `rigx queue` for new work → `rig queue` is the daemon-backed
|
|
98
|
+
canonical surface since the 2026-05-11 host-CLI fix. `rigx queue` is a
|
|
99
|
+
recovery-only fallback; qitems written via `rigx queue` are invisible to
|
|
100
|
+
daemon-backed reads and break fleet-wide routing discipline.
|
|
101
|
+
- 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.
|
|
30
105
|
|
|
31
106
|
## Runtime-Gated Coordination Primitives
|
|
32
107
|
|
|
33
|
-
OpenRig v0.
|
|
34
|
-
`v0.
|
|
108
|
+
OpenRig v0.3.1 is published publicly as `@openrig/cli@0.3.1` and GitHub Release
|
|
109
|
+
`v0.3.1`. It includes the bundled PL-004 Coordination Primitive System: Phase A
|
|
35
110
|
`rig stream` / `rig queue`, Phase B `rig project` / `rig view`, Phase C
|
|
36
111
|
`rig watchdog`, and Phase D `rig workflow` / `workflow-keepalive`.
|
|
37
112
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
113
|
+
These are shipped product surfaces in v0.3.x, but they require a compatible
|
|
114
|
+
v0.3.x daemon and matching SQLite schema at runtime — the installed package
|
|
115
|
+
version is not automatically the version of the daemon serving you. If a
|
|
116
|
+
coordination command behaves unexpectedly, confirm the running daemon with
|
|
117
|
+
`rig whoami --json` and daemon status before assuming a product bug.
|
|
41
118
|
|
|
42
|
-
Default posture
|
|
119
|
+
Default posture:
|
|
43
120
|
|
|
44
121
|
- Treat daemon `rig queue`, `rig stream`, `rig project`, `rig view`, `rig watchdog`, and
|
|
45
|
-
`rig workflow` as
|
|
46
|
-
- **CANONICAL SURFACE NOTE (2026-05-11)**: `rig queue` (daemon-backed SQLite)
|
|
47
|
-
canonical
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
122
|
+
`rig workflow` as the product coordination surfaces when the active daemon is v0.2.0 or newer.
|
|
123
|
+
- **CANONICAL SURFACE NOTE (2026-05-11)**: `rig queue` (daemon-backed SQLite) became
|
|
124
|
+
the canonical queue-routing surface when the 2026-05-11 host-CLI fix landed. The
|
|
125
|
+
coordination model is now load-bearing at the top of this skill — see
|
|
126
|
+
"Coordination primitives — when to use which" above for the send / queue /
|
|
127
|
+
queue-handoff usage model and the §1b doctrine. Auxiliary queue verbs:
|
|
128
|
+
`rig queue update / show / list` complement `rig queue create / handoff`
|
|
129
|
+
for in-flight inspection and state mutation.
|
|
130
|
+
- Use temporary substrate overlays such as `rigx queue`, `rigx stream`, `rigx project`, and
|
|
131
|
+
`rigx view-proto` only where the current OpenRig workstream explicitly says that legacy/control
|
|
132
|
+
layer is still in use. For queue specifically, `rigx queue` is recovery-only fallback;
|
|
133
|
+
qitems written via `rigx queue` are invisible to daemon-backed reads and break fleet-wide
|
|
134
|
+
routing discipline.
|
|
54
135
|
- If a daemon-backed coordination command fails, debug the command/runtime/schema edge directly;
|
|
55
|
-
do not
|
|
56
|
-
- Do not
|
|
57
|
-
|
|
58
|
-
|
|
136
|
+
do not assume the right workaround is to drop back to a config-layer primitive.
|
|
137
|
+
- Do not perform daemon stop/start, production DB copy/mutation, release, publish, or other
|
|
138
|
+
consequence-boundary actions unless the operator/workstream has granted that specific gate.
|
|
139
|
+
|
|
140
|
+
## First-user workspace setup
|
|
141
|
+
|
|
142
|
+
When booting into a rig on a host where the workspace is unset, gap-ridden, or
|
|
143
|
+
points at a stale layout, address that before substantive project work. The
|
|
144
|
+
shipped surface is small + bounded — reach for the canonical commands rather
|
|
145
|
+
than improvising.
|
|
146
|
+
|
|
147
|
+
### Detect workspace state at boot
|
|
148
|
+
|
|
149
|
+
Agent-actionable when the daemon is reachable.
|
|
150
|
+
|
|
151
|
+
```bash
|
|
152
|
+
rig workspace validate --json
|
|
153
|
+
rig workspace validate <path> --kind <user|project|knowledge|lab|delivery> --json
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
`rig workspace validate` walks the workspace root and emits a structured
|
|
157
|
+
frontmatter-gap report against the v0 contract. Exit code is non-zero when
|
|
158
|
+
gaps exist (operators chain into hygiene fix loops). Default root is the
|
|
159
|
+
current directory; pass a positional path to validate elsewhere. `--kind`
|
|
160
|
+
scopes the contract to a specific workspace kind; omit for a kind-agnostic
|
|
161
|
+
structural check.
|
|
162
|
+
|
|
163
|
+
If `rig workspace validate` reports a non-zero `gapCount` OR the workspace
|
|
164
|
+
root is unset / unwritable, the workspace needs instantiation — see the next
|
|
165
|
+
section.
|
|
166
|
+
|
|
167
|
+
### Instantiate the canonical workspace scaffold
|
|
168
|
+
|
|
169
|
+
Agent-actionable. Idempotent on existing dirs without `--force`.
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
rig config init-workspace
|
|
173
|
+
rig config init-workspace --root <path>
|
|
174
|
+
rig config init-workspace --dry-run --json
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
`rig config init-workspace` scaffolds the canonical workspace layout at the
|
|
178
|
+
configured `workspace.root` (default `~/.openrig/workspace`):
|
|
179
|
+
|
|
180
|
+
- `missions/` — release missions + slices
|
|
181
|
+
- `artifacts/` — work artifacts produced inside the workspace
|
|
182
|
+
- `evidence/` — non-dogfood evidence (release evidence, proof packets, etc.)
|
|
183
|
+
- `progress/` — progress index + per-mission rails
|
|
184
|
+
- `field-notes/` — operator + agent observations
|
|
185
|
+
- `specs/` — spec library (rig + agent + workflow YAML lives here)
|
|
186
|
+
- `dogfood-evidence/` — dogfood proof packets + run artifacts
|
|
187
|
+
|
|
188
|
+
The scaffold seeds one example mission (`getting-started`) with multiple
|
|
189
|
+
slices, and drops a workspace README.md + STEERING.md so a fresh install has
|
|
190
|
+
browsable Project content. `--root <path>` targets a non-default root for
|
|
191
|
+
this call; `--dry-run` reports what would be created without writing.
|
|
192
|
+
`--force` overwrites existing FILES but never deletes
|
|
193
|
+
directories — operator content is safe.
|
|
194
|
+
|
|
195
|
+
### Redirect the workspace root
|
|
196
|
+
|
|
197
|
+
Operator-gated when persistent. Agent-actionable when one-shot via env-var.
|
|
198
|
+
|
|
199
|
+
For a single command:
|
|
200
|
+
|
|
201
|
+
```bash
|
|
202
|
+
OPENRIG_WORKSPACE_ROOT=<path> rig <command> ...
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
For a persistent host-level redirect, the operator changes the config file or
|
|
206
|
+
runs the setter:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
rig config set workspace.root <path>
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
ConfigStore precedence: `OPENRIG_WORKSPACE_ROOT` env > config-file
|
|
213
|
+
`workspace.root` > built-in default `~/.openrig/workspace`. The same
|
|
214
|
+
precedence governs `OPENRIG_WORKSPACE_SPECS_ROOT` → `workspace.specs_root`
|
|
215
|
+
(default `<workspace_root>/specs`).
|
|
216
|
+
|
|
217
|
+
Prefer the env-var form for one-shot redirects (transparent to operators);
|
|
218
|
+
reserve `rig config set` for changes the operator owns.
|
|
219
|
+
|
|
220
|
+
### Build a workspace from scratch
|
|
221
|
+
|
|
222
|
+
Agent-actionable. Same surface as the canonical scaffold above; the
|
|
223
|
+
`workspace.root` cascade handles non-existent host paths.
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
rig config init-workspace --root /path/to/new/workspace
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
The command creates the root dir if missing (idempotent: existing root +
|
|
230
|
+
populated subdirs is a no-op). Run
|
|
231
|
+
`rig workspace validate /path/to/new/workspace --json` after to confirm the
|
|
232
|
+
contract holds.
|
|
233
|
+
|
|
234
|
+
### Create a workflow inside an existing workspace
|
|
235
|
+
|
|
236
|
+
Authoring is operator-or-agent; validation + instantiation are
|
|
237
|
+
agent-actionable.
|
|
238
|
+
|
|
239
|
+
Workflow spec files live at:
|
|
240
|
+
|
|
241
|
+
```
|
|
242
|
+
<workspace_root>/specs/workflows/<name>.yaml
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
`<workspace_root>` resolves via the ConfigStore precedence named above.
|
|
246
|
+
There is no `rig workflow create` verb in v0.3.x — the spec YAML is authored
|
|
247
|
+
directly. Template by hand from the documented schema, or copy a built-in
|
|
248
|
+
starter from `<openrig install>/dist/builtins/workflow-specs/` and adapt.
|
|
249
|
+
Once written:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
rig workflow validate <workspace_root>/specs/workflows/<name>.yaml --json
|
|
253
|
+
|
|
254
|
+
rig workflow instantiate <workspace_root>/specs/workflows/<name>.yaml \
|
|
255
|
+
--root-objective "<one-line objective for the run>" \
|
|
256
|
+
--created-by <your-session>@<your-rig> \
|
|
257
|
+
--json
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
Both `--root-objective <text>` and `--created-by <session>` are REQUIRED
|
|
261
|
+
on `instantiate` — omitting either yields a Commander required-option
|
|
262
|
+
error before the daemon is contacted. `--entry-owner <session>` is an
|
|
263
|
+
optional override for the entry-step owner; default routing is per the
|
|
264
|
+
workflow spec.
|
|
265
|
+
|
|
266
|
+
`validate` returns a structured ok/error report; `instantiate` creates a
|
|
267
|
+
workflow instance + entry-step qitem. Inspect existing surface state with:
|
|
268
|
+
|
|
269
|
+
```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
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## v0.3.x Starter, Workspace, And Plugin Surfaces
|
|
276
|
+
|
|
277
|
+
OpenRig v0.3.0 adds `rig agent-image`, `rig context-pack`, `rig workspace`, and
|
|
278
|
+
`rig config init-workspace`. It also shifts fresh-user starter guidance toward
|
|
279
|
+
`product-team` for human-directed work and `conveyor` for workflow-oriented
|
|
280
|
+
work. Treat `demo` as legacy/test content unless a task specifically asks for
|
|
281
|
+
the old demo spec.
|
|
282
|
+
|
|
283
|
+
OpenRig v0.3.1 adds public package/source surfaces for Plugin Primitive v0,
|
|
284
|
+
Claude Auto-Compaction Policy, migration `040_workflow_specs_diagnostic`,
|
|
285
|
+
Library Explorer finishing, Settings Destination Explorer, Dashboard/For You
|
|
286
|
+
vellum refresh, storytelling adapter, and action outcome + inline error UX.
|
|
287
|
+
|
|
288
|
+
`rig plugin` is read-only at v0:
|
|
289
|
+
|
|
290
|
+
```bash
|
|
291
|
+
rig plugin list
|
|
292
|
+
rig plugin show <id>
|
|
293
|
+
rig plugin used-by <id>
|
|
294
|
+
rig plugin validate <path>
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
There is no `rig plugin install` verb in v0.3.1. Plugin installation remains
|
|
298
|
+
explicit operator copy/symlink to `$OPENRIG_HOME/plugins/<plugin-id>/`.
|
|
299
|
+
|
|
300
|
+
Claude auto-compaction policy is opt-in default-off. The v0.3.1 package and
|
|
301
|
+
this host's active daemon ship `policies.claude_compaction.*` ConfigStore keys,
|
|
302
|
+
but no behavior changes unless the operator enables the policy.
|
|
303
|
+
|
|
304
|
+
Known v0.3.0/v0.3.1 caveats:
|
|
305
|
+
- `rig down` now accepts a rig name or id (symmetric with `rig up`): the earlier
|
|
306
|
+
name-to-404 caveat (the D1 path) is resolved in v0.3.3. An ambiguous name
|
|
307
|
+
matching more than one active rig is refused with the matching ids; re-run
|
|
308
|
+
with `rig down <id>`.
|
|
309
|
+
- `rig queue` / `rig view` JSON and limit compatibility drift is an open
|
|
310
|
+
follow-up from host-adoption proof; treat it as a compatibility caveat, not a
|
|
311
|
+
daemon-health failure.
|
|
312
|
+
- Queue/view JSON/limit drift is now refined as a wrapper-layer routing issue,
|
|
313
|
+
not a daemon-layer issue; use human-readable output for affected wrapper
|
|
314
|
+
commands until v0.3.2.
|
|
315
|
+
- First v0.3.1 daemon start hit a plugin-vendor fallback health-probe timeout;
|
|
316
|
+
controlled retry succeeded. Manual retry is the current workaround.
|
|
317
|
+
- Topology mobile drawer restoration and plugin source-label taxonomy are
|
|
318
|
+
v0.3.2 carry-forwards.
|
|
319
|
+
|
|
320
|
+
## Recovery and Resilience (v0.3.4+)
|
|
321
|
+
|
|
322
|
+
v0.3.4's theme is Recovery + Resilience. The surfaces below compose into a
|
|
323
|
+
single boot-to-running-rig path that survives crashes, hand-resumed sessions,
|
|
324
|
+
profile-load drift, and partial workspace state without silently fudging
|
|
325
|
+
status.
|
|
326
|
+
|
|
327
|
+
### `rig start` — recovery entrypoint
|
|
328
|
+
|
|
329
|
+
`rig start` is the top-level recovery sequencer. It does not invent recovery;
|
|
330
|
+
it composes existing primitives (daemon start + kernel verify + per-rig
|
|
331
|
+
restore) into one call.
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
rig start # interactive: daemon + kernel + pick-and-restore
|
|
335
|
+
rig start --last # headless: restore all rigs that were last running
|
|
336
|
+
rig start --all # headless: restore all rigs with restore-usable snapshots
|
|
337
|
+
rig start --rigs <name> [<name>...] # headless: restore only the named rigs
|
|
338
|
+
rig start --json # JSON output for agents
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
Framing: `rig start` is the RECOVERY entry point, not the getting-started
|
|
342
|
+
hero. The fresh-user boot hero remains `rig up <starter>` (typically
|
|
343
|
+
`rig up product-team`). Reach for `rig start` after a host reboot, daemon
|
|
344
|
+
restart, or any "bring my rigs back" moment.
|
|
345
|
+
|
|
346
|
+
### `rig reconcile-session` — no-launch adopt of a hand-resumed session
|
|
347
|
+
|
|
348
|
+
When an operator has externally resumed an agent session (e.g. attached a
|
|
349
|
+
shell, restarted a runtime by hand) and you want OpenRig to reconcile its
|
|
350
|
+
lifecycle state without re-launching or sending input, use:
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
rig reconcile-session <session>
|
|
354
|
+
rig reconcile-session <session> --rig <rigId> --node <logicalId>
|
|
355
|
+
rig reconcile-session <session> --no-launch
|
|
356
|
+
rig reconcile-session <session> --json
|
|
357
|
+
```
|
|
358
|
+
|
|
359
|
+
This is a no-launch, no-input adopt. `--rig`/`--node` disambiguate when the
|
|
360
|
+
canonical session name does not uniquely resolve. `--no-launch` is accepted
|
|
361
|
+
for explicitness (it is the only mode this command has).
|
|
362
|
+
|
|
363
|
+
### Five-term restore status vocabulary
|
|
364
|
+
|
|
365
|
+
The shipped restore vocabulary is intentionally honest. It surfaces in
|
|
366
|
+
`rig up` / `rig restore` / `rig ps`. Use the term that fits — do not collapse
|
|
367
|
+
to a generic "ok/failed":
|
|
368
|
+
|
|
369
|
+
- `resumed` — seat resumed from its original session/snapshot and is live.
|
|
370
|
+
- `fresh-primed` — seat opted into `--fresh` and was freshly started.
|
|
371
|
+
- `awaiting-decision` — zero-session honest state. There is no resumable
|
|
372
|
+
session AND no `--fresh` opt-in was given; the seat is waiting for an
|
|
373
|
+
operator decision. Previously fudged as `failed`; that was wrong — nothing
|
|
374
|
+
is broken, the system is asking for input.
|
|
375
|
+
- `attention_required` — seat is in a state needing operator attention; not
|
|
376
|
+
a transport failure. Clear via `rig seat clear-attention` once the
|
|
377
|
+
attention has been resolved.
|
|
378
|
+
- `failed` — the send transport or launch genuinely failed.
|
|
379
|
+
|
|
380
|
+
This replaces the prior collapsed model (the v0.3.3 four-term vocabulary, in
|
|
381
|
+
which `rebuilt` was a term, is retired).
|
|
382
|
+
|
|
383
|
+
### `rig seat clear-attention` — audited reconcile of stuck attention
|
|
384
|
+
|
|
385
|
+
When a seat is stuck in `attention_required`, do NOT hand-edit SQLite to
|
|
386
|
+
fake-clear the state. Use the evidence-gated, operator-attested, audited
|
|
387
|
+
reconcile:
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
rig seat clear-attention <session>
|
|
391
|
+
rig seat clear-attention <session> --reason "operator attested: founder re-authed, confirmed live"
|
|
392
|
+
rig seat clear-attention <session> --json
|
|
393
|
+
```
|
|
394
|
+
|
|
395
|
+
`--reason <text>` is the operator-attestation override path; without it the
|
|
396
|
+
command runs the evidence gate. Either way the action is audited.
|
|
397
|
+
|
|
398
|
+
### Periodic snapshots — crash-insurance floor
|
|
399
|
+
|
|
400
|
+
The daemon ships a periodic-snapshot scheduler. It runs independently of
|
|
401
|
+
teardown events and provides the crash-insurance floor that prior
|
|
402
|
+
event-only/teardown-only snapshots could not provide on hard crashes.
|
|
403
|
+
|
|
404
|
+
Config keys (SettingsStore):
|
|
405
|
+
- `snapshots.periodic.enabled` — default `true`
|
|
406
|
+
- `snapshots.periodic.interval_seconds` — default `300`
|
|
407
|
+
- `snapshots.periodic.retention_keep` — default `10`
|
|
408
|
+
|
|
409
|
+
Newest-wins semantics: when both `auto-periodic` and `auto-pre-down`
|
|
410
|
+
snapshots exist for a rig, the freshest of the two is selected for restore.
|
|
411
|
+
A newer `auto-periodic` beats a stale `auto-pre-down` (the crash fix); a
|
|
412
|
+
genuinely-fresher `auto-pre-down` still wins on graceful cycles. Manual
|
|
413
|
+
snapshots are handled separately. See
|
|
414
|
+
`packages/daemon/src/domain/snapshot-repository.ts` for the ordering rule.
|
|
415
|
+
|
|
416
|
+
The last-snapshot floor surfaces in `rig ps` / status output so an operator
|
|
417
|
+
can see at a glance how recent the crash-insurance floor is.
|
|
418
|
+
|
|
419
|
+
### Codex profile-v2 preflight
|
|
420
|
+
|
|
421
|
+
Profile-bearing launch/restore surfaces run a profile-load preflight. When
|
|
422
|
+
profile-load issues are detected, the failure is honest and actionable
|
|
423
|
+
(named error + remediation pointer) instead of a silent partial launch that
|
|
424
|
+
would later look like an attention_required seat with no explanation.
|
|
425
|
+
|
|
426
|
+
### cmux launch readiness
|
|
427
|
+
|
|
428
|
+
cmux-backed launches no longer produce silent partial workspace state. When
|
|
429
|
+
parts of the workspace are missing, the launch surfaces partial state
|
|
430
|
+
honestly and the UI exposes a one-click open-missing affordance.
|
|
431
|
+
|
|
432
|
+
(See also `## Token-Efficient Defaults (v0.4.0+)` below for the compact-by-default read-command surface that lands in 0.4.0.)
|
|
433
|
+
|
|
434
|
+
## Token-Efficient Defaults (v0.4.0+)
|
|
435
|
+
|
|
436
|
+
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
|
+
|
|
438
|
+
### `rig ps` — consolidated all-rigs default + the disclosure ladder (v0.4.4)
|
|
439
|
+
|
|
440
|
+
```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)
|
|
448
|
+
rig ps --nodes --session <sess> # narrow to one canonical session
|
|
449
|
+
rig ps --include-archived # archived history as rows (otherwise ONE count line)
|
|
450
|
+
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
|
+
```
|
|
452
|
+
|
|
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.
|
|
459
|
+
|
|
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.
|
|
479
|
+
|
|
480
|
+
### `rig whoami` — compact-by-default + `--full` (`--verbose` alias)
|
|
481
|
+
|
|
482
|
+
```bash
|
|
483
|
+
rig whoami # compact: identity + peers names + edges + transcript path
|
|
484
|
+
rig whoami --json # compact JSON (~192 tokens)
|
|
485
|
+
rig whoami --full # complete payload (~909 tokens; v0.3.4 default shape)
|
|
486
|
+
rig whoami --verbose # alias of --full
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
The first command every agent runs on boot AND every compaction-restore. The compact default keeps identity-recovery essentials (`identity`, `peers` names + sessionNames, `edges` directional `kind` + `to.sessionName`, `transcriptPath`). `--full` adds `contextUsage`, `commands`, `peersNote`, `runtimeContext`. The compact-default is an ALLOWLIST projection — future payload fields default to `--full` and cannot silently re-bloat the every-boot path.
|
|
490
|
+
|
|
491
|
+
### `rig queue list` — active-frontier + docker/kubectl grammar
|
|
492
|
+
|
|
493
|
+
```bash
|
|
494
|
+
rig queue list # active, compact, CURRENT-rig (docker-ps default)
|
|
495
|
+
rig queue list -a # + closed/done history within current breadth (docker -a)
|
|
496
|
+
rig queue list -A # cross-rig breadth (kubectl -A)
|
|
497
|
+
rig queue list --full # add body + chain-of-record + transition history
|
|
498
|
+
rig queue list -o json # compact JSON (token-safe, machine-parseable)
|
|
499
|
+
rig queue list --full -o json # full JSON
|
|
500
|
+
rig queue list --mine # just the caller's items
|
|
501
|
+
rig queue list --destination <s> # destined to <s>
|
|
502
|
+
rig queue list --source <s> # sourced by <s>
|
|
503
|
+
rig queue show <qitemId> # full single item (kubectl describe)
|
|
504
|
+
```
|
|
505
|
+
|
|
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`.
|
|
507
|
+
|
|
508
|
+
### `rig restore-check` — summary + not-ready-only default + `--full`
|
|
509
|
+
|
|
510
|
+
```bash
|
|
511
|
+
rig restore-check # summary counts + not-ready seats (with reasons) only
|
|
512
|
+
rig restore-check --full # complete per-seat readiness across the fleet (v0.3.4 default)
|
|
513
|
+
rig restore-check --rig <name> # narrow
|
|
514
|
+
rig restore-check --as <session> # narrow to one seat
|
|
515
|
+
```
|
|
516
|
+
|
|
517
|
+
Closes the largest measured bomb (~79,000 → low thousands). Summary correctly identifies EVERY not-ready seat (no false-ready omission); detail is dropped only for ready seats.
|
|
518
|
+
|
|
519
|
+
### `rig context` — compact summary + `--full`
|
|
520
|
+
|
|
521
|
+
```bash
|
|
522
|
+
rig context # compact summary
|
|
523
|
+
rig context --full # complete current payload
|
|
524
|
+
rig context --rig <name> # narrow to one rig
|
|
525
|
+
rig context --threshold 80 # filter to seats at/above 80%
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
Lower leverage than the others but keeps the read-command surface compact-by-default after the upgrade.
|
|
529
|
+
|
|
530
|
+
### Why this matters
|
|
531
|
+
|
|
532
|
+
This release closes the host-version-aged token-burn class: on this host the read-commands accumulated to ~225,000 tokens of context-window cost over a typical orchestrator session, almost all of it firehose-when-a-glance-was-wanted. Compact defaults restore the lean-monitoring doctrine: a narrow status check must be cheap. The full payloads remain one flag away when actually needed.
|
|
533
|
+
|
|
534
|
+
### Token-efficiency-boot-guardrail pack (interim) — CLI-prohibitions RETIRE at host-upgrade
|
|
535
|
+
|
|
536
|
+
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
|
+
|
|
538
|
+
### `rig scope mission|slice progress` — deterministic progress updates (slice 33)
|
|
539
|
+
|
|
540
|
+
```bash
|
|
541
|
+
rig scope mission progress <mission> --status <state> --milestone <text>
|
|
542
|
+
rig scope slice progress <slice-path> --status <state> --note <text>
|
|
543
|
+
```
|
|
544
|
+
|
|
545
|
+
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
|
+
|
|
547
|
+
### `rig scope mission|slice stage / verified / reconcile` — deterministic maturity vocabulary (slice 35)
|
|
548
|
+
|
|
549
|
+
```bash
|
|
550
|
+
rig scope slice stage <slice> <new-stage> # wip / provisional / established / canonical / superseded / retired
|
|
551
|
+
rig scope slice stage <slice> superseded --successor <id> # superseded REQUIRES --successor (rejected otherwise)
|
|
552
|
+
rig scope mission stage <mission> <new-stage> # same enum + rules at mission tier
|
|
553
|
+
|
|
554
|
+
rig scope slice verified <slice> --against "<source>" # stamp `verified: <today> against <source>`; --against MANDATORY
|
|
555
|
+
rig scope mission verified <mission> --against "<source>"
|
|
556
|
+
|
|
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
|
|
559
|
+
|
|
560
|
+
rig scope slice show <slice> # derives read-time effective-reliability from (stage × verified)
|
|
561
|
+
# — stale-`verified` `canonical` reported as effectively `provisional`
|
|
562
|
+
```
|
|
563
|
+
|
|
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.
|
|
589
|
+
|
|
590
|
+
### `rig skill audit` — skill cascade provenance (slice 10)
|
|
591
|
+
|
|
592
|
+
```bash
|
|
593
|
+
rig skill audit # human report of findings
|
|
594
|
+
rig skill audit --json # structured findings
|
|
595
|
+
rig skill audit --severity warn # stale + mirror-drift only
|
|
596
|
+
rig skill audit --rig <name> # narrow to embedded skill copies for one rig
|
|
597
|
+
```
|
|
598
|
+
|
|
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`.
|
|
600
|
+
|
|
601
|
+
### `rig seat clear-attention` — extended to derived projection staleness (slice 16)
|
|
602
|
+
|
|
603
|
+
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.
|
|
59
604
|
|
|
60
605
|
## Core Loop
|
|
61
606
|
|
|
62
607
|
Most work in OpenRig reduces to this loop:
|
|
63
|
-
- recover identity: `rig whoami
|
|
64
|
-
- inspect inventory: `rig ps` (
|
|
608
|
+
- recover identity: `rig whoami` (compact default; add `--full` only when you need the heavy payload)
|
|
609
|
+
- inspect inventory: `rig ps --nodes` (compact default; add `--full` only when you need the firehose)
|
|
65
610
|
- read context: `rig transcript ...`, `rig ask ...`, `rig chatroom history ...`
|
|
66
611
|
- act: `rig send`, `rig capture`, `rig broadcast`, lifecycle commands
|
|
67
612
|
|
|
613
|
+
## Agent-Managed Apps
|
|
614
|
+
|
|
615
|
+
An agent-managed app is a deployable OpenRig unit made of:
|
|
616
|
+
- the software or service
|
|
617
|
+
- one specialist agent dedicated to that software
|
|
618
|
+
|
|
619
|
+
Treat the specialist as the domain delegate for that app.
|
|
620
|
+
The current canonical example is:
|
|
621
|
+
- rig: `secrets-manager`
|
|
622
|
+
- pod: `vault`
|
|
623
|
+
- member: `specialist`
|
|
624
|
+
- logical ID: `vault.specialist`
|
|
625
|
+
- session: `vault-specialist@secrets-manager`
|
|
626
|
+
|
|
627
|
+
Typical operator loop:
|
|
628
|
+
|
|
629
|
+
```bash
|
|
630
|
+
rig up secrets-manager --cwd /path/to/project
|
|
631
|
+
rig ps --nodes --rig secrets-manager --json
|
|
632
|
+
rig send vault-specialist@secrets-manager "Check Vault health and report back." --verify
|
|
633
|
+
rig env status secrets-manager
|
|
634
|
+
rig env logs secrets-manager
|
|
635
|
+
```
|
|
636
|
+
|
|
637
|
+
Cross-rig communication is valid when the target session resolves uniquely.
|
|
638
|
+
Example:
|
|
639
|
+
|
|
640
|
+
```bash
|
|
641
|
+
rig send vault-specialist@secrets-manager "Read secret/data/dogfood and report the value." --verify
|
|
642
|
+
```
|
|
643
|
+
|
|
644
|
+
Use the specialist instead of teaching every peer the same app-specific toolchain.
|
|
645
|
+
For Vault, ask `vault.specialist` to do secrets-domain work rather than improvising curl or Vault CLI usage in unrelated agents.
|
|
646
|
+
|
|
68
647
|
## Identity and Recovery
|
|
69
648
|
|
|
70
649
|
Start here after launch, compaction, or confusion:
|
|
@@ -87,16 +666,24 @@ rig whoami --node-id <id>
|
|
|
87
666
|
|
|
88
667
|
If the daemon is unreachable but identity can still be inferred, `--json` may return a partial result instead of crashing.
|
|
89
668
|
|
|
669
|
+
`WhoamiResult` (v0.3.3+) carries a required `peersNote` field with three pointers
|
|
670
|
+
the agent can use to navigate the rest of the rig from a cold start. The
|
|
671
|
+
human-formatted CLI output preserves the literal `Peers:` line prefix verbatim
|
|
672
|
+
(parser/test compatibility) and surfaces the clarifier in-band beneath it; the
|
|
673
|
+
JSON form exposes `peersNote` directly for programmatic consumers.
|
|
674
|
+
|
|
90
675
|
## Inventory and Monitoring
|
|
91
676
|
|
|
92
677
|
```bash
|
|
93
|
-
rig ps
|
|
94
|
-
rig ps --json
|
|
95
|
-
rig ps --nodes
|
|
96
|
-
rig ps --nodes
|
|
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
|
|
97
684
|
```
|
|
98
685
|
|
|
99
|
-
Use `rig ps --nodes
|
|
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:
|
|
100
687
|
- session name
|
|
101
688
|
- runtime
|
|
102
689
|
- session/startup status
|
|
@@ -112,6 +699,9 @@ rig daemon status
|
|
|
112
699
|
rig config
|
|
113
700
|
rig preflight
|
|
114
701
|
rig doctor
|
|
702
|
+
rig env status <rig>
|
|
703
|
+
rig env logs <rig>
|
|
704
|
+
rig env down <rig>
|
|
115
705
|
```
|
|
116
706
|
|
|
117
707
|
## Transcript and Communication
|
|
@@ -135,9 +725,28 @@ rig send <session> "message" --json
|
|
|
135
725
|
|
|
136
726
|
Use `--verify` when you want delivery evidence. Use `--force` only when you intentionally want to bypass activity-risk checks.
|
|
137
727
|
|
|
728
|
+
As of v0.3.3 (slice 17), content beginning with `--` or `-` is safe:
|
|
729
|
+
`rig send <session> "content starting with -- or - is now safe"` delivers
|
|
730
|
+
literally. The daemon's `send_text` path carries an explicit `--`
|
|
731
|
+
end-of-options sentinel so tmux no longer parses dash-prefixed content
|
|
732
|
+
as its own flags. The CLI surface itself is unchanged. For multi-line
|
|
733
|
+
or large bodies handed off as durable work, use
|
|
734
|
+
`rig queue create --body-file <path>` (`-` for stdin) — that's the
|
|
735
|
+
queue-side surface, not `rig send`.
|
|
736
|
+
|
|
737
|
+
`--verify` delivery outcomes (v0.3.3+):
|
|
738
|
+
- `delivered` — text + Enter both succeeded and capture re-confirmed the body landed.
|
|
739
|
+
- `rendered-unconfirmed` — text + Enter both succeeded but capture could not re-confirm the body (TUI redraw race or scroll). The message landed; the post-send re-check could not prove it. Treat as landed-but-unconfirmable, NOT failure.
|
|
740
|
+
- `failed` — the send transport itself failed.
|
|
741
|
+
|
|
742
|
+
The legacy `Verified: yes/no` line is preserved verbatim (parser/test
|
|
743
|
+
compatibility). A new `Delivery: <outcome>` line carries the named outcome
|
|
744
|
+
above.
|
|
745
|
+
|
|
138
746
|
Observed operator nuance for `--verify`:
|
|
139
|
-
- `Sent to ...` + `Verified: yes` = strong positive delivery evidence.
|
|
140
|
-
- `Sent to ...` + `Verified: no` =
|
|
747
|
+
- `Sent to ...` + `Verified: yes` (`Delivery: delivered`) = strong positive delivery evidence.
|
|
748
|
+
- `Sent to ...` + `Verified: no` + `Delivery: rendered-unconfirmed` = the message landed; capture could not re-prove it. Don't blind-retry — check reply / `rig capture` / transcript before sending again.
|
|
749
|
+
- `Sent to ...` + `Verified: no` + `Delivery: failed` = send-transport failure.
|
|
141
750
|
- no `Sent to ...` line or a hard error = send failure.
|
|
142
751
|
|
|
143
752
|
When you get `Verified: no`, do not immediately retry blindly. First check one of:
|
|
@@ -156,13 +765,6 @@ rig capture --pod <name> --rig <name>
|
|
|
156
765
|
rig capture --rig <name> --json
|
|
157
766
|
```
|
|
158
767
|
|
|
159
|
-
Capture discipline:
|
|
160
|
-
- Default to bounded captures: `rig capture <session> --lines 80`.
|
|
161
|
-
- Use `--lines 120` when the latest activity is ambiguous.
|
|
162
|
-
- Use `--lines 200` or more only for explicit recovery/debug reconstruction, such as post-compaction restore, context-wall diagnosis, or a failed handoff.
|
|
163
|
-
- Prefer targeted `rig transcript <session> --tail ...`, `rig transcript <session> --grep ...`, queue files, or status commands over large pane captures.
|
|
164
|
-
- Do not use large captures as routine monitoring; they waste operator context and can hide the actual latest state in old scrollback.
|
|
165
|
-
|
|
166
768
|
### Broadcast
|
|
167
769
|
|
|
168
770
|
```bash
|
|
@@ -228,6 +830,9 @@ This is an evidence/context command. It is not a hidden second-LLM call.
|
|
|
228
830
|
rig up <source>
|
|
229
831
|
rig up <source> --plan
|
|
230
832
|
rig up <source> --yes
|
|
833
|
+
rig up <source> --cwd /path/to/project
|
|
834
|
+
rig up <source> --existing
|
|
835
|
+
rig up <source> --fresh <seat...>
|
|
231
836
|
rig up <source> --json
|
|
232
837
|
```
|
|
233
838
|
|
|
@@ -241,14 +846,22 @@ Bare names are special:
|
|
|
241
846
|
- if they do not match a library spec, `rig up` treats the name as an existing-rig restore/power-on target
|
|
242
847
|
- if both exist, `rig up` fails loudly on ambiguity
|
|
243
848
|
|
|
849
|
+
Resume-original-by-default (v0.3.4+):
|
|
850
|
+
- For an existing rig, `rig up <name>` resumes each seat from its original session/snapshot by default (operation A). Seats that successfully resume report `resumed`.
|
|
851
|
+
- `--fresh <seat...>` is the per-seat opt-in for deliberate fresh-prime (operation B). Named seats are reported as `fresh-primed`.
|
|
852
|
+
- `--existing` forces existing-rig restore semantics on a bare name, bypassing library-spec resolution. Useful when a rig name collides with a library spec name.
|
|
853
|
+
- Example: `rig up --existing my-rig --fresh dev-impl` — resume everything in `my-rig` except `dev-impl`, which is freshly primed.
|
|
854
|
+
- Seats with no resumable session land in `awaiting-decision` (zero-session honest state, NOT `failed`); see the five-term restore vocabulary in "Recovery and Resilience" below.
|
|
855
|
+
|
|
856
|
+
`--plan` (v0.3.4+):
|
|
857
|
+
- `rig up <source> --plan` produces a read-only restore plan preview. It surfaces per-seat resume/fresh-prime intent and any awaiting-decision seats without mutating state. Honest async timeout: a stuck plan reports the timeout rather than hanging silently.
|
|
858
|
+
|
|
244
859
|
Current behavior notes:
|
|
245
860
|
- `--target <root>` is only for `.rigbundle` / package installation. It does not change agent cwd.
|
|
861
|
+
- `rig up --cwd` is shipped. `rig up --cwd <path>` sends a per-run cwd override for all members in that launch.
|
|
246
862
|
- `local:` `agent_ref` values resolve relative to the rig spec directory, not your shell cwd.
|
|
247
863
|
- if you copy a built-in spec elsewhere, keep its `agents/` tree beside the YAML or rewrite those refs to `path:/absolute/path`
|
|
248
|
-
- `rig
|
|
249
|
-
- Source at OpenRig `6af2754` adds member-level `starter_ref` for named Agent
|
|
250
|
-
Starter registry entries. Active host availability still depends on the
|
|
251
|
-
running daemon; `rig-real-17812d5` does not resolve `starter_ref`.
|
|
864
|
+
- `rig specs add <directory>` installs a full spec tree when the directory contains `rig.yaml` or `agent.yaml`.
|
|
252
865
|
|
|
253
866
|
Legacy/spec-specific surfaces still ship too:
|
|
254
867
|
|
|
@@ -257,27 +870,6 @@ rig bootstrap <spec> [--plan] [--yes] [--json]
|
|
|
257
870
|
rig requirements <spec> [--json]
|
|
258
871
|
```
|
|
259
872
|
|
|
260
|
-
### Agent Starter `starter_ref`
|
|
261
|
-
|
|
262
|
-
Source `>= 6af2754` lets a RigSpec member set:
|
|
263
|
-
|
|
264
|
-
```yaml
|
|
265
|
-
starter_ref:
|
|
266
|
-
name: my-team-starter--claude-code
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
The daemon resolves the named entry from the Agent Starter registry, applies the
|
|
270
|
-
credential scan, and prepends the starter content as `guidance_merge` on fresh
|
|
271
|
-
launch. It supports Claude and Codex members, rejects terminal members, rejects
|
|
272
|
-
`starter_ref + session_source.mode: fork`, and allows
|
|
273
|
-
`starter_ref + session_source.mode: rebuild`.
|
|
274
|
-
|
|
275
|
-
Runtime-truth rule: verify active daemon/runtime provenance before depending on
|
|
276
|
-
this. If the live daemon is still `rig-real-17812d5`, `starter_ref` is source
|
|
277
|
-
truth only and should not be used against the active control plane. After a
|
|
278
|
-
runtime at or after `6af2754` is active, `rig up --plan --json` should expose a
|
|
279
|
-
`resolve_starter` stage with `detail.starterContent`.
|
|
280
|
-
|
|
281
873
|
### Tear a rig down
|
|
282
874
|
|
|
283
875
|
```bash
|
|
@@ -288,12 +880,44 @@ rig down <rig> --force
|
|
|
288
880
|
rig down <rig> --json
|
|
289
881
|
```
|
|
290
882
|
|
|
291
|
-
`rig down` accepts a rig name or id (symmetric with `rig up`); the earlier
|
|
292
|
-
name-to-404 caveat is resolved in v0.3.3. An ambiguous name matching more than
|
|
293
|
-
one active rig is refused with the matching ids; re-run with `rig down <id>`.
|
|
294
|
-
|
|
295
883
|
If `--snapshot` succeeds, human output includes the restore hint.
|
|
296
884
|
|
|
885
|
+
### Archive a stopped rig (recoverable) — v0.3.3+
|
|
886
|
+
|
|
887
|
+
```bash
|
|
888
|
+
rig archive <rig> [--json]
|
|
889
|
+
rig unarchive <rig> [--json]
|
|
890
|
+
```
|
|
891
|
+
|
|
892
|
+
`rig archive` marks a stopped rig as archived (sets `archivedAt`) without
|
|
893
|
+
discarding it. The rig is preserved for later restoration via `rig unarchive`,
|
|
894
|
+
which clears `archivedAt` and returns the rig to the active set.
|
|
895
|
+
|
|
896
|
+
Archive vs delete:
|
|
897
|
+
- `rig down --delete` — permanent removal; not recoverable.
|
|
898
|
+
- `rig archive` — recoverable; the rig is hidden from the default active view but its record + snapshots are preserved.
|
|
899
|
+
|
|
900
|
+
Visibility in `rig ps`:
|
|
901
|
+
- `rig ps` — active rigs only (default).
|
|
902
|
+
- `rig ps --include-archived` — includes archived rigs, marked with `*`.
|
|
903
|
+
|
|
904
|
+
SSE events `rig.archived` / `rig.unarchived` drive Project / dashboard updates;
|
|
905
|
+
consumers that depend on the rig list should subscribe rather than poll.
|
|
906
|
+
|
|
907
|
+
### Environment services
|
|
908
|
+
|
|
909
|
+
```bash
|
|
910
|
+
rig env status <rig>
|
|
911
|
+
rig env logs <rig> [service]
|
|
912
|
+
rig env down <rig>
|
|
913
|
+
```
|
|
914
|
+
|
|
915
|
+
Use these for service-backed rigs and agent-managed apps.
|
|
916
|
+
For `secrets-manager`, these are the fastest CLI surfaces for:
|
|
917
|
+
- confirming whether Vault is healthy
|
|
918
|
+
- reading Vault container logs
|
|
919
|
+
- stopping the Vault env without tearing down the specialist session first
|
|
920
|
+
|
|
297
921
|
### Release management without killing live claimed sessions
|
|
298
922
|
|
|
299
923
|
```bash
|
|
@@ -386,7 +1010,7 @@ rig whoami --json
|
|
|
386
1010
|
|
|
387
1011
|
Notes:
|
|
388
1012
|
- for tmux-backed self-attach, `rig whoami --json` is the right verification
|
|
389
|
-
- for raw/external self-attach, `rig ps --nodes -
|
|
1013
|
+
- for raw/external self-attach, `rig ps --nodes --rig <rigId-or-name> --json` is currently the more reliable verification surface
|
|
390
1014
|
- if the current shell is outside tmux, pass `--display-name <name>` when you want a stable human session label recorded
|
|
391
1015
|
|
|
392
1016
|
### Adopt a topology and bind live sessions
|
|
@@ -404,8 +1028,8 @@ A bindings file is the durable map from authored logical IDs to live sessions. S
|
|
|
404
1028
|
|
|
405
1029
|
```yaml
|
|
406
1030
|
bindings:
|
|
407
|
-
dev1.impl2: dev1
|
|
408
|
-
dev1.qa: dev1
|
|
1031
|
+
dev1.impl2: dev1.impl2@rigged-buildout
|
|
1032
|
+
dev1.qa: dev1.qa@rigged-buildout
|
|
409
1033
|
```
|
|
410
1034
|
|
|
411
1035
|
Spec + bindings is the proven recovery pair for adopted rigs.
|
|
@@ -453,13 +1077,13 @@ Verification loop:
|
|
|
453
1077
|
```bash
|
|
454
1078
|
rig discover --json
|
|
455
1079
|
rig adopt <fragment.yaml> --bindings-file <bindings.yaml> --target-rig <rigId>
|
|
456
|
-
rig ps --nodes -
|
|
1080
|
+
rig ps --nodes --rig <target-rig-name> --json
|
|
457
1081
|
rig export <rigId> -o rig.yaml
|
|
458
1082
|
```
|
|
459
1083
|
|
|
460
1084
|
Success looks like:
|
|
461
1085
|
- the new sessions stop appearing in `rig discover`
|
|
462
|
-
- the new logical IDs appear in `rig ps --nodes -
|
|
1086
|
+
- the new logical IDs appear in `rig ps --nodes --rig <target-rig-name> --json`
|
|
463
1087
|
- `rig export` includes the new pod
|
|
464
1088
|
|
|
465
1089
|
### Mixed-origin rigs are allowed
|
|
@@ -487,11 +1111,39 @@ This lets ordinary agents ask the manager for OpenRig help instead of every agen
|
|
|
487
1111
|
```bash
|
|
488
1112
|
rig expand <rig-id> <pod-fragment-path> [--rig-root <path>] [--json]
|
|
489
1113
|
rig launch <rigId> <nodeRef> [--json]
|
|
1114
|
+
rig launch <rigId> --seats <a,b,c> [--hold-reason <text>] [--json]
|
|
490
1115
|
rig remove <rigId> <nodeRef> [--json]
|
|
491
1116
|
rig shrink <rigId> <podRef> [--json]
|
|
492
1117
|
rig unclaim <sessionRef> [--json]
|
|
493
1118
|
```
|
|
494
1119
|
|
|
1120
|
+
Node-granular managed partial restore (v0.3.4+):
|
|
1121
|
+
- `rig launch <rigId> <nodeRef>` relaunches a single seat by logical id or node id through orchestration.
|
|
1122
|
+
- `rig launch <rigId> --seats <a,b,c>` relaunches a comma-separated subset of seats.
|
|
1123
|
+
- `--hold-reason <text>` records a reason for holding non-target seats during the partial launch.
|
|
1124
|
+
- This is a SUPPORTED managed path. The prior `pod_aware_launch_unsupported` dead-end is retired; pod-aware narrow launch now goes through this surface rather than ad-hoc rebuilds.
|
|
1125
|
+
|
|
1126
|
+
### Add a member to an existing pod — v0.3.3+
|
|
1127
|
+
|
|
1128
|
+
```bash
|
|
1129
|
+
rig add <rig> <member-fragment-path> [--json]
|
|
1130
|
+
rig add-member <rig> <member-fragment-path> [--json]
|
|
1131
|
+
```
|
|
1132
|
+
|
|
1133
|
+
`rig add` (alias `rig add-member`) is the top-level verb for the `add_member`
|
|
1134
|
+
converge op. It adds a single member to an existing pod from a YAML/JSON member
|
|
1135
|
+
fragment file. The fragment must declare the target pod; the daemon resolves
|
|
1136
|
+
the pod by that declared identity, validates the member, runs preflight, and
|
|
1137
|
+
launches the member in place.
|
|
1138
|
+
|
|
1139
|
+
HTTP outcomes:
|
|
1140
|
+
- `201` — member added; per-node launch state included in the response.
|
|
1141
|
+
- `400` — `validation_failed` or `preflight_failed` (the fragment or its launch posture is rejected before any state change).
|
|
1142
|
+
- `409` — `member_conflict` (a member with that identity already exists in the pod).
|
|
1143
|
+
|
|
1144
|
+
Use `rig add` when you want additive growth inside a pod without re-running
|
|
1145
|
+
the full `rig expand` pod-fragment path or rebuilding the rig.
|
|
1146
|
+
|
|
495
1147
|
## Specs and Validation
|
|
496
1148
|
|
|
497
1149
|
### Validate specs
|
|
@@ -514,8 +1166,6 @@ rig specs remove <name-or-id> [--json]
|
|
|
514
1166
|
rig specs rename <name-or-id> <new-name> [--json]
|
|
515
1167
|
```
|
|
516
1168
|
|
|
517
|
-
`rig specs add <directory>` installs a full spec tree when the directory contains `rig.yaml` or `agent.yaml`.
|
|
518
|
-
|
|
519
1169
|
## MCP
|
|
520
1170
|
|
|
521
1171
|
```bash
|
|
@@ -548,7 +1198,7 @@ When the CLI behaves strangely, use the smallest truthful check first:
|
|
|
548
1198
|
```bash
|
|
549
1199
|
rig whoami --json
|
|
550
1200
|
rig daemon status
|
|
551
|
-
rig ps --nodes
|
|
1201
|
+
rig ps --nodes
|
|
552
1202
|
```
|
|
553
1203
|
|
|
554
1204
|
Specific operator rules:
|
|
@@ -570,7 +1220,7 @@ Do not mass-kill:
|
|
|
570
1220
|
- `codex ...`
|
|
571
1221
|
- `claude ...`
|
|
572
1222
|
|
|
573
|
-
For deeper host/runtime triage, use the companion `openrig-operator` skill.
|
|
1223
|
+
For deeper host/runtime triage, use the companion `openrig-operator` skill if it is available in your seat.
|
|
574
1224
|
|
|
575
1225
|
## JSON and Error Posture
|
|
576
1226
|
|
|
@@ -584,7 +1234,7 @@ Design assumptions that hold in the shipped CLI:
|
|
|
584
1234
|
|
|
585
1235
|
1. `rig whoami --json`
|
|
586
1236
|
2. `rig transcript <your-session> --tail 100`
|
|
587
|
-
3. `rig ps --nodes
|
|
1237
|
+
3. `rig ps --nodes`
|
|
588
1238
|
4. `rig chatroom history <rig> --limit 50`
|
|
589
1239
|
|
|
590
1240
|
## Commands That Do Not Exist
|
|
@@ -593,5 +1243,3 @@ Do not assume these exist unless the shipped help starts listing them:
|
|
|
593
1243
|
- `rig claim`
|
|
594
1244
|
- `rig blame`
|
|
595
1245
|
- `rig replay`
|
|
596
|
-
|
|
597
|
-
`rig env` IS shipped (was previously listed as not-present). It exposes `status`, `logs`, and `down` for service-backed rigs and managed apps; verify with `rig env --help`.
|