@openrig/cli 0.4.6 → 0.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/guidance/CULTURE-default.md +19 -0
- package/daemon/assets/guidance/openrig-start.md +20 -5
- package/daemon/assets/plugins/openrig-core/README.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +120 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -6
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +11 -72
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/delegating-work/SKILL.md +43 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +36 -22
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +108 -0
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +7 -13
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +88 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +189 -105
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +26 -9
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +11 -9
- package/daemon/assets/plugins/openrig-core/skills/session-compaction-and-restore/SKILL.md +162 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +165 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +0 -9
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +13 -46
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +8 -2
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux-transport.js +8 -1
- package/daemon/dist/adapters/cmux-transport.js.map +1 -1
- package/daemon/dist/adapters/cmux.d.ts +9 -0
- package/daemon/dist/adapters/cmux.d.ts.map +1 -1
- package/daemon/dist/adapters/cmux.js +21 -0
- package/daemon/dist/adapters/cmux.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +4 -2
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +30 -9
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts +1 -1
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-resume.js +7 -2
- package/daemon/dist/adapters/pi-resume.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +4 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +23 -0
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -0
- package/daemon/dist/adapters/yolo-mode.js +49 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -0
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/migrations/055_node_permission_policy.d.ts +13 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.js +17 -0
- package/daemon/dist/db/migrations/055_node_permission_policy.js.map +1 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts +13 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.d.ts.map +1 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.js +17 -0
- package/daemon/dist/db/migrations/056_rig_permission_policy.js.map +1 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts +19 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.js +26 -0
- package/daemon/dist/db/migrations/057_node_policy_provenance.js.map +1 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts +15 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.js +22 -0
- package/daemon/dist/db/migrations/058_rig_policy_provenance.js.map +1 -0
- package/daemon/dist/domain/builtin-policy-reference.d.ts +13 -0
- package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -0
- package/daemon/dist/domain/builtin-policy-reference.js +58 -0
- package/daemon/dist/domain/builtin-policy-reference.js.map +1 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +19 -3
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/cmux-layout-service.d.ts +36 -0
- package/daemon/dist/domain/cmux-layout-service.d.ts.map +1 -1
- package/daemon/dist/domain/cmux-layout-service.js +100 -28
- package/daemon/dist/domain/cmux-layout-service.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts +2 -0
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +14 -0
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/feed/attention-aggregator.js +1 -1
- package/daemon/dist/domain/feed/attention-aggregator.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +12 -10
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-writer.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-writer.js +3 -2
- package/daemon/dist/domain/hosts/hosts-registry-writer.js.map +1 -1
- package/daemon/dist/domain/hosts/read-through.js +1 -1
- package/daemon/dist/domain/hosts/read-through.js.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/remote-daemon-http.js +8 -5
- package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +11 -4
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +3 -12
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +57 -15
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts +89 -0
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-ref.js +171 -0
- package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts +34 -0
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -0
- package/daemon/dist/domain/permission-policy/policy-spec.js +106 -0
- package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +2 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +23 -0
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/daemon/dist/domain/projection-lane.d.ts +7 -0
- package/daemon/dist/domain/projection-lane.d.ts.map +1 -0
- package/daemon/dist/domain/projection-lane.js +28 -0
- package/daemon/dist/domain/projection-lane.js.map +1 -0
- package/daemon/dist/domain/ps-projection.d.ts +19 -0
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +46 -6
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +14 -10
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +33 -12
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +14 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +90 -6
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +77 -4
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +152 -16
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/review/fleet-compose.js +1 -1
- package/daemon/dist/domain/review/fleet-compose.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +92 -67
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/review/proof-io.d.ts +2 -0
- package/daemon/dist/domain/review/proof-io.d.ts.map +1 -0
- package/daemon/dist/domain/review/proof-io.js +38 -0
- package/daemon/dist/domain/review/proof-io.js.map +1 -0
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +10 -1
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +45 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +75 -1
- 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 +6 -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 +8 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +18 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +202 -10
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +11 -0
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +35 -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 +25 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +5 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +8 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +57 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +38 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.js +98 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -0
- package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.js +22 -1
- package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +57 -20
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +7 -1
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +17 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +44 -0
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/slices/qitem-membership.d.ts +17 -0
- package/daemon/dist/domain/slices/qitem-membership.d.ts.map +1 -0
- package/daemon/dist/domain/slices/qitem-membership.js +60 -0
- package/daemon/dist/domain/slices/qitem-membership.js.map +1 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts +5 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +157 -11
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.d.ts +86 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +422 -45
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +9 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +71 -3
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +4 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +2 -0
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts +12 -11
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js +61 -28
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +27 -10
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +74 -33
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/transcript-capture.d.ts +3 -0
- package/daemon/dist/domain/transcript-capture.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-capture.js +28 -0
- package/daemon/dist/domain/transcript-capture.js.map +1 -1
- package/daemon/dist/domain/transcript-store.d.ts +10 -0
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +26 -0
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +21 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +9 -4
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +2 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/mission-control.js +1 -1
- package/daemon/dist/routes/mission-control.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts +7 -0
- package/daemon/dist/routes/missions.d.ts.map +1 -1
- package/daemon/dist/routes/missions.js +6 -1
- package/daemon/dist/routes/missions.js.map +1 -1
- package/daemon/dist/routes/ps.d.ts.map +1 -1
- package/daemon/dist/routes/ps.js +5 -1
- package/daemon/dist/routes/ps.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +9 -2
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +29 -10
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +141 -135
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/sessions.js +2 -1
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +48 -38
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/transcripts.d.ts.map +1 -1
- package/daemon/dist/routes/transcripts.js +62 -33
- package/daemon/dist/routes/transcripts.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +42 -12
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-startup-guide.md +1 -0
- package/daemon/docs/reference/rig-spec.md +19 -0
- package/daemon/policies/builtin/locked.policy.md +24 -0
- package/daemon/policies/builtin/open.policy.md +24 -0
- package/daemon/policies/builtin/standard.policy.md +25 -0
- package/daemon/policies/builtin/yolo.policy.md +20 -0
- package/daemon/policies/examples/my-cautious-dev.policy.md +40 -0
- package/daemon/specs/agents/apps/vault-specialist/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/builder/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/lead/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/planner/agent.yaml +2 -1
- package/daemon/specs/agents/conveyor/reviewer/agent.yaml +2 -1
- package/daemon/specs/agents/design/product-designer/agent.yaml +12 -2
- package/daemon/specs/agents/development/implementer/agent.yaml +12 -2
- package/daemon/specs/agents/development/qa/agent.yaml +12 -2
- package/daemon/specs/agents/development/qa/guidance/role.md +1 -0
- package/daemon/specs/agents/factory-rsi/dogfood/agent.yaml +2 -1
- package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +2 -1
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +12 -2
- package/daemon/specs/agents/product-management/pm/agent.yaml +1 -2
- package/daemon/specs/agents/research/analyst/agent.yaml +2 -1
- package/daemon/specs/agents/research/synthesizer/agent.yaml +2 -1
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +12 -2
- package/daemon/specs/agents/shared/agent.yaml +5 -8
- package/daemon/specs/agents/shared/runtime/claude-settings.fragment.json +1 -8
- package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +132 -0
- package/daemon/{assets/plugins/openrig-core/skills → specs/agents/shared/skills/core}/agent-startup-and-context-ingestion/SKILL.md +27 -19
- package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +264 -0
- package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +190 -0
- package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +104 -0
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +23 -8
- package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +0 -5
- package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +1 -6
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +460 -0
- package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
- package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +22 -11
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +160 -0
- package/daemon/specs/agents/shared/skills/core/specification-system/SKILL.md +103 -0
- package/daemon/specs/agents/shared/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +125 -0
- package/daemon/specs/agents/shared/skills/process/brainstorming/OPENRIG.md +3 -3
- package/daemon/specs/agents/shared/skills/process/executing-plans/OPENRIG.md +1 -1
- package/daemon/specs/agents/shared/skills/process/frontend-design/SKILL.md +6 -3
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/process/using-superpowers/OPENRIG.md +1 -1
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +13 -2
- package/daemon/specs/agents/shared/skills/process/writing-plans/OPENRIG.md +1 -1
- package/daemon/specs/rigs/focused/pm-team/CULTURE.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/agent.yaml +2 -2
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +5 -4
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/agent.yaml +2 -2
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -5
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/agent.yaml +2 -2
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +3 -4
- package/daemon/specs/rigs/preview/product-team/CULTURE.md +1 -1
- package/dist/bin-wrapper.d.ts.map +1 -1
- package/dist/bin-wrapper.js +3 -1
- package/dist/bin-wrapper.js.map +1 -1
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts +33 -0
- package/dist/cli-error.d.ts.map +1 -0
- package/dist/cli-error.js +94 -0
- package/dist/cli-error.js.map +1 -0
- package/dist/commands/config-init-workspace.js +1 -1
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +17 -11
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +24 -10
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/proof.js +1 -1
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +16 -2
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +103 -24
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/rig.d.ts.map +1 -1
- package/dist/commands/rig.js +122 -0
- package/dist/commands/rig.js.map +1 -1
- package/dist/commands/scope.js +2 -2
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +118 -24
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +14 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +131 -8
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/slack.d.ts +37 -0
- package/dist/commands/slack.d.ts.map +1 -0
- package/dist/commands/slack.js +274 -0
- package/dist/commands/slack.js.map +1 -0
- package/dist/commands/ui.d.ts +1 -0
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +2 -0
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/up.js +1 -1
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +3 -3
- package/dist/commands/whoami.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +45 -14
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +6 -1
- package/dist/host-registry.d.ts.map +1 -1
- package/dist/host-registry.js +15 -6
- package/dist/host-registry.js.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.d.ts +38 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -0
- package/dist/lib/scope/scaffold-placeholder.js +98 -0
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -0
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +57 -20
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
- package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
- package/dist/lib/scope-templates/bug-fix.md +1 -1
- package/dist/lib/scope-templates/implementation-prd.md +1 -1
- package/dist/lib/scope-templates/mission-notes.md +7 -2
- package/dist/lib/scope-templates/mission-placeholder.md +1 -1
- package/dist/lib/scope-templates/mission-progress.md +1 -1
- package/dist/lib/scope-templates/mission-release.md +1 -1
- package/dist/lib/scope-templates/placeholder.md +1 -1
- package/dist/lib/scope-templates/proof.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +1 -1
- package/dist/lib/scope-templates/research.md +1 -1
- package/dist/lib/scope-templates/slice-progress.md +1 -1
- package/dist/remote-host-ops.d.ts.map +1 -1
- package/dist/remote-host-ops.js +2 -2
- package/dist/remote-host-ops.js.map +1 -1
- package/dist/slack/config.d.ts +41 -0
- package/dist/slack/config.d.ts.map +1 -0
- package/dist/slack/config.js +60 -0
- package/dist/slack/config.js.map +1 -0
- package/dist/slack/inbound.d.ts +75 -0
- package/dist/slack/inbound.d.ts.map +1 -0
- package/dist/slack/inbound.js +133 -0
- package/dist/slack/inbound.js.map +1 -0
- package/dist/slack/message.d.ts +26 -0
- package/dist/slack/message.d.ts.map +1 -0
- package/dist/slack/message.js +60 -0
- package/dist/slack/message.js.map +1 -0
- package/dist/slack/outbound.d.ts +39 -0
- package/dist/slack/outbound.d.ts.map +1 -0
- package/dist/slack/outbound.js +52 -0
- package/dist/slack/outbound.js.map +1 -0
- package/dist/slack/queue-bridge.d.ts +56 -0
- package/dist/slack/queue-bridge.d.ts.map +1 -0
- package/dist/slack/queue-bridge.js +114 -0
- package/dist/slack/queue-bridge.js.map +1 -0
- package/dist/slack/secrets.d.ts +21 -0
- package/dist/slack/secrets.d.ts.map +1 -0
- package/dist/slack/secrets.js +73 -0
- package/dist/slack/secrets.js.map +1 -0
- package/dist/slack/slack-api.d.ts +49 -0
- package/dist/slack/slack-api.d.ts.map +1 -0
- package/dist/slack/slack-api.js +110 -0
- package/dist/slack/slack-api.js.map +1 -0
- package/dist/slack/state-store.d.ts +62 -0
- package/dist/slack/state-store.d.ts.map +1 -0
- package/dist/slack/state-store.js +132 -0
- package/dist/slack/state-store.js.map +1 -0
- package/package.json +1 -1
- package/ui/dist/assets/{index-zrFqS7gL.js → index-DkNi0RT8.js} +184 -184
- package/ui/dist/assets/index-N-SdPj-I.css +32 -0
- package/ui/dist/index.html +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-architect/SKILL.md +0 -361
- package/daemon/assets/plugins/openrig-core/skills/openrig-cmux/SKILL.md +0 -86
- package/daemon/assets/plugins/openrig-core/skills/openrig-herdr/SKILL.md +0 -158
- package/daemon/assets/plugins/openrig-core/skills/openrig-operator/SKILL.md +0 -222
- package/daemon/docs/reference/product-factory-vps-runbook.md +0 -132
- package/daemon/specs/agents/shared/skills/core/mission-slice-sop/SKILL.md +0 -113
- package/daemon/specs/agents/shared/skills/core/openrig-installer/SKILL.md +0 -142
- package/daemon/specs/agents/shared/skills/core/openrig-operator/SKILL.md +0 -110
- package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +0 -1245
- package/daemon/specs/agents/shared/skills/core/openrig-user-settings/SKILL.md +0 -153
- package/daemon/specs/agents/shared/skills/pm/backlog-capture/SKILL.md +0 -43
- package/daemon/specs/agents/shared/skills/pm/context-builder/SKILL.md +0 -87
- package/daemon/specs/agents/shared/skills/pm/exec-summary/SKILL.md +0 -84
- package/daemon/specs/agents/shared/skills/pm/office-hours/SKILL.md +0 -129
- package/daemon/specs/agents/shared/skills/pm/plan-review/SKILL.md +0 -98
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +0 -113
- package/daemon/specs/agents/shared/skills/pm/ui-mockup/SKILL.md +0 -76
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +0 -148
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +0 -266
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +0 -210
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/CREATION-LOG.md +0 -119
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-academic.md +0 -14
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-1.md +0 -58
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-2.md +0 -68
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/test-pressure-3.md +0 -69
- package/ui/dist/assets/index-CFqxa0zW.css +0 -32
|
@@ -12,6 +12,22 @@ This is not the config-layer or builder guide. Use the substrate control-plane g
|
|
|
12
12
|
and experimental overlays. Use the OpenRig builder guidance when changing OpenRig behavior,
|
|
13
13
|
doctrine, or release posture.
|
|
14
14
|
|
|
15
|
+
|
|
16
|
+
## Coordination trust boundary
|
|
17
|
+
|
|
18
|
+
Coordinate as openly as the trust boundary you actually control allows. Within a set of machines you
|
|
19
|
+
own that already trust each other — they can reach each other's daemon URLs and the daemon itself
|
|
20
|
+
requires no authentication — direct `rig send`, `rig capture`, and `rig queue` should just work.
|
|
21
|
+
Don't invent bearer placeholders, allowlists, trust handshakes, or guest-reach restrictions the
|
|
22
|
+
environment doesn't require.
|
|
23
|
+
|
|
24
|
+
Do not add or defend a restriction without naming the protected asset, the actual adversary, the
|
|
25
|
+
blocked attack path, and the concrete consequence. Missing capability is not protection — repair the
|
|
26
|
+
route, registration, runtime posture, or product defect directly. Arbitrary boundaries create
|
|
27
|
+
constraint-induced circumvention: under goal pressure, agents build shadow transports, alternate
|
|
28
|
+
credentials, and weaker proof instead of the direct authorized path. Keep only explicitly stated
|
|
29
|
+
external or irreversible boundaries — public push / PR / publish, and destruction of canonical data.
|
|
30
|
+
|
|
15
31
|
## Coordination primitives — when to use which
|
|
16
32
|
|
|
17
33
|
Three coordination surfaces, used together for forward-momentum work. Internalize this
|
|
@@ -28,7 +44,7 @@ the receipt and move on.
|
|
|
28
44
|
Example:
|
|
29
45
|
|
|
30
46
|
```bash
|
|
31
|
-
rig send
|
|
47
|
+
rig send guard@your-rig "Heads up — filing per-commit handoff on the rig-up paper-cut fix at tip 6b8673b6." --verify
|
|
32
48
|
```
|
|
33
49
|
|
|
34
50
|
### `rig queue create --source <X> --destination <Y> --tags <...> --body "<...>"` — durable work item
|
|
@@ -39,18 +55,19 @@ restarts. Tracked in the daemon SQLite schema. Surfaces in Project / queue views
|
|
|
39
55
|
+ in the destination seat's inbox. Tag with mission / slice / gate / checkpoint
|
|
40
56
|
so future-you (and any peer) can find it.
|
|
41
57
|
|
|
42
|
-
Body discipline: substantive bodies go through
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
Body discipline: substantive bodies go through **`--body-file <path>`** (or `-` for stdin) — the
|
|
59
|
+
purpose-built, corruption-safe surface (it kills the backtick-shell-corruption class for multi-line
|
|
60
|
+
bodies). Do NOT inline a backtick-heavy or multi-line body via `--body`: `rig queue create` body
|
|
61
|
+
parsing breaks on unescaped backticks and rejects flag-like tokens.
|
|
45
62
|
|
|
46
63
|
Example:
|
|
47
64
|
|
|
48
65
|
```bash
|
|
49
66
|
rig queue create \
|
|
50
|
-
--source
|
|
51
|
-
--destination
|
|
52
|
-
--tags "mission:
|
|
53
|
-
--body
|
|
67
|
+
--source driver-2@your-rig \
|
|
68
|
+
--destination redo-guard-2@your-rig \
|
|
69
|
+
--tags "mission:release,slice:rig-up-paper-cut-fix,gate:guard,handoff:per-commit,checkpoint:bug-1-bonus" \
|
|
70
|
+
--body-file /tmp/per-commit-body.txt
|
|
54
71
|
```
|
|
55
72
|
|
|
56
73
|
### `rig queue handoff <qitem-id> --to <next> ...` — hot-potato handoff
|
|
@@ -64,8 +81,8 @@ Example:
|
|
|
64
81
|
|
|
65
82
|
```bash
|
|
66
83
|
rig queue handoff qitem-20260601012431-d78aa805 \
|
|
67
|
-
--to qa@
|
|
68
|
-
--tags "mission:
|
|
84
|
+
--to velocity-qa@your-rig \
|
|
85
|
+
--tags "mission:release,slice:rig-up-paper-cut-fix,gate:qa,handoff:adversarial-dogfood"
|
|
69
86
|
```
|
|
70
87
|
|
|
71
88
|
### §1b doctrine — turn ends by passing the ball
|
|
@@ -99,9 +116,9 @@ process does not require.
|
|
|
99
116
|
recovery-only fallback; qitems written via `rigx queue` are invisible to
|
|
100
117
|
daemon-backed reads and break fleet-wide routing discipline.
|
|
101
118
|
- Inlining a multi-line / backtick-heavy body into `rig queue create --body`
|
|
102
|
-
→
|
|
103
|
-
|
|
104
|
-
|
|
119
|
+
→ use `--body-file /tmp/<descriptive-name>.txt` (or `-` for stdin), the
|
|
120
|
+
corruption-safe surface. The body parser does not tolerate raw backticks or
|
|
121
|
+
flag-like tokens inline.
|
|
105
122
|
|
|
106
123
|
## Runtime-Gated Coordination Primitives
|
|
107
124
|
|
|
@@ -267,11 +284,30 @@ workflow spec.
|
|
|
267
284
|
workflow instance + entry-step qitem. Inspect existing surface state with:
|
|
268
285
|
|
|
269
286
|
```bash
|
|
270
|
-
rig workflow specs --json
|
|
271
|
-
rig workflow list --json
|
|
272
|
-
rig workflow show <instanceId> --json
|
|
287
|
+
rig workflow specs --json # list registered specs (built-in + operator-authored)
|
|
288
|
+
rig workflow list --json # list active workflow instances
|
|
289
|
+
rig workflow show <instanceId> --json # inspect one instance
|
|
290
|
+
rig workflow project <instanceId> # ADVANCE an instance — projects the next-step packet
|
|
291
|
+
rig workflow continue <instanceId> # read-only inspector of an instance (does NOT advance it)
|
|
273
292
|
```
|
|
274
293
|
|
|
294
|
+
*(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`.)*
|
|
295
|
+
|
|
296
|
+
## Permission policy — pick one at setup (onboarding)
|
|
297
|
+
|
|
298
|
+
OpenRig sets only a **minimal usability floor** on your harness permissions and otherwise stays out of the way — then it ships **recommended policies you opt into**. It never bakes a permission policy for you. On install / onboarding this is a required choice, presented as a top-level pick:
|
|
299
|
+
|
|
300
|
+
- **POLICY MODE** — pick a built-in policy and have it applied:
|
|
301
|
+
- **Locked** — deny-by-default whitelist; untrusted rigs/work.
|
|
302
|
+
- **Standard** ⭐ (recommended) — the normal software-factory posture; dev incl. push + PR, destructive actions ask.
|
|
303
|
+
- **Open** — allow-by-default; everything except explicitly-destructive, which ask.
|
|
304
|
+
|
|
305
|
+
The built-in definitions ship as read-only policy spec files (Locked / Standard / Open); applying your pick is the job of the **`applying-a-permission-policy`** skill — it translates the chosen spec into your live harness config (Claude `settings.json` / Codex `config.toml`), interactively, showing the diff before it writes.
|
|
306
|
+
- **YOLO MODE** — done with permissions, just want it to work: OpenRig boots every seat with the harness full-bypass launch flag. No config policy is applied (the bypass overrides it). This is a deterministic OpenRig setting, not a skill.
|
|
307
|
+
- **No choice = the floor** — the minimal usability baseline (Claude `acceptEdits` / Codex workspace-only / Pi `--no-approve`), one consistent minimum, nothing more.
|
|
308
|
+
|
|
309
|
+
The floor and YOLO are **launch flags** OpenRig sets deterministically; the Locked / Standard / Open policies are **config-file** policies the skill applies (agent-driven, because harness config formats drift). A rig **carries** its chosen policy on its spec and boots with it — see Lifecycle → Bring a rig up. To (re)apply or change a policy, open **`applying-a-permission-policy`**.
|
|
310
|
+
|
|
275
311
|
## v0.3.x Starter, Workspace, And Plugin Surfaces
|
|
276
312
|
|
|
277
313
|
OpenRig v0.3.0 adds `rig agent-image`, `rig context-pack`, `rig workspace`, and
|
|
@@ -388,7 +424,7 @@ reconcile:
|
|
|
388
424
|
|
|
389
425
|
```bash
|
|
390
426
|
rig seat clear-attention <session>
|
|
391
|
-
rig seat clear-attention <session> --reason "operator attested:
|
|
427
|
+
rig seat clear-attention <session> --reason "operator attested: the operator re-authed, confirmed live"
|
|
392
428
|
rig seat clear-attention <session> --json
|
|
393
429
|
```
|
|
394
430
|
|
|
@@ -435,47 +471,27 @@ honestly and the UI exposes a one-click open-missing affordance.
|
|
|
435
471
|
|
|
436
472
|
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
473
|
|
|
438
|
-
### `rig ps` —
|
|
474
|
+
### `rig ps` — current-rig default + compact-by-default + `-A`/`--all-rigs` + `--full`
|
|
439
475
|
|
|
440
476
|
```bash
|
|
441
|
-
rig ps #
|
|
442
|
-
rig ps --json #
|
|
443
|
-
rig ps
|
|
444
|
-
rig ps --
|
|
445
|
-
rig ps --nodes
|
|
446
|
-
rig ps --nodes -A #
|
|
447
|
-
rig ps --nodes
|
|
477
|
+
rig ps # CURRENT-RIG, all-states, compact rig summaries (default)
|
|
478
|
+
rig ps --json # compact JSON array (TL;DR per node: session, rig, activity, assigned/pending, resumeTokenPresent boolean)
|
|
479
|
+
rig ps -A # all-rigs (fleet breadth; was the v0.3.4 default)
|
|
480
|
+
rig ps --rig <name> # explicit-rig (overrides current-rig default)
|
|
481
|
+
rig ps --nodes # compact node inventory (current rig)
|
|
482
|
+
rig ps --nodes -A # cross-rig node inventory (was v0.3.4 default)
|
|
483
|
+
rig ps --nodes --full # complete record (the v0.3.4 per-node default shape; resumeToken VALUE retained here for downstream consumers)
|
|
448
484
|
rig ps --nodes --session <sess> # narrow to one canonical session
|
|
449
|
-
rig ps --include-archived # archived history as rows (otherwise ONE count line)
|
|
450
485
|
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
486
|
```
|
|
452
487
|
|
|
453
|
-
**v0.4.
|
|
454
|
-
- **
|
|
455
|
-
-
|
|
456
|
-
- **
|
|
457
|
-
- **
|
|
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
|
-
```
|
|
488
|
+
**v0.4.0 breadth + projection changes**:
|
|
489
|
+
- **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.
|
|
490
|
+
- **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.
|
|
491
|
+
- **All-states stays default** (different from `rig queue list` which defaults to active-only) — for `ps`, non-running states ARE often the actionable signal.
|
|
492
|
+
- **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).
|
|
471
493
|
|
|
472
|
-
|
|
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.
|
|
494
|
+
**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
495
|
|
|
480
496
|
### `rig whoami` — compact-by-default + `--full` (`--verbose` alias)
|
|
481
497
|
|
|
@@ -503,7 +519,7 @@ rig queue list --source <s> # sourced by <s>
|
|
|
503
519
|
rig queue show <qitemId> # full single item (kubectl describe)
|
|
504
520
|
```
|
|
505
521
|
|
|
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
|
|
522
|
+
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
523
|
|
|
508
524
|
### `rig restore-check` — summary + not-ready-only default + `--full`
|
|
509
525
|
|
|
@@ -535,16 +551,16 @@ This release closes the host-version-aged token-burn class: on this host the rea
|
|
|
535
551
|
|
|
536
552
|
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
553
|
|
|
538
|
-
### `rig scope mission|slice progress` — deterministic progress updates
|
|
554
|
+
### `rig scope mission|slice progress` — deterministic progress updates
|
|
539
555
|
|
|
540
556
|
```bash
|
|
541
|
-
rig scope mission progress <mission> --
|
|
542
|
-
rig scope slice progress <slice-path> --
|
|
557
|
+
rig scope mission progress <mission> --add "<line>" # append a progress line; --set replaces; --section <heading> (default Rail); --status active|done|blocked
|
|
558
|
+
rig scope slice progress <slice-path> --add "<line>" # same flags: --add / --set, --section <heading>, --status active|done|blocked
|
|
543
559
|
```
|
|
544
560
|
|
|
545
561
|
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
562
|
|
|
547
|
-
### `rig scope mission|slice stage / verified /
|
|
563
|
+
### `rig scope mission|slice stage / verified / repair` — deterministic maturity vocabulary
|
|
548
564
|
|
|
549
565
|
```bash
|
|
550
566
|
rig scope slice stage <slice> <new-stage> # wip / provisional / established / canonical / superseded / retired
|
|
@@ -554,40 +570,16 @@ rig scope mission stage <mission> <new-stage> # same enum + rules at mis
|
|
|
554
570
|
rig scope slice verified <slice> --against "<source>" # stamp `verified: <today> against <source>`; --against MANDATORY
|
|
555
571
|
rig scope mission verified <mission> --against "<source>"
|
|
556
572
|
|
|
557
|
-
rig scope slice
|
|
558
|
-
rig scope mission
|
|
573
|
+
rig scope slice repair <slice> # idempotent repair: backfill PROGRESS.md, conform id/stage/verified, repair ghosts
|
|
574
|
+
rig scope mission repair <mission> # mission-tier idempotent repair
|
|
559
575
|
|
|
560
576
|
rig scope slice show <slice> # derives read-time effective-reliability from (stage × verified)
|
|
561
577
|
# — stale-`verified` `canonical` reported as effectively `provisional`
|
|
562
578
|
```
|
|
563
579
|
|
|
564
|
-
Composes with
|
|
580
|
+
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`.
|
|
565
581
|
|
|
566
|
-
###
|
|
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)
|
|
582
|
+
### `rig skill audit` — skill cascade provenance
|
|
591
583
|
|
|
592
584
|
```bash
|
|
593
585
|
rig skill audit # human report of findings
|
|
@@ -596,12 +588,46 @@ rig skill audit --severity warn # stale + mirror-drift only
|
|
|
596
588
|
rig skill audit --rig <name> # narrow to embedded skill copies for one rig
|
|
597
589
|
```
|
|
598
590
|
|
|
599
|
-
Read-only audit of the skill cascade. Detects `missing` / `stale` / `self-referential` / `invalid-date` / `mirror-drift` across the canonical
|
|
591
|
+
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
592
|
|
|
601
|
-
### `rig seat clear-attention` — extended to derived projection staleness
|
|
593
|
+
### `rig seat clear-attention` — extended to derived projection staleness
|
|
602
594
|
|
|
603
595
|
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
596
|
|
|
597
|
+
### Native Codex session id capture
|
|
598
|
+
|
|
599
|
+
Codex seats can now record the real native session id from the Codex
|
|
600
|
+
`SessionStart` hook instead of relying on scrape-shaped identity. The proof
|
|
601
|
+
lane for v0.4.0 matched the same id across the hook payload, rollout log, and
|
|
602
|
+
SQLite. Treat hook-sourced ids as stronger resume/identity evidence than
|
|
603
|
+
terminal scraping when present.
|
|
604
|
+
|
|
605
|
+
Managed-seat hook trust is a 0.4.1 carry: the v0.4.0 surface proves native
|
|
606
|
+
capture and hook-trust constraints, but do not assume every managed Codex seat
|
|
607
|
+
has already migrated from scrape-backed to hook-sourced ids.
|
|
608
|
+
|
|
609
|
+
### Codex resume preserves approval posture
|
|
610
|
+
|
|
611
|
+
Resuming a Codex seat preserves the launching seat's approval/sandbox posture
|
|
612
|
+
and profile flags. Product-emitted resume commands carry the posture flags
|
|
613
|
+
instead of silently falling back to implicit-deny or an unrelated profile.
|
|
614
|
+
|
|
615
|
+
Do not "fix" a resumed Codex seat by relaunching it with broader approvals
|
|
616
|
+
unless the operator explicitly grants a bounded window. Verify the seat's
|
|
617
|
+
active posture first, and preserve it when composing recovery commands.
|
|
618
|
+
|
|
619
|
+
### `rig seat set-resume-token --token-stdin`
|
|
620
|
+
|
|
621
|
+
```bash
|
|
622
|
+
printf '%s' "$RESUME_TOKEN" | rig seat set-resume-token <session> --token-stdin
|
|
623
|
+
```
|
|
624
|
+
|
|
625
|
+
Use this command to set or restore a seat resume token. It replaces direct
|
|
626
|
+
SQLite edits, rejects unauthorized writes and bad/null token false-ready paths,
|
|
627
|
+
records redacted audit/provenance, and keeps token material out of command
|
|
628
|
+
arguments, stdout, logs, and normal status rows. Use stdin, not an inline flag,
|
|
629
|
+
when passing token material.
|
|
630
|
+
|
|
605
631
|
## Core Loop
|
|
606
632
|
|
|
607
633
|
Most work in OpenRig reduces to this loop:
|
|
@@ -628,7 +654,7 @@ Typical operator loop:
|
|
|
628
654
|
|
|
629
655
|
```bash
|
|
630
656
|
rig up secrets-manager --cwd /path/to/project
|
|
631
|
-
rig ps --nodes --
|
|
657
|
+
rig ps --nodes --json
|
|
632
658
|
rig send vault-specialist@secrets-manager "Check Vault health and report back." --verify
|
|
633
659
|
rig env status secrets-manager
|
|
634
660
|
rig env logs secrets-manager
|
|
@@ -675,19 +701,18 @@ JSON form exposes `peersNote` directly for programmatic consumers.
|
|
|
675
701
|
## Inventory and Monitoring
|
|
676
702
|
|
|
677
703
|
```bash
|
|
678
|
-
rig ps
|
|
679
|
-
rig ps --
|
|
680
|
-
rig ps
|
|
681
|
-
rig ps --nodes --
|
|
682
|
-
rig ps --nodes
|
|
683
|
-
rig ps --nodes -A --full --json
|
|
704
|
+
rig ps # CURRENT-RIG, compact rig summaries (v0.4.0 default)
|
|
705
|
+
rig ps --nodes # compact node inventory (current rig)
|
|
706
|
+
rig ps -A # all-rigs breadth (was the pre-0.4.0 default)
|
|
707
|
+
rig ps --nodes --full # complete per-node record (the firehose — opt-in)
|
|
708
|
+
rig ps --nodes --json # compact JSON node inventory (add --full for the full record)
|
|
684
709
|
```
|
|
685
710
|
|
|
686
|
-
|
|
711
|
+
**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
712
|
- session name
|
|
688
713
|
- runtime
|
|
689
714
|
- session/startup status
|
|
690
|
-
- restore outcome
|
|
715
|
+
- restore outcome (compact: `resumeTokenPresent` boolean; the token VALUE is in `--full`)
|
|
691
716
|
- attach/resume commands
|
|
692
717
|
- latest error
|
|
693
718
|
|
|
@@ -719,13 +744,25 @@ rig transcript <session> --json
|
|
|
719
744
|
```bash
|
|
720
745
|
rig send <session> "message"
|
|
721
746
|
rig send <session> "message" --verify
|
|
722
|
-
rig send <session> "message" --
|
|
747
|
+
rig send <session> "message" --wait-for-idle <seconds>
|
|
748
|
+
rig send <session> "message" --raw
|
|
749
|
+
rig send <session> "message" --dangerously-interact --reason "<why>"
|
|
750
|
+
rig send <session> "message" --host <id>
|
|
723
751
|
rig send <session> "message" --json
|
|
724
752
|
```
|
|
725
753
|
|
|
726
|
-
|
|
754
|
+
**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:
|
|
755
|
+
- `--verify` — delivery evidence.
|
|
756
|
+
- `--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.)*
|
|
757
|
+
- `--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).
|
|
758
|
+
- `--raw` — send exact text/keystrokes without the From/To messaging envelope (still guarded against interactive prompts).
|
|
759
|
+
- `--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).
|
|
760
|
+
- `--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).
|
|
761
|
+
- `--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).
|
|
762
|
+
|
|
763
|
+
> **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
764
|
|
|
728
|
-
As of v0.3.3
|
|
765
|
+
As of v0.3.3, content beginning with `--` or `-` is safe:
|
|
729
766
|
`rig send <session> "content starting with -- or - is now safe"` delivers
|
|
730
767
|
literally. The daemon's `send_text` path carries an explicit `--`
|
|
731
768
|
end-of-options sentinel so tmux no longer parses dash-prefixed content
|
|
@@ -774,7 +811,17 @@ rig broadcast "message"
|
|
|
774
811
|
rig broadcast --rig <name> "message" --json
|
|
775
812
|
```
|
|
776
813
|
|
|
777
|
-
Without `--rig` or `--pod`, broadcast targets
|
|
814
|
+
**Use `rig broadcast` sparingly — prefer `rig send` fan-out.** Without `--rig` or `--pod`, broadcast targets
|
|
815
|
+
**every running session across ALL rigs** (plus attached external_cli nodes) — the fastest way to cause a
|
|
816
|
+
broadcast storm. Reserve `rig broadcast` for small rigs or a genuine all-hands emergency. For the normal
|
|
817
|
+
"message several seats at once" case, use `rig send`, which scopes the fan-out and keeps the messaging
|
|
818
|
+
envelope, the delivery/interactive-prompt guards, and per-recipient results:
|
|
819
|
+
|
|
820
|
+
```bash
|
|
821
|
+
rig send --to dev-impl@my-rig,dev-qa@my-rig "message to specific seats" # named seats (comma-list or repeat --to)
|
|
822
|
+
rig send --pod dev "message to one pod" # scoped fan-out
|
|
823
|
+
rig send --rig my-rig "message to one rig" # scoped fan-out
|
|
824
|
+
```
|
|
778
825
|
|
|
779
826
|
### Chatroom
|
|
780
827
|
|
|
@@ -792,6 +839,27 @@ rig chatroom watch <rig> [--tmux]
|
|
|
792
839
|
- `history` — retrieve with composable filters (sender, since, after, topic)
|
|
793
840
|
- `wait` — block until new matching messages arrive (polls history, times out honestly)
|
|
794
841
|
- `clear` — delete all messages for the rig (destructive, rig-scoped)
|
|
842
|
+
|
|
843
|
+
## See something, say something
|
|
844
|
+
|
|
845
|
+
OpenRig has an **observation stream** — the fleet's zero-friction institutional memory, mined for
|
|
846
|
+
real product improvements. When you notice **anything worth externalizing**, say something and keep
|
|
847
|
+
working:
|
|
848
|
+
|
|
849
|
+
- a **bug**, a rough edge, or something that needs fixing
|
|
850
|
+
- a **feature idea** or an improvement
|
|
851
|
+
- something that **worked really well** — a technique, tool, or pattern worth spreading
|
|
852
|
+
- an **observation**, positive or negative feedback, or something genuinely cool, productive, or funny
|
|
853
|
+
|
|
854
|
+
```bash
|
|
855
|
+
rig stream emit --source <your-session> --body "what you noticed"
|
|
856
|
+
```
|
|
857
|
+
|
|
858
|
+
That's the whole reflex. **Don't** decide where it goes or who it's for — the intake router triages
|
|
859
|
+
(destination/type/urgency/tags are optional hints — `--hint-type review|handoff|idea`,
|
|
860
|
+
`--hint-urgency routine|urgent|critical`, `--hint-tags` — never required). One command, then carry
|
|
861
|
+
on; the value is the habit, not the polish. **Don't overdo it, either:** stream real signal, not
|
|
862
|
+
narration — a good observation beats ten noisy ones. It's a passing thought you externalize, not a chore.
|
|
795
863
|
- `topic` — set a topic marker
|
|
796
864
|
- `watch` — SSE or tmux-based live stream
|
|
797
865
|
|
|
@@ -822,6 +890,21 @@ Current shipped behavior:
|
|
|
822
890
|
|
|
823
891
|
This is an evidence/context command. It is not a hidden second-LLM call.
|
|
824
892
|
|
|
893
|
+
### `rig auth` — agent auth-profile management (v0.4.1, product-native)
|
|
894
|
+
|
|
895
|
+
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`.
|
|
896
|
+
|
|
897
|
+
```bash
|
|
898
|
+
rig auth status --runtime codex # presence / mode / parseability / login-state (never prints token contents)
|
|
899
|
+
rig auth list --runtime codex # saved profiles
|
|
900
|
+
rig auth save <profile> --runtime codex # snapshot the auth FILE (mode-guarded), never echoes contents
|
|
901
|
+
rig auth switch <profile> --runtime codex
|
|
902
|
+
rig auth validate <profile> --runtime codex
|
|
903
|
+
rig auth seats … --runtime codex # seat -> profile registry (metadata only; NOT proof of a live account)
|
|
904
|
+
```
|
|
905
|
+
|
|
906
|
+
**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.
|
|
907
|
+
|
|
825
908
|
## Lifecycle
|
|
826
909
|
|
|
827
910
|
### Bring a rig up
|
|
@@ -862,6 +945,7 @@ Current behavior notes:
|
|
|
862
945
|
- `local:` `agent_ref` values resolve relative to the rig spec directory, not your shell cwd.
|
|
863
946
|
- if you copy a built-in spec elsewhere, keep its `agents/` tree beside the YAML or rewrite those refs to `path:/absolute/path`
|
|
864
947
|
- `rig specs add <directory>` installs a full spec tree when the directory contains `rig.yaml` or `agent.yaml`.
|
|
948
|
+
- **Permission policy:** a rig carries a permission policy and boots with it (never changed on the fly). Default if none set = the minimum floor (Claude `acceptEdits` / Codex workspace-only / Pi `--no-approve`); otherwise a chosen built-in (Locked / Standard / Open) or deliberately none. When you spec or bring up a rig, decide its policy — apply it via `applying-a-permission-policy` (see also the onboarding menu, "Permission policy — pick one at setup").
|
|
865
949
|
|
|
866
950
|
Legacy/spec-specific surfaces still ship too:
|
|
867
951
|
|
|
@@ -1010,7 +1094,7 @@ rig whoami --json
|
|
|
1010
1094
|
|
|
1011
1095
|
Notes:
|
|
1012
1096
|
- for tmux-backed self-attach, `rig whoami --json` is the right verification
|
|
1013
|
-
- for raw/external self-attach, `rig ps --nodes --
|
|
1097
|
+
- for raw/external self-attach, `rig ps --nodes --json` is currently the more reliable verification surface
|
|
1014
1098
|
- if the current shell is outside tmux, pass `--display-name <name>` when you want a stable human session label recorded
|
|
1015
1099
|
|
|
1016
1100
|
### Adopt a topology and bind live sessions
|
|
@@ -1077,13 +1161,13 @@ Verification loop:
|
|
|
1077
1161
|
```bash
|
|
1078
1162
|
rig discover --json
|
|
1079
1163
|
rig adopt <fragment.yaml> --bindings-file <bindings.yaml> --target-rig <rigId>
|
|
1080
|
-
rig ps --nodes --
|
|
1164
|
+
rig ps --nodes --json
|
|
1081
1165
|
rig export <rigId> -o rig.yaml
|
|
1082
1166
|
```
|
|
1083
1167
|
|
|
1084
1168
|
Success looks like:
|
|
1085
1169
|
- the new sessions stop appearing in `rig discover`
|
|
1086
|
-
- the new logical IDs appear in `rig ps --nodes --
|
|
1170
|
+
- the new logical IDs appear in `rig ps --nodes --json`
|
|
1087
1171
|
- `rig export` includes the new pod
|
|
1088
1172
|
|
|
1089
1173
|
### Mixed-origin rigs are allowed
|
|
@@ -1101,7 +1185,7 @@ Current safety rule:
|
|
|
1101
1185
|
The proven operator pattern is:
|
|
1102
1186
|
- keep one OpenRig manager session outside the rig it manages
|
|
1103
1187
|
- address the target by rig name, not cached rig ID
|
|
1104
|
-
- resolve the current owner from fresh `rig ps --nodes
|
|
1188
|
+
- resolve the current owner from fresh `rig ps --nodes --json`
|
|
1105
1189
|
- send the manager the spec path, bindings path, and verification steps with `rig send`
|
|
1106
1190
|
|
|
1107
1191
|
This lets ordinary agents ask the manager for OpenRig help instead of every agent needing to be an OpenRig expert.
|
|
@@ -1198,7 +1282,7 @@ When the CLI behaves strangely, use the smallest truthful check first:
|
|
|
1198
1282
|
```bash
|
|
1199
1283
|
rig whoami --json
|
|
1200
1284
|
rig daemon status
|
|
1201
|
-
rig ps --nodes
|
|
1285
|
+
rig ps --nodes --json
|
|
1202
1286
|
```
|
|
1203
1287
|
|
|
1204
1288
|
Specific operator rules:
|
|
@@ -1234,7 +1318,7 @@ Design assumptions that hold in the shipped CLI:
|
|
|
1234
1318
|
|
|
1235
1319
|
1. `rig whoami --json`
|
|
1236
1320
|
2. `rig transcript <your-session> --tail 100`
|
|
1237
|
-
3. `rig ps --nodes`
|
|
1321
|
+
3. `rig ps --nodes --json`
|
|
1238
1322
|
4. `rig chatroom history <rig> --limit 50`
|
|
1239
1323
|
|
|
1240
1324
|
## Commands That Do Not Exist
|
|
@@ -2,14 +2,31 @@
|
|
|
2
2
|
name: queue-handoff
|
|
3
3
|
description: Use when ending a turn, finishing a slice, blocked on another agent's work, or escalating to a human — durable work handoff via queue items so the system keeps moving across compactions, missed messages, and interruptions. Covers the hot-potato terminal-turn-rule (active work ends by passing the ball, not by going idle), default-nudge semantics, and when `--no-nudge` is appropriate for intentional cold park or human gate.
|
|
4
4
|
metadata:
|
|
5
|
+
cli_surfaces_referenced:
|
|
6
|
+
- queue
|
|
7
|
+
- queue create
|
|
8
|
+
- queue handoff
|
|
9
|
+
- queue handoff-and-complete
|
|
5
10
|
openrig:
|
|
6
11
|
stage: factory-approved
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
sibling_skills:
|
|
13
|
+
- workflow-runtime
|
|
14
|
+
- watchdog
|
|
15
|
+
- alignment-trace
|
|
16
|
+
- looping-workflows
|
|
17
|
+
- intake-routing
|
|
18
|
+
- human-in-the-loop
|
|
19
|
+
- attention-queue
|
|
20
|
+
- dispatching-parallel-agents
|
|
21
|
+
- subagent-driven-development
|
|
22
|
+
- structured-ack-dispatch
|
|
23
|
+
- control-plane-capabilities
|
|
24
|
+
- status-not-chat-orchestrator
|
|
25
|
+
- control-plane-queue
|
|
26
|
+
- control-plane-watchdog
|
|
27
|
+
- control-plane-workflows
|
|
28
|
+
- control-plane-delivery-loop
|
|
29
|
+
- control-plane-rollout-manager
|
|
13
30
|
---
|
|
14
31
|
|
|
15
32
|
# Queue Handoff
|
|
@@ -67,7 +84,7 @@ every surface (CLI, MCP, future UI) inherits the same guarantee.
|
|
|
67
84
|
| `rig queue create` | yes | New qitem created from scratch |
|
|
68
85
|
| `rig queue handoff` | yes | Transactional close-as-handed-off + create-new |
|
|
69
86
|
| `rig queue handoff-and-complete` | yes | Atomic close + create-new; default nudge wakes the new owner |
|
|
70
|
-
| `rigx queue handoff` (filesystem v0 prototype; **recovery-only fallback since 2026-05-11**) | yes | Legacy artifact; qitems invisible to daemon-backed reads;
|
|
87
|
+
| `rigx queue handoff` (filesystem v0 prototype; **recovery-only fallback since 2026-05-11**) | yes | Legacy artifact; qitems invisible to daemon-backed reads; deprecation warning + removal queued at `missions/bug-fix/slices/rigx-queue-deprecation-message/`. Use `rig queue handoff` (daemon-backed) for all new substantive work. |
|
|
71
88
|
|
|
72
89
|
**Footgun**: `--no-nudge` accidentally added to a live-loop handoff.
|
|
73
90
|
The shipped 0.3.1 CLI nudges by default on every queue write surface
|
|
@@ -96,8 +113,8 @@ recipient.
|
|
|
96
113
|
at the file for the detail. A pasted dump makes `rig queue show <id>
|
|
97
114
|
--json` huge — a second-order token bloat: bloated DATA living in the
|
|
98
115
|
queue, distinct from the command-default output bombs the token-burn
|
|
99
|
-
emergency pack covers. (Sensor:
|
|
100
|
-
2026-06;
|
|
116
|
+
emergency pack covers. (Sensor: guard token-burn-flag 8ea201e4,
|
|
117
|
+
2026-06; operator-directed cure.)
|
|
101
118
|
- **Substantive bodies go through `--body-file`, not inline `--body`.**
|
|
102
119
|
For anything beyond a short line, write the body to a file and pass
|
|
103
120
|
`--body-file <path>` (or `-` for stdin). Inline `--body` with shell
|
|
@@ -4,16 +4,17 @@ description: Use when replacing a seat's occupant (rebuild/handover/swap), reaso
|
|
|
4
4
|
metadata:
|
|
5
5
|
openrig:
|
|
6
6
|
stage: factory-approved
|
|
7
|
-
last_verified: "2026-05-04"
|
|
8
|
-
distribution_scope: product-bound
|
|
9
|
-
source_evidence: |
|
|
10
|
-
Option A rebuild MVP shipped 2026-04-30. Option B (full code-direct
|
|
11
|
-
seat handover via SeatHandoverService daemon module) is a future
|
|
12
|
-
follow-on.
|
|
13
7
|
sibling_skills:
|
|
14
8
|
- claude-compaction-restore
|
|
9
|
+
- mental-model-ha
|
|
10
|
+
- scope-recovery
|
|
11
|
+
- session-compaction-and-restore
|
|
15
12
|
- agent-startup-and-context-ingestion
|
|
16
|
-
|
|
13
|
+
- agent-starters
|
|
14
|
+
- composable-priming-packs
|
|
15
|
+
- session-source-fork
|
|
16
|
+
- claude-compact-in-place
|
|
17
|
+
- pre-maintenance-agent-preservation
|
|
17
18
|
---
|
|
18
19
|
|
|
19
20
|
# Seat Continuity and Handover
|
|
@@ -133,5 +134,6 @@ enough to receive new work or needs re-handover.
|
|
|
133
134
|
|
|
134
135
|
## See also
|
|
135
136
|
|
|
136
|
-
- `
|
|
137
|
-
- `agent-
|
|
137
|
+
- `session-source-fork` skill — `fork` occupant-creation primitive (sibling)
|
|
138
|
+
- `agent-starters` skill — composes occupant-creation + binding into named reusable starting points
|
|
139
|
+
- `cross-host-rig-commands` skill — multi-host handover (deferred)
|