@openrig/cli 0.6.13 → 0.7.0
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/README.md +58 -9
- package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/README.md +11 -4
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +6 -6
- package/daemon/assets/plugins/openrig-core/hooks/scripts/activity-relay.cjs +13 -1
- package/daemon/assets/plugins/openrig-core/hooks/scripts/codex-hook-trust.cjs +49 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +26 -5
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +9 -2
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +24 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -2
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +39 -21
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +10 -4
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +12 -32
- package/daemon/assets/skills/rigs/SKILL.md +24 -5
- package/daemon/context-packs/help/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +18 -8
- package/daemon/context-packs/reference/getting-started.md +178 -35
- package/daemon/context-packs/reference/manifest.yaml +1 -1
- package/daemon/context-packs/reference/rig-spec.md +1 -1
- package/daemon/context-packs/reference/whats-new.md +126 -100
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +9 -2
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +2 -2
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +11 -5
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +3 -2
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/SKILL.md +39 -21
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/SKILL.md +2 -0
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -1
- package/daemon/context-packs/skills/pods/development-team/references/refactoring.md +11 -0
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +46 -96
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +17 -80
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +5 -3
- package/daemon/context-packs/skills/process/verification-before-completion/references/performance-claims.md +12 -0
- package/daemon/context-packs/skills/queue-handoff/SKILL.md +10 -4
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/scripts/trace-to-root.py +12 -32
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts +6 -2
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +33 -6
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +2 -7
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +68 -2
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +371 -60
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.d.ts +16 -0
- package/daemon/dist/adapters/compose-services-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.js +52 -9
- package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
- package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -1
- package/daemon/dist/adapters/kernel-authority.js +9 -5
- package/daemon/dist/adapters/kernel-authority.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +2 -0
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +5 -0
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/runtime-probe-exec.d.ts +11 -0
- package/daemon/dist/adapters/runtime-probe-exec.d.ts.map +1 -0
- package/daemon/dist/adapters/runtime-probe-exec.js +25 -0
- package/daemon/dist/adapters/runtime-probe-exec.js.map +1 -0
- package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runner.js +2 -0
- package/daemon/dist/adapters/stub-runner.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +21 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +101 -14
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +12 -0
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts +3 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.d.ts.map +1 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js +8 -0
- package/daemon/dist/db/migrations/116_queue_item_wake_input_box.js.map +1 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts +3 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.d.ts.map +1 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.js +30 -0
- package/daemon/dist/db/migrations/118_human_quiet_windows.js.map +1 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts +3 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.d.ts.map +1 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js +7 -0
- package/daemon/dist/db/migrations/119_seat_identity_pane_pid.js.map +1 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts +13 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.d.ts.map +1 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.js +17 -0
- package/daemon/dist/db/migrations/121_rig_startup_layers.js.map +1 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.d.ts +3 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.d.ts.map +1 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.js +55 -0
- package/daemon/dist/db/migrations/122_human_operating_modes.js.map +1 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts +3 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.d.ts.map +1 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.js +10 -0
- package/daemon/dist/db/migrations/123_queue_delegated_decision.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +5 -3
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +2 -2
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/activity-taxonomy.d.ts +16 -1
- package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -1
- package/daemon/dist/domain/activity-taxonomy.js +21 -0
- package/daemon/dist/domain/activity-taxonomy.js.map +1 -1
- package/daemon/dist/domain/agent-activity-store.d.ts +20 -0
- package/daemon/dist/domain/agent-activity-store.d.ts.map +1 -1
- package/daemon/dist/domain/agent-activity-store.js +41 -5
- package/daemon/dist/domain/agent-activity-store.js.map +1 -1
- package/daemon/dist/domain/agent-images/evidence-guard.js +3 -3
- package/daemon/dist/domain/agent-images/evidence-guard.js.map +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/agent-images/resume-token-discovery.js +2 -10
- package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
- package/daemon/dist/domain/ask-service.d.ts +1 -0
- package/daemon/dist/domain/ask-service.d.ts.map +1 -1
- package/daemon/dist/domain/ask-service.js +7 -1
- package/daemon/dist/domain/ask-service.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts +2 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +5 -6
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/claim-service.d.ts +10 -19
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +90 -0
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/classification-sources.d.ts.map +1 -1
- package/daemon/dist/domain/classification-sources.js +2 -0
- package/daemon/dist/domain/classification-sources.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +19 -6
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +108 -38
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/claude-core-plugin-env.d.ts +11 -0
- package/daemon/dist/domain/claude-core-plugin-env.d.ts.map +1 -1
- package/daemon/dist/domain/claude-core-plugin-env.js +15 -0
- package/daemon/dist/domain/claude-core-plugin-env.js.map +1 -1
- package/daemon/dist/domain/codex-core-plugin-install.d.ts +41 -0
- package/daemon/dist/domain/codex-core-plugin-install.d.ts.map +1 -0
- package/daemon/dist/domain/codex-core-plugin-install.js +126 -0
- package/daemon/dist/domain/codex-core-plugin-install.js.map +1 -0
- package/daemon/dist/domain/codex-thread-id.d.ts +23 -1
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +58 -17
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-monitor.d.ts +13 -5
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +47 -13
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +3 -0
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/current-work.d.ts +18 -0
- package/daemon/dist/domain/current-work.d.ts.map +1 -1
- package/daemon/dist/domain/current-work.js +17 -3
- package/daemon/dist/domain/current-work.js.map +1 -1
- package/daemon/dist/domain/draft-aware-delivery.d.ts +7 -7
- package/daemon/dist/domain/draft-aware-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/draft-aware-delivery.js +61 -82
- package/daemon/dist/domain/draft-aware-delivery.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +2 -1
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/existing-rig-restore.d.ts +110 -0
- package/daemon/dist/domain/existing-rig-restore.d.ts.map +1 -0
- package/daemon/dist/domain/existing-rig-restore.js +254 -0
- package/daemon/dist/domain/existing-rig-restore.js.map +1 -0
- package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -1
- package/daemon/dist/domain/fresh-occupant-relation.js +11 -3
- package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.d.ts +3 -4
- package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/channel-operations.js.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts +0 -5
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.js +3 -46
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +11 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/delivery-rules-engine.js +12 -2
- package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/dispatch-buffer.d.ts +4 -0
- package/daemon/dist/domain/gateway/dispatch-buffer.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/dispatch-buffer.js +18 -0
- package/daemon/dist/domain/gateway/dispatch-buffer.js.map +1 -1
- package/daemon/dist/domain/gateway/human-mode-account.d.ts +61 -0
- package/daemon/dist/domain/gateway/human-mode-account.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-mode-account.js +112 -0
- package/daemon/dist/domain/gateway/human-mode-account.js.map +1 -0
- package/daemon/dist/domain/gateway/human-operating-modes.d.ts +171 -0
- package/daemon/dist/domain/gateway/human-operating-modes.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-operating-modes.js +422 -0
- package/daemon/dist/domain/gateway/human-operating-modes.js.map +1 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.d.ts +121 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.js +217 -0
- package/daemon/dist/domain/gateway/human-quiet-windows.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +23 -2
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +67 -5
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +9 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +10 -2
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +24 -2
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.d.ts +1 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/message.js +5 -1
- package/daemon/dist/domain/gateway/slack/message.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +9 -3
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +40 -6
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +19 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +128 -41
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +3 -2
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +268 -50
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.d.ts +4 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -1
- package/daemon/dist/domain/health-passive-ceremony.js +34 -4
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +3 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +9 -9
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/hosts/learned-host-bindings.d.ts +28 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.d.ts.map +1 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.js +77 -0
- package/daemon/dist/domain/hosts/learned-host-bindings.js.map +1 -0
- package/daemon/dist/domain/hot-potato-enforcer.d.ts +7 -5
- package/daemon/dist/domain/hot-potato-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/hot-potato-enforcer.js +19 -10
- package/daemon/dist/domain/hot-potato-enforcer.js.map +1 -1
- package/daemon/dist/domain/human-questions.d.ts +8 -1
- package/daemon/dist/domain/human-questions.d.ts.map +1 -1
- package/daemon/dist/domain/human-questions.js.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts +17 -1
- package/daemon/dist/domain/kernel-boot-tracker.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot-tracker.js +44 -3
- package/daemon/dist/domain/kernel-boot-tracker.js.map +1 -1
- package/daemon/dist/domain/kernel-boot.d.ts +21 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot.js +57 -2
- package/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +2 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +8 -3
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +43 -15
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +26 -12
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts +5 -3
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +29 -25
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/outbox-handler.d.ts +3 -5
- package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
- package/daemon/dist/domain/outbox-handler.js +9 -19
- package/daemon/dist/domain/outbox-handler.js.map +1 -1
- package/daemon/dist/domain/park-wake-text.d.ts +11 -0
- package/daemon/dist/domain/park-wake-text.d.ts.map +1 -0
- package/daemon/dist/domain/park-wake-text.js +26 -0
- package/daemon/dist/domain/park-wake-text.js.map +1 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts +4 -0
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +29 -6
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -1
- package/daemon/dist/domain/policies/delivery-digest-flush.js +25 -4
- package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -1
- package/daemon/dist/domain/policies/mode-scheduled-end.d.ts +37 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.d.ts.map +1 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.js +161 -0
- package/daemon/dist/domain/policies/mode-scheduled-end.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +11 -7
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +82 -113
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/policies/quiet-release.d.ts +109 -0
- package/daemon/dist/domain/policies/quiet-release.d.ts.map +1 -0
- package/daemon/dist/domain/policies/quiet-release.js +213 -0
- package/daemon/dist/domain/policies/quiet-release.js.map +1 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +8 -3
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/proof/source-watch.js +2 -2
- package/daemon/dist/domain/proof/source-watch.js.map +1 -1
- package/daemon/dist/domain/queue-destination-check.d.ts +6 -0
- package/daemon/dist/domain/queue-destination-check.d.ts.map +1 -0
- package/daemon/dist/domain/queue-destination-check.js +35 -0
- package/daemon/dist/domain/queue-destination-check.js.map +1 -0
- package/daemon/dist/domain/queue-owner.d.ts.map +1 -1
- package/daemon/dist/domain/queue-owner.js +2 -1
- package/daemon/dist/domain/queue-owner.js.map +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts.map +1 -1
- package/daemon/dist/domain/queue-recovery.js +3 -2
- package/daemon/dist/domain/queue-recovery.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +108 -67
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +316 -140
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +13 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +95 -13
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +25 -8
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +2 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +94 -11
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/quiet-hold-custody.d.ts +24 -0
- package/daemon/dist/domain/quiet-hold-custody.d.ts.map +1 -0
- package/daemon/dist/domain/quiet-hold-custody.js +85 -0
- package/daemon/dist/domain/quiet-hold-custody.js.map +1 -0
- package/daemon/dist/domain/rehydrate-eligibility.d.ts +12 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.js +47 -9
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +11 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +144 -15
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +3 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +30 -13
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +8 -5
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js +3 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +11 -1
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +27 -3
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +31 -4
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +9 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +59 -28
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts +5 -0
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +30 -0
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +27 -2
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +18 -3
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +124 -57
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +8 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +3 -1
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.js +21 -5
- package/daemon/dist/domain/seat-delivery-guard.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +2 -2
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +28 -2
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-identity-store.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-store.js +5 -2
- package/daemon/dist/domain/seat-identity-store.js.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.js +17 -1
- package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.d.ts +33 -14
- package/daemon/dist/domain/seat-restart-in-place.d.ts.map +1 -1
- package/daemon/dist/domain/seat-restart-in-place.js +102 -30
- package/daemon/dist/domain/seat-restart-in-place.js.map +1 -1
- package/daemon/dist/domain/self-attach-service.d.ts +3 -2
- package/daemon/dist/domain/self-attach-service.d.ts.map +1 -1
- package/daemon/dist/domain/self-attach-service.js +18 -1
- package/daemon/dist/domain/self-attach-service.js.map +1 -1
- package/daemon/dist/domain/services-readiness.d.ts.map +1 -1
- package/daemon/dist/domain/services-readiness.js +14 -3
- package/daemon/dist/domain/services-readiness.js.map +1 -1
- package/daemon/dist/domain/session-registry.d.ts +45 -0
- package/daemon/dist/domain/session-registry.d.ts.map +1 -1
- package/daemon/dist/domain/session-registry.js +124 -0
- package/daemon/dist/domain/session-registry.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +24 -6
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +58 -41
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts +7 -1
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/skill-discovery.js +41 -7
- package/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/daemon/dist/domain/snapshot-repository.d.ts +1 -0
- package/daemon/dist/domain/snapshot-repository.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-repository.js +23 -10
- package/daemon/dist/domain/snapshot-repository.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +21 -3
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +66 -16
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts +4 -11
- package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.js +11 -17
- package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +2 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +3 -1
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +22 -4
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/topology-converge.d.ts +1 -0
- package/daemon/dist/domain/topology-converge.d.ts.map +1 -1
- package/daemon/dist/domain/topology-converge.js +1 -0
- package/daemon/dist/domain/topology-converge.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +15 -4
- 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-browser.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-browser.js +2 -0
- package/daemon/dist/domain/user-settings/settings-browser.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 +37 -7
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/wake-resolve-service.d.ts +1 -0
- package/daemon/dist/domain/wake-resolve-service.d.ts.map +1 -1
- package/daemon/dist/domain/wake-resolve-service.js +10 -0
- package/daemon/dist/domain/wake-resolve-service.js.map +1 -1
- package/daemon/dist/domain/wake-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/wake-resolver.js +7 -0
- package/daemon/dist/domain/wake-resolver.js.map +1 -1
- package/daemon/dist/domain/watchdog-delivery.d.ts +3 -23
- package/daemon/dist/domain/watchdog-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-delivery.js +12 -89
- package/daemon/dist/domain/watchdog-delivery.js.map +1 -1
- package/daemon/dist/domain/watchdog-history-log.d.ts +5 -2
- package/daemon/dist/domain/watchdog-history-log.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-history-log.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -2
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +4 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +16 -24
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +44 -43
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/whoami-service.d.ts +2 -0
- package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
- package/daemon/dist/domain/whoami-service.js +23 -6
- package/daemon/dist/domain/whoami-service.js.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts +2 -1
- package/daemon/dist/domain/workflow-boot-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-boot-sweep.js +11 -5
- package/daemon/dist/domain/workflow-boot-sweep.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.js +2 -1
- package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +5 -2
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-role-context.js +2 -2
- package/daemon/dist/domain/workflow-role-context.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +2 -0
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts +13 -1
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +67 -2
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +2 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/compaction.d.ts.map +1 -1
- package/daemon/dist/routes/compaction.js +8 -3
- package/daemon/dist/routes/compaction.js.map +1 -1
- package/daemon/dist/routes/discovery.js +3 -0
- package/daemon/dist/routes/discovery.js.map +1 -1
- package/daemon/dist/routes/down.js +9 -1
- package/daemon/dist/routes/down.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +2 -0
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +181 -1
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/kernel-status.js +6 -1
- package/daemon/dist/routes/kernel-status.js.map +1 -1
- package/daemon/dist/routes/provider.d.ts.map +1 -1
- package/daemon/dist/routes/provider.js +0 -73
- package/daemon/dist/routes/provider.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +73 -13
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +29 -10
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +2 -3
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.js +2 -2
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.js +35 -0
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/skills.js +2 -2
- package/daemon/dist/routes/skills.js.map +1 -1
- package/daemon/dist/routes/transcripts.d.ts.map +1 -1
- package/daemon/dist/routes/transcripts.js +7 -3
- package/daemon/dist/routes/transcripts.js.map +1 -1
- package/daemon/dist/routes/transport.js +1 -1
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/routes/up.js +36 -52
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +6 -4
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +104 -65
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-state-taxonomy.md +17 -2
- package/daemon/docs/reference/getting-started.md +178 -35
- package/daemon/docs/reference/quickstart.md +200 -0
- package/daemon/docs/reference/refocus-channel.md +9 -3
- package/daemon/docs/reference/rig-spec.md +1 -1
- package/daemon/docs/reference/seat-delivery.md +57 -18
- package/daemon/docs/reference/slack-app-setup.md +49 -2
- package/daemon/docs/reference/whats-new.md +126 -100
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +24 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +2 -2
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +11 -5
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +2 -0
- package/daemon/specs/agents/shared/skills/pods/development-team/references/refactoring.md +11 -0
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +46 -96
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/SKILL.md +17 -80
- package/daemon/specs/agents/shared/skills/process/verification-before-completion/references/performance-claims.md +12 -0
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +93 -14
- package/dist/build-info.js +3 -3
- package/dist/cli-error.d.ts +4 -0
- package/dist/cli-error.d.ts.map +1 -1
- package/dist/cli-error.js +6 -0
- package/dist/cli-error.js.map +1 -1
- package/dist/client.d.ts +7 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +28 -0
- package/dist/client.js.map +1 -1
- package/dist/commands/agent-image.d.ts.map +1 -1
- package/dist/commands/agent-image.js +15 -7
- package/dist/commands/agent-image.js.map +1 -1
- package/dist/commands/archive.d.ts.map +1 -1
- package/dist/commands/archive.js +17 -3
- package/dist/commands/archive.js.map +1 -1
- package/dist/commands/ask.d.ts.map +1 -1
- package/dist/commands/ask.js +13 -3
- package/dist/commands/ask.js.map +1 -1
- package/dist/commands/attach.d.ts.map +1 -1
- package/dist/commands/attach.js +6 -4
- package/dist/commands/attach.js.map +1 -1
- package/dist/commands/broadcast.js +2 -0
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/chatroom.d.ts.map +1 -1
- package/dist/commands/chatroom.js +1 -0
- package/dist/commands/chatroom.js.map +1 -1
- package/dist/commands/community-harness.d.ts.map +1 -1
- package/dist/commands/community-harness.js +2 -1
- package/dist/commands/community-harness.js.map +1 -1
- package/dist/commands/compact-plan.d.ts.map +1 -1
- package/dist/commands/compact-plan.js +2 -1
- package/dist/commands/compact-plan.js.map +1 -1
- package/dist/commands/compact.d.ts.map +1 -1
- package/dist/commands/compact.js +15 -7
- package/dist/commands/compact.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +11 -2
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +16 -9
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/doctor.d.ts +3 -0
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +39 -16
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +16 -2
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +9 -2
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/fork.d.ts.map +1 -1
- package/dist/commands/fork.js +3 -1
- package/dist/commands/fork.js.map +1 -1
- package/dist/commands/gateway.d.ts +39 -0
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +310 -3
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/health.js +3 -2
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/host.d.ts +1 -1
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +2 -2
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/launch.d.ts.map +1 -1
- package/dist/commands/launch.js +9 -2
- package/dist/commands/launch.js.map +1 -1
- package/dist/commands/plugin.d.ts.map +1 -1
- package/dist/commands/plugin.js +2 -1
- package/dist/commands/plugin.js.map +1 -1
- package/dist/commands/provider.d.ts.map +1 -1
- package/dist/commands/provider.js +0 -73
- package/dist/commands/provider.js.map +1 -1
- package/dist/commands/ps.d.ts +4 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +95 -5
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts +4 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +78 -3
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/reconcile-session.d.ts.map +1 -1
- package/dist/commands/reconcile-session.js +25 -4
- package/dist/commands/reconcile-session.js.map +1 -1
- package/dist/commands/release.d.ts.map +1 -1
- package/dist/commands/release.js +16 -2
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/restore-check.d.ts.map +1 -1
- package/dist/commands/restore-check.js +2 -1
- package/dist/commands/restore-check.js.map +1 -1
- package/dist/commands/restore-packet.d.ts.map +1 -1
- package/dist/commands/restore-packet.js +2 -1
- package/dist/commands/restore-packet.js.map +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +23 -6
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +5 -2
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.js +0 -4
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +27 -3
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +3 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +29 -9
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/shrink.d.ts.map +1 -1
- package/dist/commands/shrink.js +16 -2
- package/dist/commands/shrink.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +11 -24
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/snapshot.d.ts.map +1 -1
- package/dist/commands/snapshot.js +36 -10
- package/dist/commands/snapshot.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +11 -5
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +36 -10
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/status.d.ts.map +1 -1
- package/dist/commands/status.js +4 -1
- package/dist/commands/status.js.map +1 -1
- package/dist/commands/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +12 -7
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/ui.d.ts.map +1 -1
- package/dist/commands/ui.js +8 -1
- package/dist/commands/ui.js.map +1 -1
- package/dist/commands/unarchive.d.ts.map +1 -1
- package/dist/commands/unarchive.js +16 -2
- package/dist/commands/unarchive.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +33 -7
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +2 -1
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +3 -0
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config-store.d.ts +5 -2
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +39 -7
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +9 -4
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +38 -12
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-reachability.d.ts +13 -0
- package/dist/daemon-reachability.d.ts.map +1 -1
- package/dist/daemon-reachability.js +28 -0
- package/dist/daemon-reachability.js.map +1 -1
- package/dist/fetch-with-timeout.d.ts.map +1 -1
- package/dist/fetch-with-timeout.js +19 -16
- package/dist/fetch-with-timeout.js.map +1 -1
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +3 -1
- package/dist/front-door.js.map +1 -1
- package/dist/host-bindings.d.ts +6 -0
- package/dist/host-bindings.d.ts.map +1 -1
- package/dist/host-bindings.js +7 -4
- package/dist/host-bindings.js.map +1 -1
- package/dist/lib/bundle-check.d.ts.map +1 -1
- package/dist/lib/bundle-check.js +13 -5
- package/dist/lib/bundle-check.js.map +1 -1
- package/dist/local-daemon-owner.d.ts +28 -0
- package/dist/local-daemon-owner.d.ts.map +1 -0
- package/dist/local-daemon-owner.js +98 -0
- package/dist/local-daemon-owner.js.map +1 -0
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +57 -14
- package/dist/mcp-server.js.map +1 -1
- package/dist/rig-handle.d.ts +18 -1
- package/dist/rig-handle.d.ts.map +1 -1
- package/dist/rig-handle.js +19 -2
- package/dist/rig-handle.js.map +1 -1
- package/package.json +1 -1
- package/tui/dist/config/config-model.js +1 -1
- package/tui/dist/config/config-model.js.map +1 -1
- package/tui/dist/connections/connections-model.d.ts +0 -5
- package/tui/dist/connections/connections-model.d.ts.map +1 -1
- package/tui/dist/connections/connections-model.js +1 -1
- package/tui/dist/connections/connections-model.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +2 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +23 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +13 -1
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/live.d.ts +10 -1
- package/tui/dist/live.d.ts.map +1 -1
- package/tui/dist/live.js +56 -7
- package/tui/dist/live.js.map +1 -1
- package/tui/dist/main.js +35 -2
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +111 -7
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/types.d.ts +53 -0
- package/tui/dist/types.d.ts.map +1 -1
- package/tui/dist/version-skew.d.ts +24 -0
- package/tui/dist/version-skew.d.ts.map +1 -0
- package/tui/dist/version-skew.js +37 -0
- package/tui/dist/version-skew.js.map +1 -0
- package/daemon/dist/domain/provider/subscription-moves.d.ts +0 -77
- package/daemon/dist/domain/provider/subscription-moves.d.ts.map +0 -1
- package/daemon/dist/domain/provider/subscription-moves.js +0 -140
- package/daemon/dist/domain/provider/subscription-moves.js.map +0 -1
|
@@ -29,8 +29,9 @@ without an owner.
|
|
|
29
29
|
with the rig appearing dormant.
|
|
30
30
|
- **Finishing a slice that has a clear next step.** Default-nudge:
|
|
31
31
|
receiver gets a wake-ping plus the durable queue item.
|
|
32
|
-
- **Blocked on another agent's work.**
|
|
33
|
-
|
|
32
|
+
- **Blocked on another agent's work.** Use `rig queue block <id> --on <child>`
|
|
33
|
+
(or `rig queue update <id> --state blocked --blocked-on <child>`). The item
|
|
34
|
+
stays active and returns to pending when its blocker completes.
|
|
34
35
|
- **Escalating to the human.** Make the escalation a durable attention
|
|
35
36
|
item, not just a chat message.
|
|
36
37
|
|
|
@@ -53,16 +54,20 @@ human. The qitem state machine enforces this:
|
|
|
53
54
|
`pending → in-progress → done` requires `closure_reason` from one of:
|
|
54
55
|
|
|
55
56
|
- `handed_off_to` — work continues at a different seat (target = new owner)
|
|
56
|
-
- `blocked_on` — parked pending another qitem (target = blocker qitem id)
|
|
57
57
|
- `denied` — receiver rejected the work
|
|
58
58
|
- `canceled` — sender or receiver withdrew
|
|
59
59
|
- `no-follow-on` — terminal completion, nothing else needed
|
|
60
60
|
- `escalation` — kicked up to a higher tier (target = escalation target)
|
|
61
|
+
- `superseded` — replaced by another qitem (target = successor qitem id)
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
Two of those (`handed_off_to`, `escalation`) additionally
|
|
63
64
|
require `closure_target`. The daemon enforces this at the domain layer;
|
|
64
65
|
every surface (CLI, MCP, future UI) inherits the same guarantee.
|
|
65
66
|
|
|
67
|
+
`done` is terminal. `closure_reason: blocked_on` is valid only on an active
|
|
68
|
+
`state=blocked` park record, as used by workflow writers; combining it with
|
|
69
|
+
`state=done` is rejected. Use the block command above to wait on another qitem.
|
|
70
|
+
|
|
66
71
|
**The drafted-park failure (draft ≠ throw).** The rule is about the *actual* pass, not the
|
|
67
72
|
intention to pass. A turn that ends with a self-instruction **typed into your own prompt but left
|
|
68
73
|
unsent** — a drafted go-ahead, a next-atom note you never sent — has **not** handed off; it has
|
|
@@ -120,6 +125,7 @@ inverted the default-nudge polarity.
|
|
|
120
125
|
- **Scope tags `project:<id>`, `mission:<id>`, `slice:<id>`** on project work, set when you create the row (`--tags`; `create` also takes `--mission` and `--slice`). Tags can't be edited afterwards. A handoff keeps the source row's tags unless you pass `--tags` or `--gate`, either of which replaces them; repeat the scope tags in `--tags` when you use `--gate`.
|
|
121
126
|
- **Pass work on with `handoff-and-complete`.** It closes your row as done and records the next row as its successor in one step. A `create` followed by `update --state done --closure-reason handed_off_to` records no successor, and the stuck sweep raises a recovery item for it.
|
|
122
127
|
- **Close what you hold.** A row you claimed ends in a handoff or an `update --state done --closure-reason …`; `rig queue overdue` lists claimed rows past their deadline.
|
|
128
|
+
- **Use the write's response.** Read the row back only when the response doesn't show what you need (an indeterminate outcome, a field the compact output left out, downstream wake or pickup, a team custody rule): openrig-user, "After a queue write".
|
|
123
129
|
- **Brief for the model that will read it.** Before handing a peer open-ended work, check which model it runs: `delegating-work`, "Check what kind of agent you're handing it to".
|
|
124
130
|
|
|
125
131
|
## Queue-body hygiene (token + parse safety)
|
|
@@ -75,39 +75,19 @@ def read(path):
|
|
|
75
75
|
return None
|
|
76
76
|
|
|
77
77
|
|
|
78
|
+
# Contract twin of CLI scope-fs.ts and daemon scope/node-file.ts; parity is tested.
|
|
79
|
+
NOTES_FILE_PRECEDENCE = ("NOTES.md", "MISSION_NOTES.md")
|
|
80
|
+
|
|
81
|
+
|
|
78
82
|
def resolve_notes(node):
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
except subprocess.TimeoutExpired:
|
|
88
|
-
return None, "resolver command timed out"
|
|
89
|
-
except OSError as error:
|
|
90
|
-
return None, f"resolver command could not start: {error}"
|
|
91
|
-
if result.returncode != 0:
|
|
92
|
-
detail = (result.stderr or result.stdout or "").strip().splitlines()
|
|
93
|
-
suffix = f": {detail[0]}" if detail else ""
|
|
94
|
-
return None, f"resolver command exited {result.returncode}{suffix}"
|
|
95
|
-
try:
|
|
96
|
-
payload = json.loads(result.stdout)
|
|
97
|
-
except (json.JSONDecodeError, TypeError):
|
|
98
|
-
return None, "resolver command returned malformed JSON"
|
|
99
|
-
if not isinstance(payload, dict) or payload.get("ok") is not True or "resolution" not in payload:
|
|
100
|
-
return None, "resolver command returned an invalid success shape"
|
|
101
|
-
resolution = payload["resolution"]
|
|
102
|
-
if resolution is None:
|
|
103
|
-
return None, None
|
|
104
|
-
if not isinstance(resolution, dict):
|
|
105
|
-
return None, "resolver command returned an invalid resolution shape"
|
|
106
|
-
resolved_path = resolution.get("path")
|
|
107
|
-
resolved_name = resolution.get("name")
|
|
108
|
-
if not isinstance(resolved_path, str) or not isinstance(resolved_name, str):
|
|
109
|
-
return None, "resolver command returned an invalid resolution shape"
|
|
110
|
-
return (Path(resolved_path), resolved_name), None
|
|
83
|
+
for name in NOTES_FILE_PRECEDENCE:
|
|
84
|
+
candidate = node / name
|
|
85
|
+
try:
|
|
86
|
+
if candidate.is_file() and os.access(candidate, os.R_OK):
|
|
87
|
+
return (candidate, name), None
|
|
88
|
+
except OSError:
|
|
89
|
+
pass
|
|
90
|
+
return None, None
|
|
111
91
|
|
|
112
92
|
|
|
113
93
|
def intent(text):
|
|
@@ -14,7 +14,8 @@ if the person asks you to. When they say what they want built, give it to OpenRi
|
|
|
14
14
|
building it yourself.
|
|
15
15
|
|
|
16
16
|
Tell the person what you're about to run and why before you run it. Don't install system packages or change their
|
|
17
|
-
machine without a yes
|
|
17
|
+
machine without a yes, and don't start a team, including `rig up`, without their yes to what it will start; a yes they
|
|
18
|
+
already gave for that same launch counts, so don't ask twice. Starting OpenRig and a team writes files: Codex hooks and settings in
|
|
18
19
|
`~/.codex/config.toml`, Claude Code workspace trust in `~/.claude.json`, discovery skills in `~/.claude/skills` and
|
|
19
20
|
`~/.agents/skills`, and, in the repository, managed guidance in `AGENTS.md` or `CLAUDE.md`, activity hooks in
|
|
20
21
|
`.claude/settings.local.json` and a status line there unless the project already has its own, plus the team's skills
|
|
@@ -23,6 +24,10 @@ seats run with an operational default: Codex with `-s danger-full-access -a neve
|
|
|
23
24
|
tools, web fetches and operational commands, including reads under the home folder, allowed without asking. Say so
|
|
24
25
|
before you start OpenRig ([the full list](https://github.com/mvschwarz/openrig#what-openrig-changes-on-your-machine)).
|
|
25
26
|
|
|
27
|
+
When you give the person a file or a command to run in their own terminal, use a path that exists on their side. A
|
|
28
|
+
file a sandboxed agent writes under `/tmp` may not exist in the person's terminal (seen with Codex), so put files the
|
|
29
|
+
person needs in their project or home folder and name that path.
|
|
30
|
+
|
|
26
31
|
## 1. Install OpenRig, if it isn't installed
|
|
27
32
|
|
|
28
33
|
- **Check first:** `rig --version`. If it prints a version, go to step 2.
|
|
@@ -106,13 +111,18 @@ before you start OpenRig ([the full list](https://github.com/mvschwarz/openrig#w
|
|
|
106
111
|
`--node <logicalId>` binds to an existing seat instead. Attach once, and keep the variables it prints
|
|
107
112
|
(`OPENRIG_NODE_ID` and `OPENRIG_SESSION_NAME`). Each command may run in a fresh shell, so put them in front of every
|
|
108
113
|
later `rig` command. Check with `rig whoami --json`.
|
|
114
|
+
If they decline, a message that must still say who it's from can go as a queue item with a declared source,
|
|
115
|
+
`rig queue create --source <their id>@external --destination <seat> --summary "<one line>" --body-file <file>`: the
|
|
116
|
+
seat sees that name, recorded as declared, and can reply to them if they're registered (`rig gateway human list`).
|
|
117
|
+
A declared name is a claim, not a seat's own identity: for a team that acts only on seat identity, the attached
|
|
118
|
+
shell above is the route.
|
|
109
119
|
- **Give the operator the goal:** ask what they want worked on, in which repository and on which branch, unless they've
|
|
110
120
|
said. Find the `operator.agent` row in `rig ps --nodes --rig kernel --json`, take its `canonicalSessionName`
|
|
111
121
|
(never the logical ID or a guessed name) and send:
|
|
112
122
|
`rig send <canonicalSessionName> 'This is the agent that installed OpenRig. The person will answer in your pane. Goal: <goal>. Project folder: <absolute path>. Branch: <branch>.'`
|
|
113
123
|
Or the person types the goal and folder in the operator's pane. If they give you a goal later, forward it the same
|
|
114
|
-
way. The operator helps them pick a team that fits their logins, starts it on their yes
|
|
115
|
-
team's lead. Before that yes, it says what launching into their folder changes for their own agent there; relay
|
|
124
|
+
way. The operator helps them pick a team that fits their logins, starts it (`rig up`) only on their yes to the plan it
|
|
125
|
+
shows, and gives the goal to the team's lead. Before that yes, it says what launching into their folder changes for their own agent there; relay
|
|
116
126
|
that with the question. Show them where the operator answers, and don't build the project yourself.
|
|
117
127
|
- **Relay the operator's questions:** the operator asks in its own pane, and the person may not be looking there.
|
|
118
128
|
After each step you hand it, read its screen with `rig capture <canonicalSessionName>`. When it asks the person
|
|
@@ -125,8 +135,17 @@ before you start OpenRig ([the full list](https://github.com/mvschwarz/openrig#w
|
|
|
125
135
|
- **See what's running:** `rig ps`, then `rig ps --nodes --rig <rig>` for a team's agents. If a team is already
|
|
126
136
|
running in that repository, tell the operator.
|
|
127
137
|
- **Check it's ready before you say so:** `rig ps --nodes --rig <rig>`. If an agent is stopped at a prompt or a menu,
|
|
128
|
-
read it with `rig capture <seat>@<rig
|
|
129
|
-
|
|
138
|
+
read it with `rig capture <seat>@<rig>`. A permission prompt is the person's to answer: show it to them, with any
|
|
139
|
+
others waiting, one line each (seat, exact action, the choices offered). Before sending their choice, capture that
|
|
140
|
+
seat again: if its prompt changed, don't reuse the answer. Then send exactly the choice they made for that prompt
|
|
141
|
+
(`rig send --help` says how to send a digit, a letter or Escape to a prompt). A yes to one prompt isn't a
|
|
142
|
+
yes to the next, and never pick a "don't ask again" choice they didn't pick. If they've told you outright to decide a
|
|
143
|
+
kind of future prompt (say, "approve prompts that only write inside my project"), you may decide each one: read its
|
|
144
|
+
whole action, answer only when it's clearly inside what they said, and tell them you answered under that instruction,
|
|
145
|
+
not that they said yes. Bring anything unclear or outside it back to them; a command's name or a path that looks like
|
|
146
|
+
their project doesn't show what the action touches. Their instruction changes no permission setting.
|
|
147
|
+
Another kind of menu you can answer with
|
|
148
|
+
the key that screen shows, or ask the person. Capture it again before sending anything more.
|
|
130
149
|
- **Replies:** in a plain shell, other agents can't type into this session. Read work sent to you with
|
|
131
150
|
`rig queue list --destination <your address>` and `rig queue show <id> --full`, and read an agent's screen with
|
|
132
151
|
`rig capture <seat>@<rig>`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Agent help: the single troubleshooting and escalation guide (docs/reference/help.md).
|
|
2
2
|
name: help
|
|
3
|
-
version: "0.
|
|
3
|
+
version: "0.7.0"
|
|
4
4
|
taxonomy: world
|
|
5
5
|
purpose: "What an agent does when its user says OpenRig isn't working: diagnose, fix within permissions, verify, and escalate to OpenRig support."
|
|
6
6
|
files:
|
|
@@ -11,7 +11,7 @@ not know exists.** So the point of what follows is not skill. It is recognition:
|
|
|
11
11
|
lands, something rhymes, and you go check instead of building.
|
|
12
12
|
|
|
13
13
|
Eighty-eight top-level verbs ship (capability canon refreshed through
|
|
14
|
-
`capability-delta-v0.6.
|
|
14
|
+
`capability-delta-v0.6.14`). This marker describes the pack's teaching, not publication or live
|
|
15
15
|
adoption. Read this once for shape, and let it make you suspicious that a thing already exists.
|
|
16
16
|
Model-divergence proclamations are live product (trust them; pins use canonical
|
|
17
17
|
model IDs).
|
|
@@ -135,7 +135,8 @@ unseen — which makes messages the one delivery channel that never gets skipped
|
|
|
135
135
|
read something, do not ask it. Look.**
|
|
136
136
|
- **`rig ask`** — search what was said or decided, across *every generation that ever sat in a
|
|
137
137
|
seat*. It reaches back past a handover that erased your predecessor's context, and costs no
|
|
138
|
-
runtime tokens.
|
|
138
|
+
runtime tokens. `--wake` asks a Claude or Codex seat itself; any other runtime (Pi, custom, or
|
|
139
|
+
none recorded) is refused before a wake starts.
|
|
139
140
|
- **`rig chatroom wait`** — block until a peer actually says something, instead of polling
|
|
140
141
|
`capture` in a loop. Also `history`, `watch`, `topic` for a named thread that stays retrievable.
|
|
141
142
|
Its `--timeout` is in seconds and ignores a suffix, so `2m` means 2 seconds. Poll timeouts,
|
|
@@ -460,7 +461,12 @@ not have to tear one down to change it, and you rarely have to start from nothin
|
|
|
460
461
|
to a node. **`rig adopt`** does the whole thing at once: create the structure and bind the
|
|
461
462
|
running sessions into it.
|
|
462
463
|
- **`rig reconcile-session`** — you resumed a seat by hand and the daemon still shows it down; make
|
|
463
|
-
the system see the live process **without launching anything**.
|
|
464
|
+
the system see the live process **without launching anything**. A running seat that refuses every
|
|
465
|
+
send because its tmux pane was never recorded (one launched by an older OpenRig) takes
|
|
466
|
+
`rig reconcile-session <seat> --repair-missing-pane --no-launch`: it fills only the missing pane,
|
|
467
|
+
keeps the session and resume token, and never adopts. Plain reconcile adopts: a new session row
|
|
468
|
+
(any running row for the seat is superseded); it re-captures the resume token if it can, and
|
|
469
|
+
conversation continuity stays unverified. Both refuse while typing protection is on.
|
|
464
470
|
- **`rig unclaim` / `rig release`** — stop managing one adopted session, or all of them,
|
|
465
471
|
**without killing the process or the agent inside it**. Handing something back to its human is a
|
|
466
472
|
first-class move, not an abandonment.
|
|
@@ -487,6 +493,7 @@ version, from checking the environment to a useful report to the OpenRig team.
|
|
|
487
493
|
Stop distinguishes process/listener exit from a clean asynchronous drain: inspect the matching
|
|
488
494
|
`daemon-shutdown.json` and log when completion is incomplete or unverified. No target is a
|
|
489
495
|
distinct no-op, and a timeout never proves down. Use command help for exact limits and recovery.
|
|
496
|
+
`/healthz` reports the daemon's effective UID as `euid`, beside `pid`.
|
|
490
497
|
- **`rig doctor`** — is the *installation* wired up correctly, or are you chasing a bug that is
|
|
491
498
|
really a broken install. It checks Claude and Codex installs, and a login or configured provider
|
|
492
499
|
credential, the way setup does; it fails for a harness the person doesn't use, which they can
|
|
@@ -590,7 +597,9 @@ version, from checking the environment to a useful report to the OpenRig team.
|
|
|
590
597
|
- **`rig compact-plan`** → **`rig compact`** — who is near the context wall, then act on it.
|
|
591
598
|
**Ordering matters: running `compact` without the plan is guessing which seat needed it.**
|
|
592
599
|
Managed compaction waits for the seat's restore map before compacting; `rig compact --state`,
|
|
593
|
-
`--cancel` and `--skip-map` inspect, stop or skip that wait.
|
|
600
|
+
`--cancel` and `--skip-map` inspect, stop or skip that wait. If preparation stops at an ordinary
|
|
601
|
+
approval, a manual `rig compact` keeps waiting for someone to answer it, within its 180-second
|
|
602
|
+
budget; OpenRig never answers it, and the request times out after 240 seconds. The `claude-compaction-restore`
|
|
594
603
|
skill covers writing and reading the map; `claude-compact-in-place` no longer ships. After a
|
|
595
604
|
managed compaction, refocus waits for the restore request, which names the `refocusing` skill
|
|
596
605
|
(the daemon installs it globally); three failed refocus attempts in a row for one occupant post
|
|
@@ -840,7 +849,10 @@ your circumstances is configuration, and the ones that are not, another agent ca
|
|
|
840
849
|
- **`rig config get` / `reset` / `init-workspace`** — read one value, change a system-wide setting
|
|
841
850
|
and put it back exactly as it was, or additively lay down the canonical project scaffold on a
|
|
842
851
|
box that has none. Instance startup uses the same additive initializer for the surrounding
|
|
843
|
-
`state`, `context`, `skills`, `topology`, and operational roots.
|
|
852
|
+
`state`, `context`, `skills`, `topology`, and operational roots. With `transport.local_user_guard`
|
|
853
|
+
on (off by default; `rig config set transport.local_user_guard true`), a Mac's local `rig` requests
|
|
854
|
+
stop only when the daemon's reported, `ps`-corroborated user differs from yours; unknown evidence
|
|
855
|
+
lets the call through. It isn't authentication or isolation.
|
|
844
856
|
- **`rig policy permissions list` / `show` / `current` / `apply`** — what permission policy is
|
|
845
857
|
actually in effect: discovers custom policy specs, validates refs (malformed can never read as
|
|
846
858
|
valid OR absent), shows what would apply. The older `rig policy list|show|current|apply` forms
|
|
@@ -914,9 +926,7 @@ your circumstances is configuration, and the ones that are not, another agent ca
|
|
|
914
926
|
better than `unknown`. A Codex account's last reading, its reset and its last observed exhaustion
|
|
915
927
|
survive a daemon restart as history (`retained: "before_restart"`), never a current reading; a
|
|
916
928
|
window whose reset has passed shows an `expectation`, which is planning, not a reading. Run `rig provider status --refresh`
|
|
917
|
-
before telling anyone an account has room.
|
|
918
|
-
on (off by default), `rig provider moves` records and lists moves of a Codex home's seats between
|
|
919
|
-
subscriptions.
|
|
929
|
+
before telling anyone an account has room.
|
|
920
930
|
- **Codex configuration fragments** — a `codex_config_fragment` must open with a table header and
|
|
921
931
|
never overrides a user-declared table; see `docs/reference/agent-spec.md`.
|
|
922
932
|
- **`rig env`** — the real services behind a rig: are they up, what are they saying, how do you
|
|
@@ -1,20 +1,66 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
# OpenRig setup reference
|
|
2
|
+
|
|
3
|
+
This is the full reference for installing and running OpenRig, written for the agent doing the setup and for anyone
|
|
4
|
+
who wants the detail. The short version for people is [Getting started](quickstart.md).
|
|
5
|
+
|
|
6
|
+
## For the agent doing the setup
|
|
7
|
+
|
|
8
|
+
The `rigs` skill is the procedure: follow it in order. This page is what it looks things up in.
|
|
9
|
+
|
|
10
|
+
- **Done** means the person is talking to the operator in a visible OpenRig view. A healthy daemon, a started kernel
|
|
11
|
+
or an opened window isn't done on its own. If they'd rather talk later, the handoff is still pending: say so, and
|
|
12
|
+
leave them the exact command.
|
|
13
|
+
- **Read readiness; don't assume it:**
|
|
14
|
+
- **The kernel:** the `Kernel:` line in `rig status`, and `rig ps --nodes --rig kernel`.
|
|
15
|
+
- **A team:** `rig ps --nodes --rig <team>`.
|
|
16
|
+
- A missing or unknown signal isn't ready.
|
|
17
|
+
- `rig up` exiting 1 with `Status: partial` and `Startup attention` means a seat is waiting at a prompt. Answer it,
|
|
18
|
+
or ask the person to, then run the `rig seat continue <seat>` it names.
|
|
19
|
+
- **Prerequisites:** check the person's existing toolchain first (mise, nvm, Homebrew or the nodejs.org installer)
|
|
20
|
+
and the PATH. Use what's there. Don't change a shared Homebrew's ownership, and don't make a local workaround the
|
|
21
|
+
standard route. If Node.js is installed after your session started, check that new shells and the session's hooks
|
|
22
|
+
can find it. In one published-0.6.11 Mac run, OpenRig's Claude hooks reported `node: command not found` until the
|
|
23
|
+
PATH was fixed.
|
|
24
|
+
- **Ask once, then reuse the answer:** the provider (Claude Code, Codex or both), Herdr, Ghostty on macOS,
|
|
25
|
+
remembered command allowances, and the team.
|
|
26
|
+
- **Before changing their machine:** say what applies to their route, then wait for a yes. See
|
|
27
|
+
[what OpenRig changes on your machine](../../README.md#what-openrig-changes-on-your-machine).
|
|
28
|
+
- **When something stops:**
|
|
29
|
+
- [Incomplete setup and restart](#incomplete-setup-and-restart) maps what you see to the next action.
|
|
30
|
+
- [What can interrupt installation and the OpenRig view](#what-can-interrupt-installation-and-the-openrig-view)
|
|
31
|
+
covers the view.
|
|
32
|
+
- [Headless or SSH handoff](#headless-or-ssh-handoff) covers no-display cases.
|
|
33
|
+
- A timed-out command may still have taken effect. Read `rig ps` or `rig seat status <seat>` before you run it
|
|
34
|
+
again.
|
|
35
|
+
- **Don't:**
|
|
36
|
+
- relaunch a team to reopen its view;
|
|
37
|
+
- start another seat to clear a prompt;
|
|
38
|
+
- build the person's project yourself. Give the goal to the operator.
|
|
15
39
|
|
|
16
40
|
## Before you start
|
|
17
41
|
|
|
42
|
+
> **What OpenRig changes on your machine**
|
|
43
|
+
> - **Install:** `@openrig/cli` goes in globally with npm.
|
|
44
|
+
> - **Setup:** `rig setup` adds an OpenRig block to `~/.tmux.conf`. It can install tmux (with Homebrew on macOS), and
|
|
45
|
+
> Herdr unless you pass `--no-herdr`. Plain `rig setup`, which is what the one-command install runs, checks both
|
|
46
|
+
> Claude Code and Codex and may install a missing one; `rig setup --providers claude` (or `codex`) limits it to
|
|
47
|
+
> yours.
|
|
48
|
+
> - **Starting OpenRig, for the coding agent you use** (paths are the usual defaults):
|
|
49
|
+
> - Codex: hooks and trust in `~/.codex/config.toml`.
|
|
50
|
+
> - Claude Code: workspace trust in `~/.claude.json`, and activity hooks in the project's
|
|
51
|
+
> `.claude/settings.local.json`, plus a status line unless you already have your own.
|
|
52
|
+
> - Discovery skills go in `~/.claude/skills` and `~/.agents/skills`.
|
|
53
|
+
> - **Starting a team in your project:** adds managed guidance to `AGENTS.md` or `CLAUDE.md`, plus the team's skills
|
|
54
|
+
> and plugins.
|
|
55
|
+
> - **Permissions:** by default, OpenRig's own kernel gets broader permissions than a project team gets by default.
|
|
56
|
+
> On Codex that's full access with no approval prompts (`-s danger-full-access -a never`). On Claude Code, its file
|
|
57
|
+
> tools, web fetches and operational commands, including reads under your home folder, run without asking. A
|
|
58
|
+
> permission policy, per-agent choice or Codex profile changes that. What your team can do depends on the team you
|
|
59
|
+
> choose and your settings; `workshop`, for example, ships with broad access.
|
|
60
|
+
> - **Backups:** OpenRig doesn't guarantee it can preserve or roll back these files, so back them up first.
|
|
61
|
+
>
|
|
62
|
+
> [Everything OpenRig writes, and why →](https://github.com/mvschwarz/openrig#what-openrig-changes-on-your-machine)
|
|
63
|
+
|
|
18
64
|
You need Node.js 22 or 24 and tmux, on macOS or Linux, and one working Claude
|
|
19
65
|
Code or Codex account: one is enough, since the kernel operator adapts the
|
|
20
66
|
shipped `starter` team to whichever you have. On Linux, the distribution's own
|
|
@@ -26,12 +72,16 @@ you aren't an administrator, or where Homebrew belongs to another account (its
|
|
|
26
72
|
`brew install` is refused), install Node.js in your own home folder with
|
|
27
73
|
[nvm](https://github.com/nvm-sh/nvm): run `touch ~/.zshrc` (a new Mac account
|
|
28
74
|
has none, and nvm's installer only adds itself to a profile file that already
|
|
29
|
-
exists), then
|
|
30
|
-
`nvm
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
75
|
+
exists), then nvm's install command, for nvm v0.40.8
|
|
76
|
+
`curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.8/install.sh | bash`
|
|
77
|
+
([nvm's page](https://github.com/nvm-sh/nvm#install--update-script) has the
|
|
78
|
+
newest), open a new terminal, and run `nvm install 22`. nvm itself needs no
|
|
79
|
+
administrator password, and `npm install -g` then installs into your nvm folder.
|
|
80
|
+
If nvm's installer says you need Apple's command line tools, run
|
|
81
|
+
`xcode-select --install`, then its install command again. Native Windows isn't
|
|
82
|
+
supported. On Windows, use WSL2: it's the Windows route
|
|
83
|
+
OpenRig supports, though OpenRig's automated tests don't run on it yet. One
|
|
84
|
+
user's [working setup](#wsl2-a-reported-working-setup) is below. Node 20 and
|
|
35
85
|
odd-numbered releases (23, 25 and so on) are not supported; Node 26 and later
|
|
36
86
|
even-numbered releases are untested.
|
|
37
87
|
|
|
@@ -131,20 +181,19 @@ You can also read [`skills/rigs/SKILL.md`](../../skills/rigs/SKILL.md) directly.
|
|
|
131
181
|
script will do and changes nothing:
|
|
132
182
|
|
|
133
183
|
```sh
|
|
134
|
-
curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.
|
|
184
|
+
curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.7.0/scripts/install.sh | sh -s -- --dry-run
|
|
135
185
|
```
|
|
136
186
|
|
|
137
187
|
The same command without `--dry-run`,
|
|
138
|
-
`curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.
|
|
188
|
+
`curl -fsSL https://raw.githubusercontent.com/mvschwarz/openrig/v0.7.0/scripts/install.sh | sh`, installs the
|
|
139
189
|
latest published `@openrig/cli` with `npm install -g`,
|
|
140
190
|
runs the Node.js and SQLite check, then `rig setup --dry-run` and `rig setup`. `rig setup` checks both Claude Code and
|
|
141
|
-
Codex and may install a missing one, as described below. A failed step
|
|
142
|
-
`FAILED [n/4] <command or check> (exit <code>)`.
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
install only what the selected providers need, go step by step instead:
|
|
191
|
+
Codex and may install a missing one, as described below. A failed step prints
|
|
192
|
+
`FAILED [n/4] <command or check> (exit <code>)`. Where a provider isn't signed in yet, step 4 ends that way and
|
|
193
|
+
`rig setup` lists each sign-in under "Some steps need attention". If the only remaining failures are provider
|
|
194
|
+
sign-ins, the install steps finished: sign in to each selected provider as below, then continue at
|
|
195
|
+
[Start the kernel](#start-the-kernel-and-check-its-state). To install only what the selected providers need, go step
|
|
196
|
+
by step instead:
|
|
148
197
|
|
|
149
198
|
### Choose your providers
|
|
150
199
|
|
|
@@ -174,6 +223,26 @@ writes an OpenRig-managed block (mouse on, a longer history) into `~/.tmux.conf`
|
|
|
174
223
|
It is optional for this selected-provider path, not a requirement to fix an unused
|
|
175
224
|
provider.
|
|
176
225
|
|
|
226
|
+
The block keeps `terminal.history_limit` rows of scrollback per pane (default
|
|
227
|
+
10000). To keep more, run `rig config set terminal.history_limit 50000`, then
|
|
228
|
+
`rig setup` again. A running tmux server keeps its old limit until it restarts
|
|
229
|
+
or you run `tmux source-file ~/.tmux.conf`; before tmux 3.7 that changes new
|
|
230
|
+
panes only.
|
|
231
|
+
|
|
232
|
+
New managed agents and handover successors on macOS/Linux start from the daemon's
|
|
233
|
+
selected launch environment and declared seat values, rather than stored tmux globals.
|
|
234
|
+
Values named by tmux's `update-environment` option, including its default SSH-agent
|
|
235
|
+
and display variables, come from the daemon's environment.
|
|
236
|
+
Normal shell startup and configured tmux shell commands still run. If your custom setup
|
|
237
|
+
intentionally supplies values through tmux's global environment, opt in with
|
|
238
|
+
`rig config set terminal.inherit_tmux_environment true`. Setup points out this option
|
|
239
|
+
when it detects custom tmux configuration; it never enables it automatically. The setting
|
|
240
|
+
applies to future launches and successors, not running agents or your personal tmux server.
|
|
241
|
+
If the scoped environment cannot be prepared, launch keeps its previous environment and
|
|
242
|
+
reports a warning in fresh launch results and the daemon log. For handovers, check
|
|
243
|
+
that log for this warning. This is not a promise that shell startup cannot add or override values.
|
|
244
|
+
|
|
245
|
+
|
|
177
246
|
## Start the kernel and check its state
|
|
178
247
|
|
|
179
248
|
With a working selected login, start the daemon if it is stopped, then read its
|
|
@@ -205,9 +274,51 @@ A missing or unknown readiness signal is not proof of readiness. Follow
|
|
|
205
274
|
startup or missing-seat problems.
|
|
206
275
|
|
|
207
276
|
`rig setup` itself does not start the daemon. Preserve a daemon and kernel that
|
|
208
|
-
already exist:
|
|
209
|
-
`OPENRIG_NO_KERNEL=1` skips automatic kernel startup
|
|
210
|
-
|
|
277
|
+
already exist: daemon startup does not boot a second kernel when one is managed,
|
|
278
|
+
and `OPENRIG_NO_KERNEL=1` (`--no-kernel`) skips automatic kernel startup,
|
|
279
|
+
including the restore below. If neither runtime is authenticated, kernel boot
|
|
280
|
+
reports `auth_blocked`.
|
|
281
|
+
|
|
282
|
+
Daemon startup restores one existing kernel by itself: a managed kernel whose
|
|
283
|
+
seats are all `detached` and still bound to their newest session, which is what
|
|
284
|
+
startup reconcile leaves when every kernel terminal is gone, for example after a
|
|
285
|
+
reboot. It does not detect a reboot as such. It uses the same restore as
|
|
286
|
+
`rig up kernel --existing`, and `rig status` reports it as `Kernel: booting`
|
|
287
|
+
until the seats are ready. A kernel stopped with `rig down kernel`, including
|
|
288
|
+
one whose seats were already detached, stays down on later starts. So do a kernel
|
|
289
|
+
with only some seats stopped and seats you unclaimed. Start one again with
|
|
290
|
+
`rig up kernel --existing`.
|
|
291
|
+
When the tmux server is gone, an explicit `rig down` of any rig can start an
|
|
292
|
+
empty server and probe again. It records the stop and clears eligible bindings
|
|
293
|
+
only after confirming the sessions are absent. This can leave an empty tmux
|
|
294
|
+
server running; it never launches an agent or provider session. Unreadable or
|
|
295
|
+
permission results and changed occupants leave the stop bookkeeping unchanged.
|
|
296
|
+
|
|
297
|
+
While that automatic restore runs, `rig start` continues to your other rigs and
|
|
298
|
+
says the kernel is still restoring (`kernelRestore.state: "restoring"` with
|
|
299
|
+
`--json`). Its exit status 0 then does not mean the kernel is ready; check
|
|
300
|
+
`rig status`. When the restore has returned without a ready kernel, `rig start`
|
|
301
|
+
still goes on to your other rigs but exits 1 (`kernelRestore.state: "failed"`),
|
|
302
|
+
so `rig start && next` does not run `next`. A `rig down kernel` made during the
|
|
303
|
+
restore waits for it to return and then stops the kernel, which stays down on
|
|
304
|
+
later starts. A `rig up kernel --existing` with no fresh seats and no change to
|
|
305
|
+
the saved non-interruptive choice, made during the restore, or after it restored
|
|
306
|
+
every seat while those seats still run the sessions it started, reports that
|
|
307
|
+
restore's outcome instead of starting another. Explicitly repeating the saved
|
|
308
|
+
`--non-interruptive` or `--no-non-interruptive` choice also joins that restore.
|
|
309
|
+
|
|
310
|
+
An explicit `rig up kernel --existing --fresh <seat...>` waits for startup's
|
|
311
|
+
restore to finish, then replaces only the named seats that still hold the exact
|
|
312
|
+
sessions startup launched. Other seats keep running. An operator's conversation
|
|
313
|
+
correction also takes effect for that seat on the next explicit `up` or
|
|
314
|
+
`restore`, using the corrected target; editing the token alone restarts nothing.
|
|
315
|
+
Each replacement takes new seat leases, rechecks the managed occupant and terminal,
|
|
316
|
+
and reports its own per-seat outcome. If the occupant changed, it is left alone.
|
|
317
|
+
A different `--non-interruptive` or `--no-non-interruptive` choice after startup
|
|
318
|
+
launched the seats is refused: the running launch choice stays unchanged. Stop
|
|
319
|
+
the rig, then rerun with the desired choice.
|
|
320
|
+
|
|
321
|
+
Do not restart or recreate an
|
|
211
322
|
existing kernel merely to open its view. The startup TUI (`rig`) offers its own
|
|
212
323
|
kernel setup and individual-seat recovery; it does not automatically boot agents
|
|
213
324
|
when it starts the daemon.
|
|
@@ -644,7 +755,7 @@ the lifecycle API without booting a new kernel, then stop the remaining rigs.
|
|
|
644
755
|
| Shared terminal is absent | Inspect the existing kernel binding and recovery state; use standalone `rig tui` while resolving it. |
|
|
645
756
|
| Viewing terminal was closed | Open the conversations again with `rig terminal open saved:kernel --window`; `rig tui --shared` is only the dashboard fallback if that window cannot open. Do not relaunch the team. |
|
|
646
757
|
| Daemon restarted but tmux survived | Re-read `rig status` and the existing queue; a daemon restart is not a fresh project. |
|
|
647
|
-
| Host reboot lost tmux sessions |
|
|
758
|
+
| Host reboot lost tmux sessions | Starting the daemon restores the kernel by itself when all of its seats were lost; check `rig status`, and if it reports the restore failed, run `rig up kernel --existing`. For other rigs, open `rig`, start the daemon if needed (press **S** if it opens on the work views), and select the existing rig and seats. Resume is the default; a fresh conversation needs a separate decision. |
|
|
648
759
|
| Launch reports no usable snapshot | Inspect the existing rig and retained project files, then follow the same-seat recovery below. |
|
|
649
760
|
| Work is waiting on a prompt or decision | Read the row, transition and named prompt; preserve the obligation until the missing decision arrives. |
|
|
650
761
|
|
|
@@ -675,8 +786,9 @@ This recovery is for the case the reporter hit: the kernel's seats failed and no
|
|
|
675
786
|
IDs, for example `advisor.lead operator.agent operator.human queue.worker` when all four failed. `--fresh` starts a
|
|
676
787
|
new conversation for each seat you name. Seats you don't name follow their normal recovery policy and may remain
|
|
677
788
|
awaiting a decision if their old conversation can't be resumed. A later `rig daemon start` doesn't retry the failed
|
|
678
|
-
seats by itself: once a kernel exists, startup skips the built-in kernel boot
|
|
679
|
-
|
|
789
|
+
seats by itself: once a kernel exists, startup skips the built-in kernel boot and restores only a kernel whose seats
|
|
790
|
+
were all lost, not seats that failed. `rig status` then reads `Kernel: skipped` unless some of its seats are running
|
|
791
|
+
and ready, so check `rig ps --nodes --rig kernel --full`.
|
|
680
792
|
|
|
681
793
|
If a snapshot is unavailable, the startup view checks the selected seat's
|
|
682
794
|
retained startup source and authoritative occupant relation. It reports a
|
|
@@ -995,6 +1107,37 @@ same-seat stop/resume path after checking its retained policy; do not erase the
|
|
|
995
1107
|
rig or start a duplicate to reset permissions. A resume can reapply the stored
|
|
996
1108
|
launch mode, so verify the native mode again before continuing work.
|
|
997
1109
|
|
|
1110
|
+
## Optional Mac local-user check
|
|
1111
|
+
|
|
1112
|
+
On a Mac shared by multiple OS accounts, `transport.local_user_guard` can reduce
|
|
1113
|
+
accidental CLI routing to another account's local daemon. It is **off by default**.
|
|
1114
|
+
Enable it with `rig config set transport.local_user_guard true`, or set
|
|
1115
|
+
`OPENRIG_TRANSPORT_LOCAL_USER_GUARD=true` in the CLI's environment. Set it to
|
|
1116
|
+
`false` to turn it off; no daemon restart is needed for the CLI check.
|
|
1117
|
+
|
|
1118
|
+
When enabled, automatic local CLI data requests compare the daemon's reported
|
|
1119
|
+
`/healthz` PID and effective UID (`euid`) with two `ps` UID/start observations and
|
|
1120
|
+
a second health response, with at most one second of observation per check.
|
|
1121
|
+
Only stable agreement on a foreign effective UID stops the request. This does
|
|
1122
|
+
not require visibility into another user's socket descriptors. It does not
|
|
1123
|
+
stop the daemon, choose another port or retry. Diagnostic health/status checks
|
|
1124
|
+
remain available. Older daemons without `euid` remain unknown and are permitted.
|
|
1125
|
+
`sudo rig …` uses the caller's **effective** UID, so an enabled check against a
|
|
1126
|
+
user-owned daemon refuses when its reported/observed UID differs from root.
|
|
1127
|
+
|
|
1128
|
+
Explicit `OPENRIG_URL`/`RIGGED_URL` targets and registered remote hosts retain
|
|
1129
|
+
their selected routing, including tunnels. An internally resolved local URL is
|
|
1130
|
+
still checked. Default UI and TUI openings are checked before launch; this does
|
|
1131
|
+
not police later browser or TUI connections.
|
|
1132
|
+
|
|
1133
|
+
Missing, disagreeing, restricted or timed-out evidence **continues today's
|
|
1134
|
+
behavior**. This is a partial accidental-routing check, not authenticated user
|
|
1135
|
+
isolation: it trusts the daemon's PID/UID report and corroborates that process;
|
|
1136
|
+
it does not establish the socket's owner. Identity can change between observation
|
|
1137
|
+
and connection, and equal UIDs do not distinguish separate instances belonging
|
|
1138
|
+
to one account. The check
|
|
1139
|
+
does not add authentication to the daemon or protect direct HTTP clients.
|
|
1140
|
+
|
|
998
1141
|
## Custom settings and precedence
|
|
999
1142
|
|
|
1000
1143
|
- **OpenRig:** member `permission_policy` overrides rig `permission_policy`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Reference guides the help pack links to, loaded one file or section at a time by address
|
|
2
2
|
# (rig context get reference/<file>#<section>). Each file is a symlink to docs/reference/.
|
|
3
3
|
name: reference
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: world
|
|
6
6
|
purpose: "Version-matched reference guides the help guide links to. Load a single file or section by address; don't load the whole pack."
|
|
7
7
|
files:
|
|
@@ -354,7 +354,7 @@ pods:
|
|
|
354
354
|
|
|
355
355
|
- A seat gets the rig's `env` with its own `env` laid over it, name by name.
|
|
356
356
|
- The same environment is applied on first launch, on `rig up <rig-name>` restore, and to the successor of a seat handover.
|
|
357
|
-
- `rig up <spec> --env KEY=VALUE` (repeatable) adds or overrides a value for one launch. A one-off value belongs to the terminal that launch creates: it stays in that terminal's environment for as long as the terminal lives, and OpenRig removes it from the tmux session's environment as soon as the terminal has started, so a terminal started later in that session does not get it. A restore, a handover successor or any later launch starts from the spec's `env:` alone, so the value is not saved and does not carry forward. To keep a value, put it in `env:`. One exception to "does not carry forward", for a managed Claude seat (see below): a one-off name that the seat's spec does not declare stays on the session's list of names, `OPENRIG_SEAT_ENV_KEYS` (names only, no values), because the first launch and an in-place restart of the same terminal read that list. So if a later pane in that session gets a value for that name from the tmux server's own environment, its managed Claude launch can forward that value, where a launch without `--env` would leave it out. The first launch's one-off value itself is not passed on to that pane. This comes from reading the code and has not been measured. `--env` does not apply to `rig up <rig-name>` (a restore) or to a topology (several rigs from their own specs); the CLI refuses both. For a topology, put `env:` in each rig's spec.
|
|
357
|
+
- `rig up <spec> --env KEY=VALUE` (repeatable) adds or overrides a value for one launch. A one-off value belongs to the terminal that launch creates: it stays in that terminal's environment for as long as the terminal lives, and OpenRig removes it from the tmux session's environment as soon as the terminal has started, so a terminal started later in that session does not get it. If OpenRig can't take it out, the seat keeps running and the launch warns, naming the variable and the tmux command to put it back or remove it. Until then, a terminal started later in that session would get it. A restore, a handover successor or any later launch starts from the spec's `env:` alone, so the value is not saved and does not carry forward. To keep a value, put it in `env:`. One exception to "does not carry forward", for a managed Claude seat (see below): a one-off name that the seat's spec does not declare stays on the session's list of names, `OPENRIG_SEAT_ENV_KEYS` (names only, no values), because the first launch and an in-place restart of the same terminal read that list. So if a later pane in that session gets a value for that name from the tmux server's own environment, its managed Claude launch can forward that value, where a launch without `--env` would leave it out. The first launch's one-off value itself is not passed on to that pane. This comes from reading the code and has not been measured. `--env` does not apply to `rig up <rig-name>` (a restore) or to a topology (several rigs from their own specs); the CLI refuses both. For a topology, put `env:` in each rig's spec.
|
|
358
358
|
- Names starting `OPENRIG_` are reserved for OpenRig and refused. Empty values are refused, because the launch omits empty variables.
|
|
359
359
|
- `rig export` writes the rig and member `env:` back out.
|
|
360
360
|
|