@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
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: session-source-fork
|
|
3
|
+
description: |
|
|
4
|
+
Use when authoring a rig spec member or `rig expand` payload that needs to start a new managed seat from a prior runtime conversation source — `session_source: { mode: fork, ref: { kind, value } }`. v1 supports `mode: fork` with `ref.kind: native_id` for Claude and Codex. The new seat persists a NEW post-fork token; the parent token is NEVER written onto the new seat. NOT for restoring an existing seat or for artifact-backed mental-model rebuild.
|
|
5
|
+
metadata:
|
|
6
|
+
openrig:
|
|
7
|
+
stage: factory-approved
|
|
8
|
+
sibling_skills:
|
|
9
|
+
- claude-compaction-restore
|
|
10
|
+
- mental-model-ha
|
|
11
|
+
- scope-recovery
|
|
12
|
+
- session-compaction-and-restore
|
|
13
|
+
- agent-startup-and-context-ingestion
|
|
14
|
+
- agent-starters
|
|
15
|
+
- composable-priming-packs
|
|
16
|
+
- seat-continuity-and-handover
|
|
17
|
+
- claude-compact-in-place
|
|
18
|
+
- pre-maintenance-agent-preservation
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# session_source Fork
|
|
22
|
+
|
|
23
|
+
`session_source` is a **member-level OpenRig field** that declares how a
|
|
24
|
+
newly-launched managed seat should derive its initial conversation
|
|
25
|
+
continuity from a prior runtime conversation source.
|
|
26
|
+
|
|
27
|
+
v1 supports one mode: **`fork`** — start a *new* managed seat from a
|
|
28
|
+
prior native runtime conversation source without claiming the original
|
|
29
|
+
seat continued.
|
|
30
|
+
|
|
31
|
+
The schema is runtime-neutral; implementation is runtime-specific (Claude
|
|
32
|
+
and Codex have their own native fork commands).
|
|
33
|
+
|
|
34
|
+
## Use this when
|
|
35
|
+
|
|
36
|
+
- Authoring a rig spec member that should fork from a prior session
|
|
37
|
+
- Authoring a `rig expand` payload with `session_source`
|
|
38
|
+
- Reasoning about whether to use `fork` vs `rebuild` vs `resume` vs `fresh` for a new seat
|
|
39
|
+
- Composing fork + handover (seat-handover-over-fork) — see `seat-continuity-and-handover` skill
|
|
40
|
+
|
|
41
|
+
## Don't use this when
|
|
42
|
+
|
|
43
|
+
- The seat is being **restored**, not created. Restore continues an existing managed seat. Fork creates a new seat.
|
|
44
|
+
- The continuity is **artifact-backed mental-model rebuild** (packet-derived understanding, not native runtime continuity). Use `mode: rebuild` (see `seat-continuity-and-handover` for the rebuild surface) — do NOT collapse fork into artifact-backed reentry; the distinction is load-bearing.
|
|
45
|
+
- The runtime is `terminal`. Terminal runtime rejects `session_source`.
|
|
46
|
+
|
|
47
|
+
## The shape (canonical YAML)
|
|
48
|
+
|
|
49
|
+
```yaml
|
|
50
|
+
members:
|
|
51
|
+
- id: reviewer-2
|
|
52
|
+
runtime: claude-code # or "codex"; not valid on terminal
|
|
53
|
+
agent_ref: specs/agents/reviewer.yaml
|
|
54
|
+
profile: reviewer
|
|
55
|
+
cwd: .
|
|
56
|
+
session_source:
|
|
57
|
+
mode: fork
|
|
58
|
+
ref:
|
|
59
|
+
kind: native_id # v1 fork mode supports native_id only
|
|
60
|
+
value: "0b0165d7-cb4d-4650-90de-15c0a1ede9e6"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Rules:
|
|
64
|
+
- `mode` v1 only valid value: `fork`.
|
|
65
|
+
- `ref.kind` v1 supports `native_id` only. Schema rejects `artifact_path`, `name`, `last`, and `artifact_set` pre-launch with explicit deferred/weaker/wrong-mode error messages (see `packages/daemon/src/domain/rigspec-schema.ts` validateSessionSourceFork). Adapter-level refusal exists as defensive handling but should not be reachable in v1 because schema rejects first.
|
|
66
|
+
- `value` required for `ref.kind: native_id` in v1 (the only schema-accepted kind). Future-state value semantics for `artifact_path` / `name` / `last` are not active in v1 because schema rejects those kinds pre-launch.
|
|
67
|
+
- `rig expand` accepts the same shape so dynamically-added members can carry session-source attribution.
|
|
68
|
+
|
|
69
|
+
The primitive does NOT introduce a new top-level command. It flows
|
|
70
|
+
through existing rig spec and expansion pathways.
|
|
71
|
+
|
|
72
|
+
## State model
|
|
73
|
+
|
|
74
|
+
`session_source` is a **launch-time input**, not a long-lived stateful field:
|
|
75
|
+
|
|
76
|
+
1. **Declared** — present in member config or expansion payload
|
|
77
|
+
2. **Resolved** — at launch time, OpenRig resolves the `ref` against the runtime
|
|
78
|
+
3. **Realized** — runtime fork succeeds; new managed seat receives a **NEW** native continuity token (Claude session id or Codex thread id). OpenRig persists that NEW token. **Parent token is NEVER written onto the new seat.**
|
|
79
|
+
4. **Failed** — resolution or fork failed; seat not launched as a fork; clear error names the resolution step that failed
|
|
80
|
+
|
|
81
|
+
Once realized, `session_source` is essentially history. Restoring the
|
|
82
|
+
seat later is `restore` of the new seat, not re-fork-from-parent.
|
|
83
|
+
|
|
84
|
+
## Failure modes (5)
|
|
85
|
+
|
|
86
|
+
1. **Source session id not found** — runtime cannot resolve `native_id`. **Action**: emit error naming runtime + missing id; do NOT silently launch fresh. (Future-state note: when `artifact_path` is supported in a follow-up slice, it could become a candidate fallback for Claude; in v1 schema rejects `artifact_path` pre-launch so no fallback path exists.)
|
|
87
|
+
2. **Source artifact path missing** *(out of v1 scope)* — would apply once `ref.kind: artifact_path` becomes schema-accepted. v1 schema rejects this kind pre-launch.
|
|
88
|
+
3. **Unsupported runtime/kind combination** *(largely pre-empted in v1 by schema rejection)* — schema rejects all non-`native_id` kinds upfront. Adapter-level refusal exists as defensive handling but is not reached in v1.
|
|
89
|
+
4. **Fork launch failed after source resolution** — runtime command (`claude --resume <parent> --fork-session` or `codex fork <id>`) returned non-zero or hung. Preserve runtime stderr; do not record new seat as launched; do not write parent token onto seat.
|
|
90
|
+
5. **Persistence inconsistency** — fork succeeded but seat-token persistence cannot record new continuity token. **Internal failure**: seat is not considered launched until new token is durably written.
|
|
91
|
+
|
|
92
|
+
## Honest UX rule (verbatim)
|
|
93
|
+
|
|
94
|
+
The primitive must NOT report "restored the original agent" or "resumed
|
|
95
|
+
the original seat" or "snapshot." The correct framing is **"forked from
|
|
96
|
+
source session"** / **"started from prior conversation source."**
|
|
97
|
+
|
|
98
|
+
Negative-grep over adapter source confirms ZERO `restored` / `resumed` /
|
|
99
|
+
`snapshot` strings in fork code paths.
|
|
100
|
+
|
|
101
|
+
## Hard boundaries (do-not list; verbatim)
|
|
102
|
+
|
|
103
|
+
- **Do NOT introduce a new top-level command** (e.g., `rig fork`). The primitive flows through existing spec/expansion pathways.
|
|
104
|
+
- **Do NOT report "restored" / "resumed the original seat" / "snapshot"** in any UX surface.
|
|
105
|
+
- **Do NOT couple `session_source` to AgentSpec.** It's a member-level launch-time input.
|
|
106
|
+
- **Do NOT change `restore` semantics.** `session_source` creates a seat; `restore` continues an existing managed seat.
|
|
107
|
+
|
|
108
|
+
## Adapter command shape (shipped v1)
|
|
109
|
+
|
|
110
|
+
| Runtime | Command shape |
|
|
111
|
+
|---|---|
|
|
112
|
+
| Claude (`mode: fork` + `ref.kind: native_id`) | `claude --resume <parent-id> --fork-session` |
|
|
113
|
+
| Codex (`mode: fork` + `ref.kind: native_id`) | `codex... fork <parent-id>` |
|
|
114
|
+
| Terminal | Rejected at schema level |
|
|
115
|
+
|
|
116
|
+
Mutual exclusion between `resumeToken` (restore path) and `forkSource`
|
|
117
|
+
(fork path) is enforced at three layers in the daemon.
|
|
118
|
+
|
|
119
|
+
## Continuity outcome literals
|
|
120
|
+
|
|
121
|
+
| Outcome | When |
|
|
122
|
+
|---|---|
|
|
123
|
+
| `forked` | Fork succeeded; new seat has new native token; parent never written onto new seat |
|
|
124
|
+
| `fresh` | Fresh launch (no `session_source` declared) |
|
|
125
|
+
| `resumed` | Restore of existing managed seat |
|
|
126
|
+
| `failed` | Resolution or fork failed |
|
|
127
|
+
|
|
128
|
+
For `seat handover over fork` composition, the binding outcome is
|
|
129
|
+
independent (see `seat-continuity-and-handover` skill).
|
|
130
|
+
|
|
131
|
+
## Active-daemon caveat (live-runtime gap)
|
|
132
|
+
|
|
133
|
+
2026-04-30 live scale-out dogfood found: source checkout contained fork
|
|
134
|
+
support, but active daemon was running from a pre-fork commit. **Verify
|
|
135
|
+
the active daemon/runtime commit contains the fork path before live
|
|
136
|
+
proof.** Isolated daemon proof at the target commit can prove the
|
|
137
|
+
feature safely; live forked scale-out remains unproven until the active
|
|
138
|
+
daemon parity is verified.
|
|
139
|
+
|
|
140
|
+
## Currently shipped (v1) vs deferred
|
|
141
|
+
|
|
142
|
+
Shipped at openrig `c7b6df1` (2026-04-30):
|
|
143
|
+
- Schema accept/reject for full Honest Refusal Matrix
|
|
144
|
+
- Codec roundtrip (serialize → parse → normalize preserves `session_source` faithfully)
|
|
145
|
+
- Expansion path through `rig expand` member-input
|
|
146
|
+
- Adapter command shape for Claude + Codex `native_id`
|
|
147
|
+
- Persistence honesty (seat's `resume_token` is the NEW post-fork token; parent token NEVER written)
|
|
148
|
+
- Honest UX literal contract (`continuityOutcome: forked`)
|
|
149
|
+
|
|
150
|
+
Deferred:
|
|
151
|
+
- Tier 2 real-runtime fork proof (disposable Tart VM cycle, human-gated)
|
|
152
|
+
- Claude `artifact_path` mode (schema currently refuses with deferred message)
|
|
153
|
+
- Provenance columns (`parent_native_id` / `created_via` for queryable RSI consumer)
|
|
154
|
+
- Cross-host fork (source on host A, new seat on host B) — depends on `cross-host-rig-commands`
|
|
155
|
+
|
|
156
|
+
## See also
|
|
157
|
+
|
|
158
|
+
- `seat-continuity-and-handover` skill — sibling occupant-creation primitives (resume / fork / rebuild / fresh) + seat-binding (handover composes with fork)
|
|
159
|
+
- `agent-starters` skill — composes session_source fork into named reusable starting points
|
|
160
|
+
- `cross-host-rig-commands` skill — multi-host fork (deferred)
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: specification-system
|
|
3
|
+
description: Use when authoring rig specs, agent specs, workflow specs, startup/context fragments, operating-mode declarations, or designing the user spec library. Covers the 4 failure modes (spec instantiates topology but not workflow/mode; spec depends on local paths and fails on another host; agents modify specs as one-off files instead of preserving reusable intent; validation proves YAML shape but not whether topology can run) and the validation-vs-runtime-realization distinction.
|
|
4
|
+
metadata:
|
|
5
|
+
cli_surfaces_referenced:
|
|
6
|
+
- agent
|
|
7
|
+
- bundle
|
|
8
|
+
- spec
|
|
9
|
+
- specs
|
|
10
|
+
openrig:
|
|
11
|
+
stage: factory-approved
|
|
12
|
+
sibling_skills:
|
|
13
|
+
- rig-lifecycle
|
|
14
|
+
- topology-mutation-and-seat-management
|
|
15
|
+
- seat-scaling-and-specialization
|
|
16
|
+
- cross-host-rig-commands
|
|
17
|
+
- sidecar-operator
|
|
18
|
+
- rig-bundles-and-shareable-artifacts
|
|
19
|
+
- extension-and-user-workspace
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# Specification System
|
|
23
|
+
|
|
24
|
+
The declarative primitive family for OpenRig intent: **rig specs, agent
|
|
25
|
+
specs, workflow specs, startup/context fragments, operating-mode
|
|
26
|
+
declarations, and the user spec library that stores and reuses them.**
|
|
27
|
+
|
|
28
|
+
Specs are how humans and agents describe **repeatable topology and
|
|
29
|
+
behavior** without re-explaining it in chat. They are also shareable
|
|
30
|
+
artifacts: a user should be able to publish a spec or spec family so
|
|
31
|
+
another user can instantiate the same rig shape, role structure, or
|
|
32
|
+
workflow pattern.
|
|
33
|
+
|
|
34
|
+
**Without a dependable spec primitive, OpenRig depends on manual
|
|
35
|
+
startup prompts and tribal memory.** That blocks repeatability, product
|
|
36
|
+
demos, rig bundles, and autonomous rig construction.
|
|
37
|
+
|
|
38
|
+
## Use this when
|
|
39
|
+
|
|
40
|
+
- Authoring a RigSpec / AgentSpec / workflow spec
|
|
41
|
+
- Designing a startup/context fragment
|
|
42
|
+
- Reasoning about spec-library lifecycle (validation, sharing, upgrade semantics)
|
|
43
|
+
- Auditing a spec for portability (does it run on another host?)
|
|
44
|
+
- Distinguishing spec vs bundle vs extension cleanly
|
|
45
|
+
|
|
46
|
+
## Don't use this when
|
|
47
|
+
|
|
48
|
+
- The work is one-off and won't be reused. Manual rig assembly is fine for one-shot work.
|
|
49
|
+
- The intent is to package a topology + workflow as a shareable artifact. That's `rig-bundles-and-shareable-artifacts`.
|
|
50
|
+
- The intent is to add runtime behavior. That's `extension-and-user-workspace`.
|
|
51
|
+
|
|
52
|
+
## Failure modes (4)
|
|
53
|
+
|
|
54
|
+
1. **A spec can instantiate a topology but not the workflow or operating mode needed to use it.** Topology is necessary but not sufficient — workflow and operating mode must be declared too.
|
|
55
|
+
2. **A shared spec depends on local paths or hidden startup fragments and fails on another host.** Specs must be self-describing for portability.
|
|
56
|
+
3. **Agents modify specs as one-off files instead of preserving reusable user/library intent.** Specs are reusable; treating each instance as one-off destroys the primitive's value.
|
|
57
|
+
4. **Validation proves YAML shape but not whether the declared topology can actually run.** Structural validation is not enough; runtime realization is the real proof.
|
|
58
|
+
|
|
59
|
+
## Proof standard
|
|
60
|
+
|
|
61
|
+
Proof should:
|
|
62
|
+
|
|
63
|
+
1. Author a spec
|
|
64
|
+
2. Validate it (structural)
|
|
65
|
+
3. Install it (into spec library)
|
|
66
|
+
4. Instantiate it on a **clean OpenRig environment**
|
|
67
|
+
5. Show **both structural validation AND runtime realization**
|
|
68
|
+
|
|
69
|
+
Validation alone is insufficient.
|
|
70
|
+
|
|
71
|
+
## Spec / bundle / extension boundary
|
|
72
|
+
|
|
73
|
+
| Concept | Declares | Example |
|
|
74
|
+
|---|---|---|
|
|
75
|
+
| **Spec** | Topology / role / workflow shape (declarative intent) | `rig.yaml`, `agent.yaml`, `workflow.yaml` |
|
|
76
|
+
| **Bundle** | Spec(s) + supporting fragments packaged for shareable instantiation | A Velocity Team bundle |
|
|
77
|
+
| **Extension** | Runtime behavior added to user workspace | RigX command, custom view |
|
|
78
|
+
|
|
79
|
+
Don't conflate them. The contract should distinguish spec, bundle, and
|
|
80
|
+
extension cleanly.
|
|
81
|
+
|
|
82
|
+
## Currently shipped surfaces
|
|
83
|
+
|
|
84
|
+
OpenRig already has:
|
|
85
|
+
|
|
86
|
+
- RigSpec / AgentSpec authoring (`agent.yaml`, `rig.yaml` formats; see `openrig-architect` skill)
|
|
87
|
+
- Workflow specs (markdown/YAML files, daemon read-through cache via `workflow_specs` table; see `workflow-runtime` skill)
|
|
88
|
+
- Bundle/spec command surface (`rig bundle / spec / agent / specs ls/show/preview/add/sync/remove/rename`)
|
|
89
|
+
- Spec library (filesystem-backed at `packages/daemon/specs/` + `~/.openrig/specs/` per cli-reference.md)
|
|
90
|
+
|
|
91
|
+
Not yet shipped:
|
|
92
|
+
- Spec library lifecycle (validation, sharing, upgrade) treated as a first-class primitive
|
|
93
|
+
- Cross-host spec sharing
|
|
94
|
+
- Marketplace / public registry
|
|
95
|
+
|
|
96
|
+
## See also
|
|
97
|
+
|
|
98
|
+
- `openrig-architect` skill — RigSpec / AgentSpec authoring discipline
|
|
99
|
+
- `workflow-runtime` skill — workflow spec authoring + transactional-scribe contract
|
|
100
|
+
- `rig-bundles-and-shareable-artifacts` skill — bundle is the packaged form of specs
|
|
101
|
+
- `extension-and-user-workspace` skill — extensions add runtime behavior; specs declare intent
|
|
102
|
+
- `openrig/docs/reference/rig-spec.md` (product reference doc) — RigSpec format specification
|
|
103
|
+
- `openrig/docs/reference/agent-spec.md` (product reference doc) — AgentSpec format specification
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: topology-mutation-and-seat-management
|
|
3
|
+
description: Use when changing a rig while it is alive — `rig expand` / `rig shrink` / `rig launch` / `rig remove` / `rig discover` / `rig bind` / `rig adopt` / `rig attach`. Covers the 4 failure modes (newly created seat lacks queue/startup/role; edges and permissions not updated; adopt/bind succeeds at tmux but not OpenRig identity; shrink/remove leaves stale topology references) and the rule that mutation must work while the rig is active, not just in clean fixtures.
|
|
4
|
+
metadata:
|
|
5
|
+
cli_surfaces_referenced:
|
|
6
|
+
- adopt
|
|
7
|
+
- attach
|
|
8
|
+
- bind
|
|
9
|
+
- discover
|
|
10
|
+
- expand
|
|
11
|
+
- launch
|
|
12
|
+
- ps
|
|
13
|
+
- release
|
|
14
|
+
- remove
|
|
15
|
+
- shrink
|
|
16
|
+
- unclaim
|
|
17
|
+
- up
|
|
18
|
+
- whoami
|
|
19
|
+
openrig:
|
|
20
|
+
stage: factory-approved
|
|
21
|
+
sibling_skills:
|
|
22
|
+
- rig-lifecycle
|
|
23
|
+
- seat-scaling-and-specialization
|
|
24
|
+
- cross-host-rig-commands
|
|
25
|
+
- sidecar-operator
|
|
26
|
+
- rig-bundles-and-shareable-artifacts
|
|
27
|
+
- specification-system
|
|
28
|
+
- extension-and-user-workspace
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
# Topology Mutation and Seat Management
|
|
32
|
+
|
|
33
|
+
The ability to change a rig **while it is alive**: expand, shrink,
|
|
34
|
+
launch, remove, discover, bind, adopt, and attach seats or sessions.
|
|
35
|
+
Seat management includes the **stable identifiers, edges, roles, and
|
|
36
|
+
startup context** that make those mutations coherent.
|
|
37
|
+
|
|
38
|
+
**OpenRig should be easy to reach for.** A user should be able to add
|
|
39
|
+
capacity, retire capacity, adopt an existing session, or attach a
|
|
40
|
+
terminal **without rebuilding the whole topology.** If mutation is
|
|
41
|
+
rarely tested, users avoid it and the product collapses back into
|
|
42
|
+
static launch scripts.
|
|
43
|
+
|
|
44
|
+
## Use this when
|
|
45
|
+
|
|
46
|
+
- Adding capacity to a running rig (`rig expand <rig> <pod-fragment-path>`)
|
|
47
|
+
- Removing capacity (`rig shrink` / `rig remove`)
|
|
48
|
+
- Launching/relaunching a node in a running rig (`rig launch`)
|
|
49
|
+
- Binding a discovered session into an existing logical node (`rig bind`)
|
|
50
|
+
- Adopting a topology + binding live sessions (`rig adopt`)
|
|
51
|
+
- Attaching a shell or agent into a rig node (`rig attach --self`)
|
|
52
|
+
|
|
53
|
+
## Don't use this when
|
|
54
|
+
|
|
55
|
+
- The rig is being created fresh from scratch — use `rig up` (lifecycle, not mutation)
|
|
56
|
+
- The intent is to scale specifically (add specialized capacity) — use `seat-scaling-and-specialization` skill
|
|
57
|
+
- The intent is occupant replacement on a stable seat — use `seat-continuity-and-handover` skill
|
|
58
|
+
|
|
59
|
+
## Failure modes (4)
|
|
60
|
+
|
|
61
|
+
1. **A newly created seat lacks the queue, startup context, or role files it needs to operate.** Topology mutation creates the seat, but the seat needs more than a tmux session to be useful.
|
|
62
|
+
2. **Edges and permissions are not updated when a seat is added or removed.** Topology references go stale; later workflows route to nonexistent seats.
|
|
63
|
+
3. **Adopt/bind succeeds at the tmux/session layer but not at the OpenRig identity layer.** The session is attached but `rig whoami` doesn't know about it; downstream consumers see partial state.
|
|
64
|
+
4. **Shrink/remove leaves stale topology references that later workflows route into.** Cleanup is part of the operation, not an afterthought.
|
|
65
|
+
|
|
66
|
+
## Proof standard
|
|
67
|
+
|
|
68
|
+
Proof must cover **mutation while a rig is active**, not just in a
|
|
69
|
+
clean test fixture. The useful matrix:
|
|
70
|
+
|
|
71
|
+
| Operation | What to verify |
|
|
72
|
+
|---|---|
|
|
73
|
+
| Add seat | New seat has queue, startup context, role; `rig whoami` resolves it |
|
|
74
|
+
| Remove seat | Stale references cleaned; edges/permissions updated |
|
|
75
|
+
| Adopt existing session | tmux session bound at OpenRig identity layer; `rig whoami` reports correctly |
|
|
76
|
+
| Attach observer terminal | External CLI attachment recorded |
|
|
77
|
+
| Verify topology projections after each move | `rig ps --nodes` reflects current truth, not pre-mutation cache |
|
|
78
|
+
|
|
79
|
+
A clean-fixture proof is necessary but not sufficient. Live-rig proof
|
|
80
|
+
catches the failure modes that fixture-mode misses.
|
|
81
|
+
|
|
82
|
+
## Why important strategically
|
|
83
|
+
|
|
84
|
+
The current coordination experiments repeatedly need new queues,
|
|
85
|
+
watchdogs, humans, and test seats — which makes this family
|
|
86
|
+
**strategically important.** Seat continuity work will eventually
|
|
87
|
+
separate stable seat identity from runtime occupant identity (see
|
|
88
|
+
`seat-continuity-and-handover`).
|
|
89
|
+
|
|
90
|
+
## Currently shipped surfaces
|
|
91
|
+
|
|
92
|
+
Per `cli-reference.md` v0.2.0:
|
|
93
|
+
|
|
94
|
+
- `rig expand <rig-id> <pod-fragment-path>` (with optional `session_source`)
|
|
95
|
+
- `rig shrink <rigId> <podRef>`
|
|
96
|
+
- `rig launch <rigId> <nodeRef>`
|
|
97
|
+
- `rig remove <rigId> <nodeRef>`
|
|
98
|
+
- `rig discover [--draft]`
|
|
99
|
+
- `rig bind <discoveredId> --rig <rigId> (--node <id> | --pod <ns> --member <name>)`
|
|
100
|
+
- `rig adopt <path> --bind <logicalId=tmuxSessionOrDiscoveryId>`
|
|
101
|
+
- `rig attach --self --rig <rigId> --node <logicalId>`
|
|
102
|
+
- `rig unclaim <sessionRef>` / `rig release <rigId>`
|
|
103
|
+
|
|
104
|
+
## Active proof gap (current)
|
|
105
|
+
|
|
106
|
+
The 2026-04-30 topology mutation add-seat proof pass is **active**.
|
|
107
|
+
Product Lab shaped it; planner authored `IMPLEMENTATION.md`; driver
|
|
108
|
+
landed the smallest honest CLI retry-guidance patch for failed
|
|
109
|
+
`rig expand` recovery. **Remaining proof is the Section B disposable-rig
|
|
110
|
+
runtime matrix, blocked on operator posture** and owned by
|
|
111
|
+
`orch-lead@your-rig`.
|
|
112
|
+
|
|
113
|
+
## See also
|
|
114
|
+
|
|
115
|
+
- `openrig-user` skill — CLI surface for `rig expand / shrink / launch / remove / bind / adopt / attach`
|
|
116
|
+
- `seat-scaling-and-specialization` skill — when to add specialized capacity vs generic
|
|
117
|
+
- `seat-continuity-and-handover` skill — replacing an occupant on a stable seat (different shape than topology mutation)
|
|
118
|
+
- `cross-host-rig-commands` skill — cross-host topology mutation (deferred)
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: watchdog
|
|
3
|
+
description: Use when configuring `rig watchdog` policies, authoring wake/refocus/alignment-checkpoint messages, or choosing the right intervention level for a stale-owner situation. The 3-level continuity-check stack (wake / refocus / alignment-checkpoint), the discipline that prevents cadence pollution and bureaucracy theater, and the artifact-pool loop-edge pattern for evidence-aware waking.
|
|
4
|
+
metadata:
|
|
5
|
+
openrig:
|
|
6
|
+
stage: factory-approved
|
|
7
|
+
sibling_skills:
|
|
8
|
+
# Sibling sweep 2026-07-19 audit: superseded control-plane-* family
|
|
9
|
+
# dropped (control-plane-watchdog now redirects HERE); kept the
|
|
10
|
+
# genuinely adjacent set.
|
|
11
|
+
- queue-handoff
|
|
12
|
+
- workflow-runtime
|
|
13
|
+
- alignment-trace
|
|
14
|
+
- looping-workflows
|
|
15
|
+
- intake-routing
|
|
16
|
+
- human-in-the-loop
|
|
17
|
+
- status-not-chat-orchestrator
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Watchdog
|
|
21
|
+
|
|
22
|
+
Continuity checks are timed or evidence-triggered interventions that
|
|
23
|
+
keep an agent workflow from going idle, drifting, or entering needless
|
|
24
|
+
bureaucracy. They operationalize the alignment-trace doctrine.
|
|
25
|
+
|
|
26
|
+
## Use this when
|
|
27
|
+
|
|
28
|
+
- **Authoring a watchdog policy** for a long-running rig (artifact-pool
|
|
29
|
+
edges, stale-owner detection, periodic reminders).
|
|
30
|
+
- **Choosing the intervention level** for a stale-owner situation: is
|
|
31
|
+
this a wake, a refocus, or an alignment checkpoint?
|
|
32
|
+
- **Drafting wake/refocus/alignment-checkpoint message text** that
|
|
33
|
+
prevents cadence pollution and bureaucracy theater.
|
|
34
|
+
- **Deciding cadence** — scan vs wake intervals, conservative vs
|
|
35
|
+
aggressive nudging.
|
|
36
|
+
|
|
37
|
+
## Don't use this when
|
|
38
|
+
|
|
39
|
+
- The agent is actively working and closing artifacts. Prefer no-op.
|
|
40
|
+
- The intervention is masking bad startup or workflow design — fix the
|
|
41
|
+
underlying cause, don't compensate via watchdog.
|
|
42
|
+
- The work has a clear next-action handoff already in queue. Use queue
|
|
43
|
+
nudges instead of a watchdog policy.
|
|
44
|
+
|
|
45
|
+
## The 3-level intervention stack
|
|
46
|
+
|
|
47
|
+
| Level | Goal | When | What it does |
|
|
48
|
+
|---|---|---|---|
|
|
49
|
+
| **Wake** | Restart motion | Owner appears idle, stale, blocked, or missing a next handoff | Small liveness nudge — does NOT reframe the work |
|
|
50
|
+
| **Refocus** | Correct drift | Output shows mode drift, approval regression, weak stop-condition reasoning | Medium alignment nudge — re-centers on role, north star, current approved workstream, coordination mode, stop conditions; does NOT interrupt valid work |
|
|
51
|
+
| **Alignment checkpoint** | Rebuild shared map | Phase boundary, lifecycle mutation, product-intent decision, confusing contradiction | Larger deliberate pause — agent runs full alignment-trace before proceeding |
|
|
52
|
+
|
|
53
|
+
`cron`, timers, and `rig watchdog` are scheduling substrates. They
|
|
54
|
+
should NOT imply that every tick means the same semantic action. The
|
|
55
|
+
intervention level is chosen by evidence, not cadence.
|
|
56
|
+
|
|
57
|
+
## Current best practice for refocus message text
|
|
58
|
+
|
|
59
|
+
A well-shaped refocus message:
|
|
60
|
+
|
|
61
|
+
- Starts with: **finish current action first**.
|
|
62
|
+
- Names the intervention kind: wake, refocus, or alignment checkpoint.
|
|
63
|
+
- Names the current approved workstream or says none is known.
|
|
64
|
+
- Says what continuity means: continue, verify, hand off, or explicitly park.
|
|
65
|
+
- Names stop conditions: scope/risk/posture changes, failed gate, contradictory evidence, or no continuity chain naming a sensible next step.
|
|
66
|
+
- Does NOT convert itself into a fresh approval gate.
|
|
67
|
+
- Does NOT wake delivery seats unless an approved workflow exists and the owner is stale.
|
|
68
|
+
|
|
69
|
+
## Failure modes (7; verbatim)
|
|
70
|
+
|
|
71
|
+
1. Cadence is too frequent and pollutes the workstream.
|
|
72
|
+
2. Watchdog wakes the wrong seat instead of the stale owner.
|
|
73
|
+
3. Refocus text is too rule-shaped and creates brittle behavior.
|
|
74
|
+
4. Watchdog compensates for bad startup or workflow design instead of revealing it.
|
|
75
|
+
5. Refocus is misread as a new top-priority task and interrupts the current action.
|
|
76
|
+
6. Refocus becomes bureaucracy theater: an already-approved workflow stops for re-approval.
|
|
77
|
+
7. Repeated static nudges teach agents to answer the reminder instead of progressing the artifact.
|
|
78
|
+
|
|
79
|
+
## Artifact-pool loop edges (the first evidence-aware pattern)
|
|
80
|
+
|
|
81
|
+
The first evidence-aware watchdog use that should remain small and
|
|
82
|
+
explicit:
|
|
83
|
+
|
|
84
|
+
- **Consumer-pool wake**: if a ready artifact exists, wake the consumer loop head.
|
|
85
|
+
- **Producer-edge repair**: if upstream completion exists but the downstream artifact is missing, wake the producer loop head.
|
|
86
|
+
|
|
87
|
+
**Scan cadence and wake cadence are separate.** Worked example (from the
|
|
88
|
+
RSI v2 mission, now archived — the numbers are era-specific, the
|
|
89
|
+
scan-vs-wake separation is the durable rule): scan every 30 seconds, wake
|
|
90
|
+
at most every 600 seconds while work remains actionable.
|
|
91
|
+
|
|
92
|
+
This is not a generic workflow engine. It's a guardrail against cold
|
|
93
|
+
pools and missing edge artifacts.
|
|
94
|
+
|
|
95
|
+
## Two surfaces: rigx watchdog (config-layer) and rig watchdog (daemon-shipped)
|
|
96
|
+
|
|
97
|
+
| Surface | Status | Policies |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| `rigx watchdog` (config-layer dogfood) | Tmux-backed loops; coexists with daemon | Static periodic-reminder + artifact-pool-ready + edge-artifact-required (per-RSI-loop) |
|
|
100
|
+
| `rig watchdog` (daemon-shipped, v0.2.0 Phase C) | SQLite-backed scheduler; survives daemon restart | `periodic-reminder` / `artifact-pool-ready` / `edge-artifact-required` / `workflow-keepalive` (Phase D — reads workflow_instances directly) |
|
|
101
|
+
|
|
102
|
+
Daemon `rig watchdog` is the active host coordination surface for new
|
|
103
|
+
work. History records only loud evaluations (`sent` / `terminal`);
|
|
104
|
+
quiet skip reasons are NOT recorded — POC parity so agents are not
|
|
105
|
+
woken about scheduler polls.
|
|
106
|
+
|
|
107
|
+
## Future shape (current limit)
|
|
108
|
+
|
|
109
|
+
The mature primitive should be evidence-aware: inspect durable
|
|
110
|
+
queue/workflow state, pane activity, transcript/context growth, and
|
|
111
|
+
known workstream frontier; classify the intervention as no-op / wake /
|
|
112
|
+
refocus / alignment-checkpoint; prefer no-op for active owners; render
|
|
113
|
+
message text from the active orientation graph instead of hard-coding
|
|
114
|
+
static policy.
|
|
115
|
+
|
|
116
|
+
Until queue substrate, activity state, and lifecycle evidence are fully
|
|
117
|
+
productized at this level of granularity: keep config-layer use small
|
|
118
|
+
and explicit, prefer one workflow watchdog plus targeted exception
|
|
119
|
+
handling over many per-seat nag loops.
|
|
120
|
+
|
|
121
|
+
## See also
|
|
122
|
+
|
|
123
|
+
- `alignment-trace` skill — the doctrine this primitive operationalizes; full and light trace templates
|
|
124
|
+
- `queue-handoff` skill — durable handoff via queue items; watchdog is complementary (watchdog wakes; queue routes)
|
|
125
|
+
- `looping-workflows` skill — operating discipline for self-driving rig-shaped loops; uses watchdog policies for loop edges
|
|
@@ -10,9 +10,9 @@ You are part of the orchestration pod. Your job is to keep the team productive,
|
|
|
10
10
|
## Startup sequence
|
|
11
11
|
|
|
12
12
|
Before you summarize the rig or assign real work:
|
|
13
|
-
1. Load `using-superpowers`, `openrig-user`, `orchestration-team`, `systematic-debugging`, and `verification-before-completion`.
|
|
13
|
+
1. Load `using-superpowers`, `openrig-user`, `orchestration-team`, `systematic-debugging`, and `verification-before-completion`.
|
|
14
14
|
2. Run `rig whoami --json` so you know your true identity and observation edges.
|
|
15
|
-
3. Run `rig ps --nodes
|
|
15
|
+
3. Run `rig ps --nodes --json` and wait for the expected starter topology to settle.
|
|
16
16
|
4. Check recent chatroom history or direct startup messages so you know who is actually online and what they already reported.
|
|
17
17
|
5. Only then announce readiness or assign work.
|
|
18
18
|
|
|
@@ -34,7 +34,7 @@ The orchestration pod is responsible for:
|
|
|
34
34
|
**Principle:** monitoring intensity tracks **stakes × how likely you are to need to intervene, bounded to the window where that's true.** Spend tight attention only where it changes what you do, only as long as the risk lasts, then return to default. (Same evidence-not-cadence rule the `watchdog` skill applies to intervention *level*, applied to *intensity*.) **Self-test: "Can I name the stakes AND the condition that ends this close-watch?"** If not, you're hyper-monitoring.
|
|
35
35
|
|
|
36
36
|
**Default (almost always) — token-efficient.** Steady-state your job is the **idle-without-handoff exception**: the queue handles normal handoff; you catch the agent who finished + went idle without closing/handing off.
|
|
37
|
-
- **Status lives in the queue, not panes** (`status-not-chat-orchestrator`): `rig ps
|
|
37
|
+
- **Status lives in the queue, not panes** (`status-not-chat-orchestrator`): `rig ps --nodes --json` + `rig queue` are your status source; do NOT reconstruct fleet-state by capturing panes (pane `rig capture` is high-bandwidth *within your own pod* — that's fine; it is not how you track cross-pod/fleet state).
|
|
38
38
|
- **The watchdog is your clock** (`watchdog`): configure `rig watchdog` to wake you (~3 min); between wakes, idle (zero tokens) — no self-run sleep-loop re-reading panes at steady-state. Prefer one workflow-watchdog + targeted exception handling over many per-seat nag loops.
|
|
39
39
|
- **On each wake — cheap sweep:** `rig queue` + a *filtered* `rig ps` (see "Read cheap" below) first; ONLY for a seat that looks idle/suspicious, `rig capture <session>` last few lines (never a full pane, never huge chunks); **active owner → no-op.**
|
|
40
40
|
- **Read cheap — every status command has a token cost; project to the question.** The queue-first rule is about *where* status lives; this is about *how much you pay to read it*. The token bomb is the broad unfiltered dump, not the pane capture: an unfiltered fleet-wide `rig ps --nodes --json` emits ~77k tokens — for a one-rig or one-qitem question that is almost all waste, and at watchdog cadence it burns the shared account fast.
|
|
@@ -45,7 +45,7 @@ The orchestration pod is responsible for:
|
|
|
45
45
|
- **Self-test:** "Does this read return more than the decision in front of me needs?" If yes, narrow it before running.
|
|
46
46
|
- **A watchdog turn is small:** tiny queue/frontier check → make exactly the needed durable transition or wake → park. Not a fleet-wide scan per wake.
|
|
47
47
|
|
|
48
|
-
**Close-monitoring — legitimate exception, deliberate + BOUNDED.** Some moments warrant tight/continuous attention — a seat doing something high-stakes, novel, or fragile where you may need to feed context, hand-hold, or intervene fast; a delicate gate; a recovery in flight. Switch in **on purpose** on a nameable trigger; **exit the instant the condition clears** (time- *and* event-bounded); don't let it bleed into steady-state. Worked example
|
|
48
|
+
**Close-monitoring — legitimate exception, deliberate + BOUNDED.** Some moments warrant tight/continuous attention — a seat doing something high-stakes, novel, or fragile where you may need to feed context, hand-hold, or intervene fast; a delicate gate; a recovery in flight. Switch in **on purpose** on a nameable trigger; **exit the instant the condition clears** (time- *and* event-bounded); don't let it bleed into steady-state. Worked example: close through compaction-recovery / QA-runtime-proof / merge-gate; back off to queue+watchdog once the owner is active + the qitem in-progress. The anti-pattern is not tight monitoring — it's **unbounded** tight monitoring (an ambient sleep-loop with no nameable end-condition). That is what burns the shared account.
|
|
49
49
|
|
|
50
50
|
### B. Intervention — correct + re-teach, don't silently substitute
|
|
51
51
|
When you DO catch a dropped potato, your default is to **teach the agent the protocol, not do it for them.** Agents load the hot-potato / queue-handoff protocol and are supposed to hand off on their own; you are the **belt-and-suspenders** for when one doesn't (skill not loaded, fell out of context, or just got it wrong).
|
|
@@ -7,6 +7,9 @@ description: Complete operating manual for the review pod. Covers everyday revie
|
|
|
7
7
|
|
|
8
8
|
You are part of the review pod. Your value is fresh scrutiny that implementation and QA do not have.
|
|
9
9
|
|
|
10
|
+
## Proportionality — right-size the review to the change (read first)
|
|
11
|
+
Review rigor scales to stakes and change size. A small, low-stakes diff gets a fast, focused pass; the full deep protocol (context proof, confidence scores, independent → cross-exam → convergence → roundtable) is for architecture / security / high-blast-radius changes. Don't run the heavy machinery on a one-line fix — that's ceremony, and it delays the ship it exists to protect. Catch what matters, then let good work through. The point of review is **better product shipped, not review performed.**
|
|
12
|
+
|
|
10
13
|
## Startup sequence
|
|
11
14
|
|
|
12
15
|
Before you announce a review position:
|
|
@@ -21,13 +21,13 @@ openrig-relationship: vendored-modified
|
|
|
21
21
|
|---|---|---|
|
|
22
22
|
| Visual Companion offer step | Standalone step #2 in the flow — "offer Visual Companion in its own message before clarifying questions" | **Removed.** OpenRig agents typically operate without a separate visual-companion mode; visual design work routes through dedicated design-pod seats. |
|
|
23
23
|
| Spec self-review step | Step #7 — inline self-review for placeholders/contradictions/scope | **Removed.** Self-review is handled at the rig/orchestration layer (driver/guard pattern + review-lead). |
|
|
24
|
-
| User reviews written spec | Step #8 — pause for user to review the spec file | **Removed.** OpenRig's
|
|
24
|
+
| User reviews written spec | Step #8 — pause for user to review the spec file | **Removed.** OpenRig's the operator-walk and orchestration gates already cover this checkpoint at a higher level. |
|
|
25
25
|
| Spec save path | `docs/superpowers/specs/YYYY-MM-DD-<topic>-design.md` | `docs/plans/YYYY-MM-DD-<topic>-design.md` (matches OpenRig's `docs/plans/` convention) |
|
|
26
26
|
| Process flow diagram | Includes Visual Companion + Spec self-review nodes | Simplified to remove those nodes; edges rewired |
|
|
27
27
|
|
|
28
28
|
## Why these modifications (inferred)
|
|
29
29
|
|
|
30
|
-
- **Multi-platform / multi-step gates removed**: OpenRig's rig-level orchestration (driver → guard → qa,
|
|
30
|
+
- **Multi-platform / multi-step gates removed**: OpenRig's rig-level orchestration (driver → guard → qa, the operator-walks) already provides the checkpoint structure that the upstream skill builds inline. Keeping those steps inside the skill double-gates the work.
|
|
31
31
|
- **`docs/plans/` path**: OpenRig's project structure uses `docs/plans/` as the canonical home for design + implementation plan documents (matches `writing-plans` modification — both are co-ordinated).
|
|
32
32
|
|
|
33
33
|
## Companion files
|
|
@@ -44,5 +44,5 @@ Watch upstream for:
|
|
|
44
44
|
When upstream changes:
|
|
45
45
|
|
|
46
46
|
1. Pull non-conflicting changes into the OpenRig copy.
|
|
47
|
-
2. Preserve the simplified 6-step flow and the `docs/plans/` save path unless
|
|
47
|
+
2. Preserve the simplified 6-step flow and the `docs/plans/` save path unless operator direction reverses.
|
|
48
48
|
3. Bump `last_upstream_check` in `SKILL.md` frontmatter.
|
|
@@ -50,7 +50,7 @@ Watch for upstream changes to:
|
|
|
50
50
|
When upstream changes:
|
|
51
51
|
|
|
52
52
|
1. Pull non-conflicting changes into the OpenRig copy.
|
|
53
|
-
2. Preserve the batch-with-checkpoint structure unless
|
|
53
|
+
2. Preserve the batch-with-checkpoint structure unless operator direction reverses.
|
|
54
54
|
3. Re-check that the subagent-alternative pointer hasn't crept back in.
|
|
55
55
|
4. Bump `last_upstream_check` in `SKILL.md` frontmatter.
|
|
56
56
|
5. Note any structural shape changes in `divergence_notes`.
|
|
@@ -4,9 +4,12 @@ description: Create distinctive, production-grade frontend interfaces with high
|
|
|
4
4
|
license: Complete terms in LICENSE.txt
|
|
5
5
|
metadata:
|
|
6
6
|
openrig:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
stage: factory-approved
|
|
8
|
+
license_status: "see LICENSE.txt — vendor-derived; license terms apply"
|
|
9
|
+
vendored_from: "unknown vendor — LICENSE.txt present at copy time; quarterly license review"
|
|
10
|
+
sibling_skills:
|
|
11
|
+
- shadcn
|
|
12
|
+
- remotion-best-practices
|
|
10
13
|
---
|
|
11
14
|
|
|
12
15
|
This skill guides creation of distinctive, production-grade frontend interfaces that avoid generic "AI slop" aesthetics. Implement real working code with exceptional attention to aesthetic details and creative choices.
|
|
@@ -16,7 +16,7 @@ Write the test first. Watch it fail. Write minimal code to pass.
|
|
|
16
16
|
|
|
17
17
|
**Core principle:** If you didn't watch the test fail, you don't know if it tests the right thing.
|
|
18
18
|
|
|
19
|
-
**
|
|
19
|
+
**A strong default in service of shipping — not a law that outranks it.** TDD earns its keep where a failing test pins down behavior you'd otherwise get wrong: core logic, contracts, tricky edge cases. Match it to stakes — reach for it where test-first genuinely de-risks the change; throwaway prototypes, one-line copy tweaks, and obvious glue don't need the ceremony. Don't dodge it with synonyms; equally, don't let it block you from shipping the working thing.
|
|
20
20
|
|
|
21
21
|
## When to Use
|
|
22
22
|
|
|
@@ -44,5 +44,5 @@ Watch upstream for:
|
|
|
44
44
|
When upstream changes:
|
|
45
45
|
|
|
46
46
|
1. Pull non-conflicting changes into the OpenRig copy.
|
|
47
|
-
2. Do NOT re-introduce the multi-platform sections, SUBAGENT-STOP block, or Instruction Priority section unless
|
|
47
|
+
2. Do NOT re-introduce the multi-platform sections, SUBAGENT-STOP block, or Instruction Priority section unless operator direction reverses.
|
|
48
48
|
3. Bump `last_upstream_check` in `SKILL.md` frontmatter.
|