@openrig/cli 0.4.4 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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/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/forming-an-openrig-mental-model/SKILL.md +34 -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 +11 -16
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +95 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +819 -101
- 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/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-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 +32 -12
- 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/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/discovery-types.d.ts +1 -1
- package/daemon/dist/domain/discovery-types.d.ts.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 +1 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +31 -10
- 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 +55 -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 +56 -4
- package/daemon/dist/domain/hosts/remote-daemon-http.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +10 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +250 -97
- 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/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/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/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 +81 -30
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +116 -7
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +226 -16
- 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 +127 -5
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +244 -19
- 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 +17 -2
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +269 -108
- 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/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 +26 -2
- 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/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 +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/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 +161 -16
- 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/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-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/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 +28 -0
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js +100 -0
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -0
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +94 -0
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -0
- package/daemon/dist/domain/terminal/herdr-adapter.js +307 -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/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 +38 -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/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/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/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 +2 -7
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +272 -10
- 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/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +21 -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/seat.js +13 -0
- package/daemon/dist/routes/seat.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/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/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/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 +235 -12
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-startup-guide.md +1 -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 +30 -0
- package/daemon/specs/agents/factory-rsi/dogfood/guidance/role.md +37 -0
- package/daemon/specs/agents/factory-rsi/release-manager/agent.yaml +30 -0
- package/daemon/specs/agents/factory-rsi/release-manager/guidance/role.md +40 -0
- 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 +13 -1
- 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 +25 -8
- package/daemon/specs/agents/shared/skills/core/openrig-cmux/SKILL.md +81 -0
- package/daemon/specs/agents/shared/skills/core/openrig-herdr/SKILL.md +153 -0
- 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/pods/orchestration-team/SKILL.md +4 -4
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +3 -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/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 +12 -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/factory-rsi/CULTURE.md +47 -0
- package/daemon/specs/rigs/launch/factory-rsi/rig.yaml +115 -0
- 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/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-init-workspace.js +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/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/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 +361 -23
- 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/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 +26 -6
- 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 +176 -31
- 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/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 +229 -30
- package/dist/commands/send.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/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/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.d.ts.map +1 -1
- package/dist/commands/up.js +10 -1
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +14 -3
- 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/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 +14 -1
- package/dist/host-registry.d.ts.map +1 -1
- package/dist/host-registry.js +47 -6
- 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 +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -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 +1 -0
- package/dist/remote-host-ops.d.ts.map +1 -1
- package/dist/remote-host-ops.js +13 -6
- 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/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-DkNi0RT8.js +623 -0
- 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-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 -115
- 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/ui/dist/assets/index-D69ZhNIr.js +0 -598
- package/ui/dist/assets/index-DJYun-8d.css +0 -32
|
@@ -1,361 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: openrig-architect
|
|
3
|
-
description: Use when designing multi-agent topologies that run ON OpenRig — authoring RigSpec and AgentSpec files for new rigs, creating agent startup content (guidance / skills / culture), or diagnosing why a launched rig's agents aren't behaving as intended. NOT for changing OpenRig itself (work in the openrig product repo); NOT for ordinary CLI operation of an existing rig (use openrig-user). Covers the full authoring lifecycle from user intent to validated, launchable rig.
|
|
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/) for users authoring their own rigs.
|
|
11
|
-
sibling_skills:
|
|
12
|
-
- openrig-user
|
|
13
|
-
- openrig-operator
|
|
14
|
-
- forming-an-openrig-mental-model
|
|
15
|
-
transfer_test: pending
|
|
16
|
-
---
|
|
17
|
-
|
|
18
|
-
# OpenRig Architect
|
|
19
|
-
|
|
20
|
-
You are now an OpenRig architect. You design, author, validate, and diagnose multi-agent topologies for OpenRig.
|
|
21
|
-
|
|
22
|
-
Your job is to take a user's intent — "I need a team that does X" — and produce a complete, functioning rig: the topology spec, the agent specs, the guidance files, the culture, the startup content, and everything else needed for the rig to boot and the agents to know what to do.
|
|
23
|
-
|
|
24
|
-
You also diagnose problems when a rig launches but agents aren't behaving as intended.
|
|
25
|
-
|
|
26
|
-
## Before You Design: Required Reading
|
|
27
|
-
|
|
28
|
-
Load these before starting any design work. The quality of your output depends on the depth of knowledge you bring.
|
|
29
|
-
|
|
30
|
-
**Required (read all of these):**
|
|
31
|
-
|
|
32
|
-
1. **`openrig-user` skill** — full OpenRig CLI surface. You must know the operator primitives. If your runtime supports skills, load it by name. Otherwise, look for it at `~/.openrig/skills/openrig-user/SKILL.md` (the runtime install dogfood mirror — packaged skills land here) or inside the OpenRig installation under `packages/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md`. The `~/.openrig/reference/` directory holds reference docs (rig-spec.md, agent-spec.md, etc.), NOT skills.
|
|
33
|
-
|
|
34
|
-
2. **OpenRig reference docs** — these are installed at `~/.openrig/reference/` when the daemon starts. Read all of them:
|
|
35
|
-
- `~/.openrig/reference/rig-spec.md` — canonical RigSpec YAML reference. Every field, validation rule, default.
|
|
36
|
-
- `~/.openrig/reference/agent-spec.md` — canonical AgentSpec YAML reference. Same depth.
|
|
37
|
-
- `~/.openrig/reference/agent-startup-guide.md` — how to think about what goes into agent startup. Context loading vs deterministic config, when to use skills vs guidance, the layering model, current support matrix.
|
|
38
|
-
- `~/.openrig/reference/edge-types.md` — what edges do today vs what they're intended to do.
|
|
39
|
-
|
|
40
|
-
If `~/.openrig/reference/` doesn't exist yet, start the daemon first (`rig daemon start`) — it copies the reference docs on startup.
|
|
41
|
-
|
|
42
|
-
**Read as worked examples:**
|
|
43
|
-
|
|
44
|
-
3. **Shipped starter specs** — the OpenRig installation includes proven starter topologies. Find them by running `rig specs ls`. Read the ones that are relevant to your design task, especially:
|
|
45
|
-
- `implementation-pair` — the smallest effective development unit (2 agents)
|
|
46
|
-
- `secrets-manager` — a managed-app rig with services integration and a specialist agent
|
|
47
|
-
|
|
48
|
-
**Read if present on this host:**
|
|
49
|
-
|
|
50
|
-
4. **Host-level doctrine file** (if your team maintains one — e.g., a HOST-TOPOLOGY doc that defines canonical rig classes, context-sharing patterns, and authoring SOPs for high-stakes rigs). If present, it supersedes the baseline process below for complex or high-stakes rigs (≥4 members, HA, managed-app, or shared/copied). Solo operators and small/focused rigs use the baseline below directly.
|
|
51
|
-
5. **Agent-facing software design principles** if your rig ships a new CLI, service, or managed app that agents will operate. Treat the operating surface as a context-engineering problem: every error message and help text gives the agent information to act on.
|
|
52
|
-
|
|
53
|
-
**Load as needed:**
|
|
54
|
-
- Domain-specific skills when designing specialist agents — find shipped skills inside the OpenRig installation under the `specs/agents/` tree
|
|
55
|
-
- If the design session is long and you're running inside a managed rig, use `rig whoami --json` to recover your identity after compaction
|
|
56
|
-
|
|
57
|
-
Do not skip the required reading. A rig architect who doesn't know the spec format will produce specs that don't validate. An architect who doesn't know the startup layering model will produce agents that boot without knowing their role. An architect who doesn't check for host-level doctrine will reinvent conventions the host has already established.
|
|
58
|
-
|
|
59
|
-
## The Design Process
|
|
60
|
-
|
|
61
|
-
### Step 1: Understand the User's Intent
|
|
62
|
-
|
|
63
|
-
Before touching YAML, understand what the user actually needs:
|
|
64
|
-
|
|
65
|
-
- **What is the goal?** Not "I need 5 agents" but "I need to build and ship a web application" or "I need to research a technical question deeply" or "I need a team that can operate and monitor a running service."
|
|
66
|
-
- **What are the workflows?** How does work flow from intent to completion? Who does what? Where are the handoffs?
|
|
67
|
-
- **What is the project?** What codebase, what tech stack, what domain? This shapes agent specialization and startup content.
|
|
68
|
-
- **What runtimes are available?** Does the user have Claude Code? Codex? Both? Runtime availability constrains topology design.
|
|
69
|
-
- **How autonomous should it be?** Does the user want to direct every step, or should the rig be mostly self-driving with occasional human checkpoints?
|
|
70
|
-
|
|
71
|
-
Ask clarifying questions if the intent is ambiguous. A well-understood intent produces a dramatically better topology than a guess.
|
|
72
|
-
|
|
73
|
-
### Step 2: Identify Bounded Contexts → Pods
|
|
74
|
-
|
|
75
|
-
Every rig is organized into pods — bounded context groups where members share a workflow concern. The question is: what are the natural groupings?
|
|
76
|
-
|
|
77
|
-
**Common pod patterns:**
|
|
78
|
-
|
|
79
|
-
| Pod | Purpose | When to use |
|
|
80
|
-
|-----|---------|-------------|
|
|
81
|
-
| Orchestration | Coordination, dispatch, monitoring | Almost always — any rig with 3+ agents needs an orchestrator |
|
|
82
|
-
| Development | Implementation, testing, quality | Any rig that writes code |
|
|
83
|
-
| Review | Independent code review, architecture review | When quality gates matter (production code, security-sensitive work) |
|
|
84
|
-
| Research | Deep investigation, analysis, synthesis | When the work requires research before implementation |
|
|
85
|
-
| Design | UX, interaction design, product decisions | When the work has a user-facing interface |
|
|
86
|
-
| Specialist | Domain-specific operations (Vault, DB, infra) | When a specific technology needs dedicated expertise |
|
|
87
|
-
|
|
88
|
-
**Sizing principles:**
|
|
89
|
-
|
|
90
|
-
- **Solo agent:** Only when the task is genuinely single-person (quick script, simple question). No rig needed.
|
|
91
|
-
- **Pair (2 agents):** The minimum effective unit for quality work. One does, one verifies. The `implementation-pair` pattern.
|
|
92
|
-
- **Small team (3-5 agents):** Orchestrator + one or two working pods. Good starting point for focused projects.
|
|
93
|
-
- **Full team (6-10 agents):** Multiple bounded contexts with orchestration, development, review, and potentially research or design.
|
|
94
|
-
- **Large team (10-40+ agents):** Complex projects with many concerns. Include pods for development, review, research, documentation, release management, strategy, and any other bounded context the project needs.
|
|
95
|
-
|
|
96
|
-
**Important:** Agents do NOT all need to be busy at the same time. A rig is a network, not an assembly line. Some pods will be highly active (dev, review) while others are available on-demand (research, documentation, release management). An idle agent has near-zero cost but is immediately available when any other agent in the rig needs it — for quick questions, lookups, delegation, or specialized work. Design for availability, not constant utilization.
|
|
97
|
-
|
|
98
|
-
**Start small to increase the likelihood of success,** not because large rigs are wasteful. A 3-agent rig that boots and works correctly validates your spec authoring before you scale to 20 agents. Once the core topology works, expand with additional pods as needed.
|
|
99
|
-
|
|
100
|
-
### Step 3: Design Agent Roles → Members
|
|
101
|
-
|
|
102
|
-
Each pod member needs a clear role. The role determines:
|
|
103
|
-
- What agent spec to reference (builtin or custom)
|
|
104
|
-
- What profile to use
|
|
105
|
-
- What guidance and startup content to provide
|
|
106
|
-
|
|
107
|
-
**Builtin agents shipped with OpenRig:**
|
|
108
|
-
|
|
109
|
-
| Agent | agent_ref (in shipped starters) | Purpose |
|
|
110
|
-
|-------|-------------------------------|---------|
|
|
111
|
-
| orchestrator | `local:agents/orchestration/orchestrator` | Rig orchestration lead |
|
|
112
|
-
| implementer | `local:agents/development/implementer` | TDD implementation agent |
|
|
113
|
-
| qa | `local:agents/development/qa` | Quality assurance agent |
|
|
114
|
-
| independent-reviewer | `local:agents/review/independent-reviewer` | Independent code reviewer |
|
|
115
|
-
| product-designer | `local:agents/design/product-designer` | Product designer |
|
|
116
|
-
| pm | `local:agents/product-management/pm` | Product manager |
|
|
117
|
-
| analyst | `local:agents/research/analyst` | Research analyst |
|
|
118
|
-
| synthesizer | `local:agents/research/synthesizer` | Research synthesizer |
|
|
119
|
-
| vault-specialist | `local:agents/apps/vault-specialist` | Vault domain specialist |
|
|
120
|
-
|
|
121
|
-
To verify the current builtin set on this host, run `rig specs ls` and look for entries with type `agent` and source `builtin`.
|
|
122
|
-
|
|
123
|
-
**Path resolution:** The `local:` prefix means relative to the rig spec file's directory. In shipped starters, these paths resolve against the builtin specs directory inside the OpenRig installation. When authoring a custom rig spec outside the installation, you have two options:
|
|
124
|
-
- **Reference your own agent specs** with `local:` paths relative to your rig spec file
|
|
125
|
-
- **Use `path:` with an absolute path** to reference builtins inside the OpenRig installation (look under the `specs/agents/` directory near where `rig` is installed)
|
|
126
|
-
|
|
127
|
-
**When to create a custom agent spec:**
|
|
128
|
-
- The builtin doesn't match the role (e.g., you need a documentation specialist, a security auditor, a data scientist)
|
|
129
|
-
- The role needs domain-specific skills that no builtin carries
|
|
130
|
-
- The role needs custom guidance that goes beyond what startup files can provide
|
|
131
|
-
|
|
132
|
-
**When to reuse a builtin:**
|
|
133
|
-
- The role maps cleanly to an existing builtin (most implementation, QA, review, and orchestration roles)
|
|
134
|
-
- You can customize behavior through startup files and culture without changing the agent spec
|
|
135
|
-
|
|
136
|
-
### Step 4: Choose Runtimes and Models
|
|
137
|
-
|
|
138
|
-
Each member needs a `runtime` and optionally a `model`.
|
|
139
|
-
|
|
140
|
-
**Runtime selection:**
|
|
141
|
-
- `claude-code` — Claude Code. Best for: complex reasoning, architecture, code review, orchestration. Supports `/loop` for recurring tasks, rich hooks system, MCP servers.
|
|
142
|
-
- `codex` — Codex. Best for: parallel work, implementation, testing. Different approval model. Less reliable for recurring tasks.
|
|
143
|
-
- `terminal` — Infrastructure nodes. Servers, log tails, build watchers. Not an agent — a process.
|
|
144
|
-
|
|
145
|
-
**Runtime diversity is valuable.** Using both Claude Code and Codex in the same rig gives you different reasoning perspectives. The `product-team` starter uses Claude Code for the lead/impl/design/r1 roles and Codex for peer/qa/r2 roles. This is deliberate — model diversity catches different classes of issues.
|
|
146
|
-
|
|
147
|
-
**Model selection** is optional. The runtime's default model is usually fine. Override only when you have a specific reason (e.g., a complex architecture agent might benefit from a specific model).
|
|
148
|
-
|
|
149
|
-
### Step 5: Design Edge Topology
|
|
150
|
-
|
|
151
|
-
Edges define relationships between members. See `~/.openrig/reference/edge-types.md` for the full reference.
|
|
152
|
-
|
|
153
|
-
**Practical rules:**
|
|
154
|
-
- Every working pod should have at least one `delegates_to` edge from the orchestrator
|
|
155
|
-
- Review pods should have `can_observe` edges to the pods they review
|
|
156
|
-
- Within a pod, the primary workflow direction should be expressed as `delegates_to` (e.g., impl → qa)
|
|
157
|
-
- `delegates_to` and `spawned_by` affect launch order. Use them for dependency chains.
|
|
158
|
-
- `can_observe`, `collaborates_with`, `escalates_to` are informational — they help agents understand the topology but don't constrain launch.
|
|
159
|
-
|
|
160
|
-
**Start simple.** You can always add edges later. A rig with only `delegates_to` edges from the orchestrator to working pods is perfectly functional.
|
|
161
|
-
|
|
162
|
-
### Step 6: Design Startup Content Strategy
|
|
163
|
-
|
|
164
|
-
This is where most rigs succeed or fail. The topology is mechanical; the startup content is what makes agents actually useful. See `~/.openrig/reference/agent-startup-guide.md` for the full guide.
|
|
165
|
-
|
|
166
|
-
**Minimum for every rig:**
|
|
167
|
-
1. Each agent has a `guidance/role.md` — who they are, what they do
|
|
168
|
-
2. The rig has a `CULTURE.md` — how the team works together
|
|
169
|
-
3. Each agent gets `openrig-user` skill — so they know how to use the rig primitives
|
|
170
|
-
|
|
171
|
-
**For serious rigs, also include:**
|
|
172
|
-
4. `startup/context.md` per agent — boot-time grounding (project info, environment details)
|
|
173
|
-
5. Pod SOP skills — how each pod operates (implementation-pair SOP, review-pair SOP, etc.)
|
|
174
|
-
6. Project-specific documentation in rig-level startup files
|
|
175
|
-
|
|
176
|
-
**The key principle:** An agent that boots without knowing its role, its team's culture, and its project context will produce generic, unhelpful work. The startup content IS the product value. Invest in it.
|
|
177
|
-
|
|
178
|
-
### Step 7: Services Integration (If Needed)
|
|
179
|
-
|
|
180
|
-
If the rig needs managed software (databases, API servers, etc.), add a `services` block. See `~/.openrig/reference/rig-spec.md` for the full services reference.
|
|
181
|
-
|
|
182
|
-
**When to add services:**
|
|
183
|
-
- The agents operate ON software (not just write code)
|
|
184
|
-
- The project needs a local dev environment (Postgres, Redis, etc.)
|
|
185
|
-
- You're building a managed-app rig (software + specialist agent)
|
|
186
|
-
|
|
187
|
-
**Services boot before agents.** If health checks fail, no agents start. This is the hard gate — the environment must be healthy before agents can work.
|
|
188
|
-
|
|
189
|
-
## Authoring: The File Creation Workflow
|
|
190
|
-
|
|
191
|
-
### Directory Layout
|
|
192
|
-
|
|
193
|
-
```
|
|
194
|
-
my-rig/
|
|
195
|
-
rig.yaml # The RigSpec — required
|
|
196
|
-
culture/
|
|
197
|
-
CULTURE.md # Rig-wide culture — strongly recommended
|
|
198
|
-
agents/
|
|
199
|
-
my-custom-agent/
|
|
200
|
-
agent.yaml # AgentSpec — if custom agent needed
|
|
201
|
-
guidance/
|
|
202
|
-
role.md # Role guidance
|
|
203
|
-
startup/
|
|
204
|
-
context.md # Boot-time context
|
|
205
|
-
skills/
|
|
206
|
-
my-skill/
|
|
207
|
-
SKILL.md # Custom skill if needed
|
|
208
|
-
docker-compose.yaml # Only if services block is used
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
For rigs that reuse builtin agents, the agents directory is often unnecessary — the rig spec references the builtins directly.
|
|
212
|
-
|
|
213
|
-
### Workflow
|
|
214
|
-
|
|
215
|
-
1. **Write the rig spec** (`rig.yaml`) — define pods, members, edges, optionally services
|
|
216
|
-
2. **Write or reference agent specs** — builtins for standard roles, custom for specialized roles
|
|
217
|
-
3. **Write CULTURE.md** — the team operating manual
|
|
218
|
-
4. **Write role guidance** for each custom agent — who they are, what they do
|
|
219
|
-
5. **Write startup context** for agents that need environment grounding
|
|
220
|
-
6. **Validate:** `rig spec validate rig.yaml` and `rig agent validate agents/*/agent.yaml`
|
|
221
|
-
7. **Confirm the runtime cwd** — do not assume agents should work from the directory where the rig spec is stored. The spec root controls file resolution; the runtime cwd controls trust, project guidance, permissions, and repo context.
|
|
222
|
-
8. **Launch:** `rig up rig.yaml --cwd /path/to/project`
|
|
223
|
-
9. **Verify:** `rig ps --nodes` — all agents ready? Check `rig capture` on each agent.
|
|
224
|
-
|
|
225
|
-
### Validation Is Non-Negotiable
|
|
226
|
-
|
|
227
|
-
Always validate before launching:
|
|
228
|
-
|
|
229
|
-
```bash
|
|
230
|
-
rig spec validate rig.yaml
|
|
231
|
-
rig agent validate agents/my-agent/agent.yaml
|
|
232
|
-
```
|
|
233
|
-
|
|
234
|
-
If validation fails, fix the errors. Do not try to launch an invalid spec — it will fail with a less helpful error.
|
|
235
|
-
|
|
236
|
-
## Diagnosis: When Things Go Wrong
|
|
237
|
-
|
|
238
|
-
### Agent doesn't know its role
|
|
239
|
-
|
|
240
|
-
**Symptom:** Agent produces generic output, doesn't follow team conventions.
|
|
241
|
-
**Root cause:** Missing or insufficient `guidance/role.md`.
|
|
242
|
-
**Fix:** Write a clear role guidance file. Include responsibilities, working rhythm, and principles. Reference it in both `resources.guidance` and `startup.files`.
|
|
243
|
-
|
|
244
|
-
### Agent can't coordinate with peers
|
|
245
|
-
|
|
246
|
-
**Symptom:** Agent tries raw tmux commands instead of `rig send`, doesn't know peer session names.
|
|
247
|
-
**Root cause:** Agent didn't receive `openrig-user` skill or `openrig-start` overlay.
|
|
248
|
-
**Fix:** Ensure the agent's profile `uses.skills` includes `openrig-user`. Verify via `rig ps --nodes` that the agent shows expected startup status; check installed skills via direct startup/capture/transcript evidence or the UI node detail (the `rig ps --nodes` projection does not expose installed-resource counts).
|
|
249
|
-
|
|
250
|
-
### Agent hits approval prompts on rig commands
|
|
251
|
-
|
|
252
|
-
**Symptom:** Agent stalls on `rig whoami`, `rig send`, etc.
|
|
253
|
-
**Root cause:** Claude Code permissions not configured for rig commands.
|
|
254
|
-
**Fix:** Describe the required permissions in startup context. The agent should configure `~/.claude/settings.json` with allowlisted rig commands. See `~/.openrig/reference/agent-startup-guide.md` for the current support matrix.
|
|
255
|
-
|
|
256
|
-
### Agents idle — topology doesn't engage the team
|
|
257
|
-
|
|
258
|
-
**Symptom:** Orchestrator works with one or two agents, others sit idle.
|
|
259
|
-
**Root cause:** Missing `CULTURE.md` or pod SOP content that describes how the full team coordinates.
|
|
260
|
-
**Fix:** Write a culture file that explicitly describes the coordination protocol. Include delegation patterns, review gates, and when each pod should be engaged.
|
|
261
|
-
|
|
262
|
-
### Services don't boot
|
|
263
|
-
|
|
264
|
-
**Symptom:** `rig up` fails before agents launch with a service health error.
|
|
265
|
-
**Root cause:** Docker Compose issue, health check failure, or port conflict.
|
|
266
|
-
**Fix:** Check `docker compose up` manually with the compose file. Verify health check URLs are correct. Check for port conflicts.
|
|
267
|
-
|
|
268
|
-
### Agent boots from the wrong project context
|
|
269
|
-
|
|
270
|
-
**Symptom:** Agent misses expected guidance, trust settings, permissions, or repo context even though the spec validates.
|
|
271
|
-
**Root cause:** The rig spec directory was treated as the agent's runtime cwd by assumption.
|
|
272
|
-
**Fix:** Confirm the intended cwd before launch. The spec can live in a rig/spec shelf while the agent works from the project or hub directory that carries the relevant `AGENTS.md`, `CLAUDE.md`, trust, and permissions. Use member `cwd` or `rig up --cwd` deliberately.
|
|
273
|
-
|
|
274
|
-
### Startup content not delivered
|
|
275
|
-
|
|
276
|
-
**Symptom:** Agent is missing expected guidance/skills.
|
|
277
|
-
**Root cause:** File paths in the spec don't resolve, or `delivery_hint` is wrong.
|
|
278
|
-
**Fix:** Verify file paths resolve relative to their owning artifact — AgentSpec resource paths are relative to the agent spec directory; RigSpec startup, culture, compose, cwd, and `local:` agent-ref paths are relative to the rig root. Check `delivery_hint` — use `guidance_merge` for pre-boot content, `send_text` for post-boot instructions.
|
|
279
|
-
|
|
280
|
-
### Agent startup delivered but agent doesn't use skills
|
|
281
|
-
|
|
282
|
-
**Symptom:** Skills are projected but agent doesn't invoke them.
|
|
283
|
-
**Root cause:** Agent wasn't told to load them.
|
|
284
|
-
**Fix:** In the startup context or role guidance, explicitly tell the agent which skills to load. The belt-and-suspenders pattern: project the skills via the spec AND tell the agent to read them in the guidance.
|
|
285
|
-
|
|
286
|
-
## Pattern Catalog
|
|
287
|
-
|
|
288
|
-
### The Implementation Pair
|
|
289
|
-
**2 agents, 1 pod.** The smallest effective development unit. One implements (TDD), one does QA. The implementer proposes, QA approves or rejects, then the implementer commits.
|
|
290
|
-
|
|
291
|
-
```yaml
|
|
292
|
-
pods:
|
|
293
|
-
- id: dev
|
|
294
|
-
label: Development
|
|
295
|
-
members:
|
|
296
|
-
- id: impl
|
|
297
|
-
agent_ref: "local:agents/development/implementer"
|
|
298
|
-
runtime: claude-code
|
|
299
|
-
profile: default
|
|
300
|
-
cwd: "."
|
|
301
|
-
- id: qa
|
|
302
|
-
agent_ref: "local:agents/development/qa"
|
|
303
|
-
runtime: codex
|
|
304
|
-
profile: default
|
|
305
|
-
cwd: "."
|
|
306
|
-
edges:
|
|
307
|
-
- kind: delegates_to
|
|
308
|
-
from: impl
|
|
309
|
-
to: qa
|
|
310
|
-
```
|
|
311
|
-
|
|
312
|
-
**Use when:** Focused feature work, bug fixes, small-to-medium implementation tasks.
|
|
313
|
-
|
|
314
|
-
### The Orchestrated Team
|
|
315
|
-
**5-7 agents, 3 pods.** Orchestration + development + review. The orchestrator dispatches work, the dev pair implements, the review pair validates independently.
|
|
316
|
-
|
|
317
|
-
**Use when:** Production-quality work that needs coordination and independent review.
|
|
318
|
-
|
|
319
|
-
### The Research Team
|
|
320
|
-
**3 agents, 2 pods.** Orchestrator + research pair (analyst + synthesizer). The analyst investigates deeply, the synthesizer consolidates findings.
|
|
321
|
-
|
|
322
|
-
**Use when:** Technical research, competitive analysis, architecture exploration.
|
|
323
|
-
|
|
324
|
-
### The Managed App
|
|
325
|
-
**1+ agents, 1 pod, services block.** Software infrastructure (Docker Compose) plus a specialist agent who knows how to operate it.
|
|
326
|
-
|
|
327
|
-
```yaml
|
|
328
|
-
services:
|
|
329
|
-
kind: compose
|
|
330
|
-
compose_file: docker-compose.yaml
|
|
331
|
-
wait_for:
|
|
332
|
-
- url: http://127.0.0.1:8200/v1/sys/health
|
|
333
|
-
|
|
334
|
-
pods:
|
|
335
|
-
- id: vault
|
|
336
|
-
label: Vault
|
|
337
|
-
members:
|
|
338
|
-
- id: specialist
|
|
339
|
-
agent_ref: "local:agents/apps/vault-specialist"
|
|
340
|
-
runtime: claude-code
|
|
341
|
-
profile: default
|
|
342
|
-
cwd: "."
|
|
343
|
-
edges: []
|
|
344
|
-
```
|
|
345
|
-
|
|
346
|
-
**Use when:** The work involves operating software, not just writing code.
|
|
347
|
-
|
|
348
|
-
### The Full Product Team
|
|
349
|
-
**7 agents, 3 pods.** The kitchen-sink topology: orchestration pair, development pod (impl + qa + design), review pair. See the `product-team` starter spec for the complete worked example.
|
|
350
|
-
|
|
351
|
-
**Use when:** Full product development with design, implementation, QA, and independent review. Requires strong culture and SOP content to keep all agents engaged.
|
|
352
|
-
|
|
353
|
-
## Final Notes
|
|
354
|
-
|
|
355
|
-
**Start simple, add complexity when needed.** A working implementation pair is better than a broken full team. Launch with the minimum viable topology, verify it works, then expand.
|
|
356
|
-
|
|
357
|
-
**Culture is not optional for team rigs.** Any rig with 3+ agents needs a CULTURE.md. Without it, agents will default to generic behavior and the topology will underperform.
|
|
358
|
-
|
|
359
|
-
**Validate early and often.** Run `rig spec validate` after every change. Run `rig agent validate` after every agent spec edit. Fix errors immediately — don't accumulate them.
|
|
360
|
-
|
|
361
|
-
**The startup content IS the product.** The YAML topology is scaffolding. What makes a rig actually useful is the guidance, culture, skills, and startup context that agents receive. Invest your authoring time there.
|
|
@@ -1,222 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: openrig-operator
|
|
3
|
-
description: |
|
|
4
|
-
Use when debugging host-side OpenRig runtime issues: daemon reachability, Codex permission or writable-root failures, command approval friction, rate limits/account switches, helper cleanup, or topology health confusion. NOT for ordinary CLI operation (use openrig-user) or for changing OpenRig itself (work in the openrig product repo).
|
|
5
|
-
metadata:
|
|
6
|
-
openrig:
|
|
7
|
-
stage: factory-approved
|
|
8
|
-
last_verified: "2026-05-04"
|
|
9
|
-
distribution_scope: product-bound
|
|
10
|
-
source_evidence: |
|
|
11
|
-
Bootstrap skill — NPM install lands this in personal homes (~/.claude/skills/, ~/.agents/skills/).
|
|
12
|
-
Companion to openrig-user (daily CLI surface) — this skill is host-side troubleshooting.
|
|
13
|
-
transfer_test: pending
|
|
14
|
-
sibling_skills:
|
|
15
|
-
- openrig-user
|
|
16
|
-
- openrig-architect
|
|
17
|
-
- forming-an-openrig-mental-model
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
# OpenRig Operator
|
|
21
|
-
|
|
22
|
-
## Overview
|
|
23
|
-
|
|
24
|
-
This skill covers host/runtime/operator triage around OpenRig itself.
|
|
25
|
-
Use it when the problem may be the daemon, the shell/runtime surface, or stale helper processes rather than the product workflow you are trying to run.
|
|
26
|
-
|
|
27
|
-
> **CANONICAL SURFACE NOTE (2026-05-11)** — for durable queue routing while doing
|
|
28
|
-
> operator triage, use `rig queue` (daemon-backed SQLite). `rigx queue` is
|
|
29
|
-
> recovery-only fallback; qitems written there are invisible to daemon-backed
|
|
30
|
-
> reads and should not be used for new substantive work.
|
|
31
|
-
|
|
32
|
-
## When to Use
|
|
33
|
-
|
|
34
|
-
Use this skill when you see:
|
|
35
|
-
- `rig whoami --json` returning partial identity
|
|
36
|
-
- `rig ps --nodes --json` failing while some other `rig` commands still work
|
|
37
|
-
- `Sent to ...` plus `Verified: no`
|
|
38
|
-
- repeated unified-exec-process warnings
|
|
39
|
-
- suspicion that stale helper processes are accumulating
|
|
40
|
-
- Codex seats hit `Operation not permitted`, command approval friction, or stale writable roots
|
|
41
|
-
- Codex seats report usage-limit/rate-limit or need a ChatGPT account switch
|
|
42
|
-
|
|
43
|
-
Do not use this skill for normal product workflow routing, queue handling, or ordinary peer communication. Use `openrig-user` for that.
|
|
44
|
-
|
|
45
|
-
Do not use this skill to decide how to change OpenRig behavior. Changes
|
|
46
|
-
to the OpenRig product (CLI, daemon, UI, specs) happen in the openrig
|
|
47
|
-
product repo — operate that as a normal software project, not via
|
|
48
|
-
this troubleshooting skill.
|
|
49
|
-
|
|
50
|
-
## First Checks
|
|
51
|
-
|
|
52
|
-
Start with the minimum truthful operator read:
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
rig whoami --json
|
|
56
|
-
rig daemon status
|
|
57
|
-
rig ps --nodes --json
|
|
58
|
-
```
|
|
59
|
-
|
|
60
|
-
Interpret them together, not in isolation:
|
|
61
|
-
- partial `whoami` can mean identity is inferable while daemon-backed surfaces are degraded
|
|
62
|
-
- `daemon status` tells you whether the host daemon is up, not whether every seat can reach it cleanly
|
|
63
|
-
- `ps --nodes --json` is the best machine-readable topology check when it works
|
|
64
|
-
|
|
65
|
-
## Verification Drift Vs Send Failure
|
|
66
|
-
|
|
67
|
-
For `rig send`:
|
|
68
|
-
- `Sent to ...` + `Verified: yes` = strong positive delivery evidence
|
|
69
|
-
- `Sent to ...` + `Verified: no` = ambiguous delivery, not automatic failure
|
|
70
|
-
- no `Sent to ...` line or a hard error = send failure
|
|
71
|
-
|
|
72
|
-
When verification is ambiguous, check:
|
|
73
|
-
- direct reply
|
|
74
|
-
- `rig capture <session>`
|
|
75
|
-
- transcript evidence
|
|
76
|
-
- queue/outbox state if the message asked for a durable handoff
|
|
77
|
-
|
|
78
|
-
Do not blindly retry until you have checked one of those.
|
|
79
|
-
|
|
80
|
-
## Unified Exec Warning
|
|
81
|
-
|
|
82
|
-
If you see:
|
|
83
|
-
|
|
84
|
-
- `Warning: The maximum number of unified exec processes you can keep open is 60 ...`
|
|
85
|
-
|
|
86
|
-
treat it first as a host/tooling-layer warning, not as automatic proof that the OpenRig topology is unhealthy.
|
|
87
|
-
|
|
88
|
-
This warning can coexist with a healthy live topology.
|
|
89
|
-
|
|
90
|
-
## Safe Process Triage
|
|
91
|
-
|
|
92
|
-
Inspect the process surface first:
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
ps -axo pid,ppid,command | rg 'tmux send-keys|rig queue create|tmux attach|codex|claude'
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
Think in layers:
|
|
99
|
-
- host/tooling layer: stale one-shot wrappers, session bookkeeping, helper shells
|
|
100
|
-
- topology layer: live `tmux attach` seats, live `codex` / `claude` runtimes, daemon health
|
|
101
|
-
|
|
102
|
-
Do not diagnose topology failure from tooling-layer warnings alone.
|
|
103
|
-
|
|
104
|
-
## Safe Cleanup Boundary
|
|
105
|
-
|
|
106
|
-
Usually safe to reap when clearly orphaned / one-shot:
|
|
107
|
-
- `tmux send-keys ...`
|
|
108
|
-
- short-lived shell wrappers created only to enqueue or send one message
|
|
109
|
-
|
|
110
|
-
Do not mass-kill:
|
|
111
|
-
- `tmux attach ...`
|
|
112
|
-
- `codex ...`
|
|
113
|
-
- `claude ...`
|
|
114
|
-
- other long-lived daemon/runtime processes
|
|
115
|
-
|
|
116
|
-
The point is to remove garbage, not workers.
|
|
117
|
-
|
|
118
|
-
## Terminal Node Escalation
|
|
119
|
-
|
|
120
|
-
Use a terminal node when evidence shows a seat-level sandbox/profile cannot perform required host work, but another approved operator surface can. This is an explicit operator lane, not a silent permission bypass.
|
|
121
|
-
|
|
122
|
-
Good fits:
|
|
123
|
-
- Codex/Claude seat cannot access Tart, SSH, tmux, queue directories, or host files needed for a proof
|
|
124
|
-
- a VM/test-proof or current-host-operator task needs real host capability
|
|
125
|
-
- another seat or terminal/sysadmin node has approved access and can return command evidence
|
|
126
|
-
|
|
127
|
-
Do not use this lane to bypass repo safety, dirty-worktree boundaries, review gates, or destructive-action approval. If the command would stop live rigs, delete data, reset git state, or mutate VM state beyond the accepted plan, require explicit authorization and record it.
|
|
128
|
-
|
|
129
|
-
Protocol:
|
|
130
|
-
1. Classify the original failure as seat/profile-specific if possible, not product failure.
|
|
131
|
-
2. Write or cite a packet with objective, lane, exact commands, cwd, expected outputs, stop conditions, and artifact path.
|
|
132
|
-
3. Route to an existing sysadmin/infrastructure/terminal node when available; otherwise provision a named terminal node through the topology/config layer instead of using a hidden ad hoc shell.
|
|
133
|
-
4. Terminal node runs only the packeted commands and returns command log, exit codes, cwd/env notes, and artifacts.
|
|
134
|
-
5. Original agent keeps task ownership and proof classification; terminal node supplies host capability.
|
|
135
|
-
|
|
136
|
-
Field lesson: if tester sees `Operation not permitted` for Tart/SSH while driver or another approved seat can reach the VM, treat it as permission/profile variance and route a terminal-node/operator remediation before changing product code.
|
|
137
|
-
|
|
138
|
-
## Codex Permission Policy
|
|
139
|
-
|
|
140
|
-
Use the `security-and-consequence-boundary-policy` skill for the security model.
|
|
141
|
-
OpenRig gates consequence boundaries, not ordinary work inside the intended boundary.
|
|
142
|
-
|
|
143
|
-
Treat Codex permissions as two independent layers:
|
|
144
|
-
- command approval rules decide which shell commands can run outside the sandbox
|
|
145
|
-
- filesystem writable roots decide which paths a `workspace-write` seat can mutate
|
|
146
|
-
|
|
147
|
-
Codex `auto_review`, `--full-auto`, and approval-bypass modes are not normal fleet defaults. They
|
|
148
|
-
can burn quota catastrophically and do not widen filesystem roots for an already-running seat. Full
|
|
149
|
-
access scope with `approvals_reviewer = "user"` is the intended Codex default here.
|
|
150
|
-
|
|
151
|
-
Claude Code auto permissions are different and are the preferred Claude default on this host when
|
|
152
|
-
the consequence-boundary rules still apply.
|
|
153
|
-
|
|
154
|
-
Current host policy:
|
|
155
|
-
- default profile is `fleet`
|
|
156
|
-
- `fleet` uses `sandbox_mode = "danger-full-access"`, `approval_policy = "on-request"`, `approvals_reviewer = "user"`
|
|
157
|
-
- top-level `[sandbox_workspace_write].writable_roots` intentionally includes `~/code` and tool dotdirs: `.codex`, `.claude`, `.openrig`, `.agents`, `.config`, `.cache`, `.local`, `.docker`, `.npm`, `.nvm`, `.pnpm-store`
|
|
158
|
-
- `permissions.fleet.filesystem` mirrors those writes and denies `.ssh`, `.gnupg`, and project env files
|
|
159
|
-
- `default.rules` broadly allows `rig` and `rigx`; `rigx` is fully permitted for now because it is the fast-moving config-layer overlay
|
|
160
|
-
- `default.rules` still prompts for destructive/publishing surfaces such as `rm`, `mv`, `chmod`, `git push`, PR mutation, `sudo`, process kills, daemon lifecycle, and destructive Docker/Brew/rig commands
|
|
161
|
-
|
|
162
|
-
## Codex Account / Usage-Limit Refresh
|
|
163
|
-
|
|
164
|
-
When Codex seats hit usage limits or need a ChatGPT/OpenAI account rotation, use the focused
|
|
165
|
-
`codex-seat-auth-refresh` skill instead of improvising.
|
|
166
|
-
|
|
167
|
-
Key reminder: host auth can switch while already-running Codex TUIs keep the old account. Refresh
|
|
168
|
-
only the scoped seats, preserve stable seat names, and record auth-seat registry rows sequentially.
|
|
169
|
-
|
|
170
|
-
Known failure modes this policy prevents:
|
|
171
|
-
- Codex seats assuming a task is impossible when the real issue is stale launch roots
|
|
172
|
-
- agents creating workaround slices/features for what is actually a sandbox/config problem
|
|
173
|
-
- writing load-bearing canon into `state/`, `/tmp`, or a nearby writable folder because the intended durable path was blocked
|
|
174
|
-
- trusting labels like `full access`; verify actual roots and command policy instead
|
|
175
|
-
- changing `config.toml` and expecting already-running seats to pick it up without restart
|
|
176
|
-
|
|
177
|
-
When `Operation not permitted` appears:
|
|
178
|
-
1. Identify whether it is command approval, filesystem root, macOS privacy, or stale session.
|
|
179
|
-
2. Check effective roots with `codex -p fleet debug prompt-input <probe-name>`.
|
|
180
|
-
3. Verify with a tiny direct write probe in an allowed target and a negative probe in a protected target such as `.ssh`.
|
|
181
|
-
4. If `config.toml` changed, restart one seat and re-run the probes before fleet rollout.
|
|
182
|
-
5. If the target should be durable and is not writable, stop and escalate; do not invent fallback storage.
|
|
183
|
-
|
|
184
|
-
Field note: as of Codex CLI `0.125.0`, top-level `[sandbox_workspace_write]` was the shape reflected by `debug prompt-input`; profile-scoped writable roots did not show in the effective prompt. Re-test this if Codex changes.
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
## Durable Write Escalation
|
|
188
|
-
|
|
189
|
-
If the task requires writing load-bearing knowledge or behavior and the intended target is not writable, stop and escalate. Do not silently write to `state/`, `/tmp`, or a nearby writable folder.
|
|
190
|
-
|
|
191
|
-
Use the intended durable home for the kind of content:
|
|
192
|
-
- `skills/` (e.g. `~/.claude/skills/`, `~/.agents/skills/`, or your team's
|
|
193
|
-
shared skill folder) for operating rules and refocus behavior
|
|
194
|
-
- Your team's workstream notebook (field notes, lab experiments, mission
|
|
195
|
-
packets, etc.) for durable observations and PM canon
|
|
196
|
-
- The product repo for shipped OpenRig daemon/CLI/config/spec/test behavior
|
|
197
|
-
|
|
198
|
-
A runtime mirror under a rig `state/` path may be used only as a temporary live patch, must be labeled as non-canonical, and must have a canonical sync follow-up.
|
|
199
|
-
|
|
200
|
-
## Common Mistakes
|
|
201
|
-
|
|
202
|
-
- treating `Verified: no` as if it proves the message did not land
|
|
203
|
-
- treating the unified-exec warning as if it proves the rig is overloaded
|
|
204
|
-
- killing live seats when only stale helper wrappers needed cleanup
|
|
205
|
-
- concluding "daemon down" from one seat's failure without checking host-level daemon status
|
|
206
|
-
- assuming Codex config changes apply to already-running seats without a restart/probe
|
|
207
|
-
- confusing command approval with filesystem write permission
|
|
208
|
-
- calling a VM or product path broken before comparing another approved seat or terminal-node probe
|
|
209
|
-
- assuming a label like `full access` proves effective write/network capability; verify command approval and filesystem writable-root coverage separately
|
|
210
|
-
|
|
211
|
-
## Practical Rule
|
|
212
|
-
|
|
213
|
-
Clean the smallest safe surface that matches the evidence.
|
|
214
|
-
|
|
215
|
-
If the warning or failure remains after stale-wrapper cleanup, re-check:
|
|
216
|
-
|
|
217
|
-
```bash
|
|
218
|
-
rig daemon status
|
|
219
|
-
rig ps --nodes --json
|
|
220
|
-
```
|
|
221
|
-
|
|
222
|
-
If those remain healthy, the residual issue may still be in the host/tool/session layer rather than in OpenRig topology state.
|