@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: verification-before-completion
|
|
3
|
-
description: Use when about to claim work is complete, fixed, or passing, before committing or creating PRs
|
|
3
|
+
description: Use when about to claim work is complete, fixed, or passing, or before committing or creating PRs
|
|
4
4
|
metadata:
|
|
5
5
|
openrig:
|
|
6
6
|
vendored_from: "Obra Superpowers (https://github.com/obra/superpowers)"
|
|
@@ -14,75 +14,45 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
Claiming work is complete without verification is dishonesty, not efficiency.
|
|
16
16
|
|
|
17
|
-
**Core principle:** Evidence before claims
|
|
17
|
+
**Core principle:** Evidence before claims.
|
|
18
18
|
|
|
19
|
-
**This rule serves shipping — it is not a ritual that outranks it.** It governs one thing: *claims that a verifiable result holds* ("tests pass", "build succeeds", "bug fixed") —
|
|
19
|
+
**This rule serves shipping — it is not a ritual that outranks it.** It governs one thing: *claims that a verifiable result holds* ("tests pass", "build succeeds", "bug fixed") — have evidence for the result before you assert it, and scale the check to the stakes (a one-line copy tweak is not a test-suite ceremony). Don't dodge it with synonyms; equally, don't inflate it into a tax on the word "done" or a reason to keep re-proving instead of shipping the working thing.
|
|
20
20
|
|
|
21
|
-
## The
|
|
21
|
+
## The Rule
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
NO COMPLETION CLAIMS WITHOUT FRESH VERIFICATION EVIDENCE
|
|
25
|
-
```
|
|
26
|
-
|
|
27
|
-
If you haven't run the verification command in this message, you cannot claim it passes.
|
|
23
|
+
Before claiming a verifiable result, inspect evidence that supports that result for the candidate and environment you name. Use an existing result while its relevant inputs and assumptions still hold; rerun the affected check when they change or are uncertain. State whether you ran the check or inspected another owner's evidence. A source read, syntax check or partial test supports only its stated scope. Ordinary progress reports, delegation and moving to another task do not require a new test run. Required project checks still apply.
|
|
28
24
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
```
|
|
32
|
-
BEFORE claiming any status or expressing satisfaction:
|
|
25
|
+
A completed run is not automatically current, and unchanged source does not establish unchanged live state.
|
|
33
26
|
|
|
34
|
-
|
|
35
|
-
2. RUN: Execute the FULL command (fresh, complete)
|
|
36
|
-
3. READ: Full output, check exit code, count failures
|
|
37
|
-
4. VERIFY: Does output confirm the claim?
|
|
38
|
-
- If NO: State actual status with evidence
|
|
39
|
-
- If YES: State claim WITH evidence
|
|
40
|
-
5. ONLY THEN: Make the claim
|
|
41
|
-
|
|
42
|
-
Skip any step = lying, not verifying
|
|
43
|
-
```
|
|
27
|
+
For a claim about performance, also read [references/performance-claims.md](references/performance-claims.md).
|
|
44
28
|
|
|
45
29
|
## Common Failures
|
|
46
30
|
|
|
47
31
|
| Claim | Requires | Not Sufficient |
|
|
48
32
|
|-------|----------|----------------|
|
|
49
|
-
| Tests pass | Test
|
|
33
|
+
| Tests pass | Test output with 0 failures, for the candidate you name | A run on an older candidate, "should pass" |
|
|
50
34
|
| Linter clean | Linter output: 0 errors | Partial check, extrapolation |
|
|
51
35
|
| Build succeeds | Build command: exit 0 | Linter passing, logs look good |
|
|
52
36
|
| Bug fixed | Test original symptom: passes | Code changed, assumed fixed |
|
|
53
37
|
| Regression test works | Red-green cycle verified | Test passes once |
|
|
54
|
-
|
|
|
55
|
-
| Requirements met |
|
|
38
|
+
| Delivered outcome | Relevant artifact and observed result | An agent's success message or a diff alone |
|
|
39
|
+
| Requirements met | Promised outcomes checked against applicable evidence, gaps named | Tests passing |
|
|
56
40
|
|
|
57
41
|
## Red Flags - STOP
|
|
58
42
|
|
|
59
43
|
- Using "should", "probably", "seems to"
|
|
60
|
-
- Claiming a specific result is *proven* ("tests pass", "it's fixed", "build's green")
|
|
44
|
+
- Claiming a specific result is *proven* ("tests pass", "it's fixed", "build's green") without evidence that applies to it — enthusiasm itself is fine; an unverified **result claim** is the flag
|
|
61
45
|
- About to commit/push/PR without verification
|
|
62
46
|
- Trusting agent success reports
|
|
63
|
-
-
|
|
47
|
+
- Claiming more than a partial check covers
|
|
64
48
|
- Thinking "just this once"
|
|
65
49
|
- Tired and wanting work over
|
|
66
|
-
- **ANY wording implying success without having run verification**
|
|
67
|
-
|
|
68
|
-
## Rationalization Prevention
|
|
69
|
-
|
|
70
|
-
| Excuse | Reality |
|
|
71
|
-
|--------|---------|
|
|
72
|
-
| "Should work now" | RUN the verification |
|
|
73
|
-
| "I'm confident" | Confidence ≠ evidence |
|
|
74
|
-
| "Just this once" | No exceptions |
|
|
75
|
-
| "Linter passed" | Linter ≠ compiler |
|
|
76
|
-
| "Agent said success" | Verify independently |
|
|
77
|
-
| "I'm tired" | Exhaustion ≠ excuse |
|
|
78
|
-
| "Partial check is enough" | Partial proves nothing |
|
|
79
|
-
| "Different words so rule doesn't apply" | Spirit over letter |
|
|
80
50
|
|
|
81
51
|
## Key Patterns
|
|
82
52
|
|
|
83
53
|
**Tests:**
|
|
84
54
|
```
|
|
85
|
-
✅ [Run test command] [See: 34/34 pass] "All tests pass"
|
|
55
|
+
✅ [Run test command, or read the named candidate's CI output] [See: 34/34 pass] "All tests pass"
|
|
86
56
|
❌ "Should pass now" / "Looks correct"
|
|
87
57
|
```
|
|
88
58
|
|
|
@@ -100,19 +70,19 @@ Skip any step = lying, not verifying
|
|
|
100
70
|
|
|
101
71
|
**Requirements:**
|
|
102
72
|
```
|
|
103
|
-
✅
|
|
73
|
+
✅ Check each promised outcome against applicable evidence → Report gaps or completion
|
|
104
74
|
❌ "Tests pass, phase complete"
|
|
105
75
|
```
|
|
106
76
|
|
|
107
77
|
**Agent delegation:**
|
|
108
78
|
```
|
|
109
|
-
✅ Agent reports success →
|
|
110
|
-
❌
|
|
79
|
+
✅ Agent reports success → Inspect the artifact and the evidence it names → Report what was checked and what wasn't
|
|
80
|
+
❌ Pass on the report alone
|
|
111
81
|
```
|
|
112
82
|
|
|
113
83
|
## When the check itself lies — content over shape
|
|
114
84
|
|
|
115
|
-
|
|
85
|
+
A passing check is necessary but not sufficient: a check can exit clean and still prove nothing. These are the named ways a green check lies — the failure siblings behind "evidence before claims." (Deeper treatment of *what* you verify against: `reference-first-verification`.)
|
|
116
86
|
|
|
117
87
|
- **Assert on CONTENT, never shape or count.** Output that *looks* like success — a non-zero count, a clean exit, no error text — can carry failure as its content. Before trusting a check, ask what its output looks like *when it fails*: if failure and success are indistinguishable at a glance, the check proves nothing. (`[1 lines]` and `No matches found` both read as "a match" to a line-count.)
|
|
118
88
|
- **Compare the returned value to the value you PASSED — never to a description of it.** A confident label (`evidenceRef NOW SET:` printed above the untouched original) is indistinguishable from a verification in a transcript. Diff the actual result against your actual input, not against a claim about it.
|
|
@@ -120,36 +90,3 @@ Running a verification is necessary but not sufficient: a check can exit clean a
|
|
|
120
90
|
- **A syntax check proves parseability and nothing else.** A clean `node --check` / lint / parse pass is the *covered* axis; boot and runtime are the untested one. Parseable ≠ sound.
|
|
121
91
|
- **A failure whose shape is a HANG reports nothing.** A bare `await` against a stated deadline that never re-checks cannot fail loudly. Race it against a timer so failure has a shape you can see.
|
|
122
92
|
- **A completeness inventory read through a truncating display is worthless.** When deciding *which occurrences to change*, count with `grep -c` / `grep -o` / full-line output — never `cut`, `head`, or a pager, which can hide a match *past* the cut. Distinguish *"I found N"* (a count) from *"I saw N"* (a display). Audit multiline prose **by paragraph, not by line** — a line filter both misses long-line matches and false-flags paragraphs whose companion text is on the next line. Then re-audit with a **different method** than the one that built the inventory — same-method re-checking reproduces the blind spot. (Empty/short output is a claim about your COMMAND until re-proven a second way.)
|
|
123
|
-
|
|
124
|
-
## Why This Matters
|
|
125
|
-
|
|
126
|
-
From 24 failure memories:
|
|
127
|
-
- your human partner said "I don't believe you" - trust broken
|
|
128
|
-
- Undefined functions shipped - would crash
|
|
129
|
-
- Missing requirements shipped - incomplete features
|
|
130
|
-
- Time wasted on false completion → redirect → rework
|
|
131
|
-
- Violates: "Honesty is a core value. If you lie, you'll be replaced."
|
|
132
|
-
|
|
133
|
-
## When To Apply
|
|
134
|
-
|
|
135
|
-
**ALWAYS before:**
|
|
136
|
-
- ANY variation of success/completion claims
|
|
137
|
-
- ANY expression of satisfaction
|
|
138
|
-
- ANY positive statement about work state
|
|
139
|
-
- Committing, PR creation, task completion
|
|
140
|
-
- Moving to next task
|
|
141
|
-
- Delegating to agents
|
|
142
|
-
|
|
143
|
-
**Rule applies to:**
|
|
144
|
-
- Exact phrases
|
|
145
|
-
- Paraphrases and synonyms
|
|
146
|
-
- Implications of success
|
|
147
|
-
- ANY communication suggesting completion/correctness
|
|
148
|
-
|
|
149
|
-
## The Bottom Line
|
|
150
|
-
|
|
151
|
-
**No shortcuts for verification.**
|
|
152
|
-
|
|
153
|
-
Run the command. Read the output. THEN claim the result.
|
|
154
|
-
|
|
155
|
-
This is non-negotiable.
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "verification-before-completion"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
|
-
purpose: "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs
|
|
6
|
+
purpose: "Use when about to claim work is complete, fixed, or passing, or before committing or creating PRs"
|
|
7
7
|
files:
|
|
8
8
|
- path: "SKILL.md"
|
|
9
9
|
role: "instruction"
|
|
10
|
-
summary: "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs
|
|
10
|
+
summary: "Use when about to claim work is complete, fixed, or passing, or before committing or creating PRs"
|
|
11
|
+
- path: "references/performance-claims.md"
|
|
12
|
+
role: "reference"
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
# Performance claims
|
|
2
|
+
|
|
3
|
+
Read this before claiming that a change makes something faster, lighter or more responsive. It's for a performance claim, not for every change.
|
|
4
|
+
|
|
5
|
+
- Bind the claim to the versions, fixture and workload you measured.
|
|
6
|
+
- Count the correct work completed and the failures, as well as the time. A speedup that comes from doing less work isn't one.
|
|
7
|
+
- Keep the relevant setup comparable between the runs you compare, and separate what your instrumentation costs from what you measure.
|
|
8
|
+
- Report the repetitions and the variability, and state the limits. Choose enough repetitions to support the precision you claim; there's no fixed minimum.
|
|
9
|
+
- Freeze a suitable harness while you compare candidates.
|
|
10
|
+
- Stop when the selected outcome is met, or when the remaining experiments no longer justify their cost. An honest negative result is a result; keep it.
|
|
11
|
+
|
|
12
|
+
Adapted from the benchmark-checklist method in Cursor's pstack plugin (https://github.com/cursor/plugins/tree/190d28736eff128ec94f502a22c7fe0c4b56cd37/pstack).
|
|
@@ -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)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "queue-handoff"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when ending a turn, finishing a slice, blocked on another agent's work, or escalating to a human — durable work handoff via queue items so the system keeps moving across compactions, missed messages, and interruptions. Covers the hot-potato terminal-turn-rule (active work ends by passing the ball, not by going idle), default-nudge semantics, and when `--no-nudge` is appropriate for intentional cold park or human gate."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "refocusing"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when a long-running agent may have lost the product outcome, when context was compacted, when work has crossed a major boundary, or when a fresh path-based trace is needed before the next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints."
|
|
7
7
|
files:
|
|
@@ -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):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "retiring-and-inheriting-a-seat"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when you are a sitting agent near your context threshold (~85%) and a PLANNED seat transition is due — retire deliberately and hand your seat to a fresh successor primed from a packet, rather than let compaction degrade you. Covers the handover packet, the append-only lineage ledger (one row per tenure), physical-seat continuity, the do-not-over-inherit framing, the optional warm-handoff window, and wake-v0 (consulting a retired predecessor). NOT for unplanned compaction/crash recovery (sess"
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "seat-continuity-and-handover"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when replacing a seat's occupant (rebuild/handover/swap), reasoning about stable-seat-identity vs fluid-occupant-identity, choosing an old-occupant disposition (retire/advise/shadow), or recording provenance for an occupant change. Two independent outcomes (continuityOutcome + seatBindingOutcome) and the 5 failure modes that prevent silent dishonesty."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "session-compaction-and-restore"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when reasoning about what survives compaction/context-loss/restart/seat-refresh, designing a high-fidelity restore packet, or distinguishing native runtime resume vs fork vs artifact-backed mental-model rebuild. Covers the 4 failure modes that prevent honest restore (compacted seat drops hot potato; restore packet preserves details but loses product intent; runtime resume mistaken for handover or fork; rebuilt seat starts with stale instructions)."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "software-for-agents"
|
|
4
|
-
version: "0.
|
|
4
|
+
version: "0.7.0"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when older OpenRig instructions name software-for-agents or describe agent-in-the-middle or studio software under the former skill name."
|
|
7
7
|
files:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { TmuxAdapter } from "./tmux.js";
|
|
2
2
|
import type { SeatLaunchEnvironment } from "../domain/seat-launch-environment.js";
|
|
3
|
-
import type { RuntimeAdapter, NodeBinding, ResolvedStartupFile, InstalledResource, ProjectionResult, StartupDeliveryResult, ReadinessResult, HarnessLaunchResult } from "../domain/runtime-adapter.js";
|
|
3
|
+
import type { RuntimeAdapter, NodeBinding, ResolvedStartupFile, InstalledResource, ProjectionResult, StartupDeliveryResult, ReadinessResult, ReadinessOptions, HarnessLaunchResult } from "../domain/runtime-adapter.js";
|
|
4
4
|
import type { ProjectionPlan } from "../domain/projection-planner.js";
|
|
5
5
|
import { type NativeProcessLister } from "../domain/native-process-lineage.js";
|
|
6
6
|
import type { ClaudeManagedLaunch } from "../domain/claude-managed-launch.js";
|
|
@@ -77,7 +77,7 @@ export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
|
77
77
|
forkSource?: import("../domain/runtime-adapter.js").ForkSource;
|
|
78
78
|
freshInPlace?: boolean;
|
|
79
79
|
}): Promise<HarnessLaunchResult>;
|
|
80
|
-
checkReady(binding: NodeBinding): Promise<ReadinessResult>;
|
|
80
|
+
checkReady(binding: NodeBinding, options?: ReadinessOptions): Promise<ReadinessResult>;
|
|
81
81
|
/** Best-effort public seam for tmux-bound Claude sessions adopted outside the launch path. */
|
|
82
82
|
ensureContextCollector(binding: {
|
|
83
83
|
cwd?: string | null;
|
|
@@ -95,6 +95,10 @@ export declare class ClaudeCodeAdapter implements RuntimeAdapter {
|
|
|
95
95
|
* retain the old admission (including its ambiguity); visible gates and conflicting identity do not. */
|
|
96
96
|
private assessFreshInPlaceProbe;
|
|
97
97
|
private assessManagedProbe;
|
|
98
|
+
/** The observation `rig seat clear-attention` uses: the pane's one foreground Claude names exactly `resumeToken`, the
|
|
99
|
+
* same process in two samples, with no frozen executable, in the session's only pane with an unchanged PID. Reads
|
|
100
|
+
* only. Anything missing or inconclusive is not proof. */
|
|
101
|
+
private proveWithoutLaunch;
|
|
98
102
|
/** tmux names a shell for every OpenRig launch (the launch script is `sh`), so its word alone can't say
|
|
99
103
|
* Claude is gone. With a bound pane, the process tree must show the pane's shell holding the terminal with
|
|
100
104
|
* nothing under it; Claude, or a launch script about to start it, is a slow resume. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-code-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAElF,OAAO,KAAK,EACV,cAAc,EAAE,WAAW,EAAE,mBAAmB,EAChD,iBAAiB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"claude-code-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/claude-code-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ import { claudePostureFlag, claudeClassicRendererEnvPrefix } from "./yolo-mode.j
|
|
|
6
6
|
import { resolveConcreteHint } from "../domain/runtime-adapter.js";
|
|
7
7
|
import { assessNativeResumeProbe } from "../domain/native-resume-probe.js";
|
|
8
8
|
import { resolveReadinessTimeoutMs } from "../domain/readiness-timeout.js";
|
|
9
|
-
import { subtreeNamesClaudeExecutable, claudeCommandSessionToken, listNativeProcesses, observeClaudeDelivery, observeClaudePaneProcess, observeClaudePaneRuntime, observeCodexPaneProcess, verifyCodexPaneProcess, verifyPaneIdleShell } from "../domain/native-process-lineage.js";
|
|
9
|
+
import { subtreeNamesClaudeExecutable, claudeCommandSessionToken, listNativeProcesses, observeClaudeDelivery, observeClaudePaneProcess, observeClaudePaneRuntime, observeCodexPaneProcess, verifyClaudePaneProcess, verifyCodexPaneProcess, verifyPaneIdleShell } from "../domain/native-process-lineage.js";
|
|
10
10
|
import { mergeManagedBlock, DEFAULT_CLAUDE_MANAGED_BLOCK_FILE } from "../domain/managed-blocks.js";
|
|
11
11
|
import { claudeResumeLaunchEnv, claudeResumeLaunchPrefix } from "./claude-resume-launch.js";
|
|
12
12
|
import { shellQuote } from "./shell-quote.js";
|
|
@@ -300,7 +300,7 @@ export class ClaudeCodeAdapter {
|
|
|
300
300
|
// can belong to another seat sharing the Claude config directory.
|
|
301
301
|
return { ok: true, resumeToken: generatedSessionId, resumeType: "claude_id", appliedLaunch };
|
|
302
302
|
}
|
|
303
|
-
async checkReady(binding) {
|
|
303
|
+
async checkReady(binding, options) {
|
|
304
304
|
binding = { ...binding };
|
|
305
305
|
if (!binding.tmuxSession) {
|
|
306
306
|
return { ready: false, reason: "No tmux session bound" };
|
|
@@ -311,7 +311,7 @@ export class ClaudeCodeAdapter {
|
|
|
311
311
|
}
|
|
312
312
|
const paneCommand = await this.tmux.getPaneCommand(binding.tmuxSession);
|
|
313
313
|
const paneContent = (await this.tmux.capturePaneContent(binding.tmuxSession, 40)) ?? "";
|
|
314
|
-
const historyProbe = await this.assessManagedProbe(binding, paneCommand, paneContent);
|
|
314
|
+
const historyProbe = await this.assessManagedProbe(binding, paneCommand, paneContent, options);
|
|
315
315
|
const probe = await this.assessFreshInPlaceProbe(binding, paneCommand, historyProbe);
|
|
316
316
|
// A script-launched Claude reads as `sh` until the script hands over the foreground, so the label alone
|
|
317
317
|
// is not a return to a shell. Say so only for a proven idle shell (the rule Codex's checkReady uses).
|
|
@@ -324,7 +324,7 @@ export class ClaudeCodeAdapter {
|
|
|
324
324
|
};
|
|
325
325
|
}
|
|
326
326
|
if (probe.status === "resumed")
|
|
327
|
-
return { ready: true };
|
|
327
|
+
return "provedWithoutLaunch" in probe ? { ready: true, provedWithoutLaunch: true } : { ready: true };
|
|
328
328
|
return { ready: false, reason: probe.detail, code: probe.code };
|
|
329
329
|
}
|
|
330
330
|
/** Best-effort public seam for tmux-bound Claude sessions adopted outside the launch path. */
|
|
@@ -380,7 +380,7 @@ export class ClaudeCodeAdapter {
|
|
|
380
380
|
claudeAutoIdentityVerified: true, claudeResumeIdentityVerified: true });
|
|
381
381
|
return withIdentity.status === "resumed" && occupant !== "absent" ? historyProbe : current;
|
|
382
382
|
}
|
|
383
|
-
async assessManagedProbe(binding, paneCommand, paneContent) {
|
|
383
|
+
async assessManagedProbe(binding, paneCommand, paneContent, options) {
|
|
384
384
|
const input = { runtime: "claude-code", paneCommand, paneContent };
|
|
385
385
|
const probe = assessNativeResumeProbe(input);
|
|
386
386
|
// Headerless managed launches (including bypass mode) use the same readiness
|
|
@@ -391,7 +391,11 @@ export class ClaudeCodeAdapter {
|
|
|
391
391
|
if (probe.status === "resumed" || verifiedProbe.status !== "resumed")
|
|
392
392
|
return probe;
|
|
393
393
|
const launch = this.autoLaunches.get(binding.nodeId);
|
|
394
|
-
|
|
394
|
+
// No launch record (this daemon did not launch the seat): the caller's real binding and the seat's recorded
|
|
395
|
+
// conversation are the proof's inputs. A record for another launch keeps today's result below.
|
|
396
|
+
if (!launch)
|
|
397
|
+
return await this.proveWithoutLaunch(binding, options) ? { ...verifiedProbe, provedWithoutLaunch: true } : probe;
|
|
398
|
+
if (!binding.tmuxPane || !binding.tmuxSession
|
|
395
399
|
|| launch.binding.id !== binding.id || launch.binding.tmuxPane !== binding.tmuxPane
|
|
396
400
|
|| launch.binding.tmuxSession !== binding.tmuxSession
|
|
397
401
|
|| launch.binding.launchGeneration !== binding.launchGeneration)
|
|
@@ -438,6 +442,29 @@ export class ClaudeCodeAdapter {
|
|
|
438
442
|
return probe;
|
|
439
443
|
}
|
|
440
444
|
}
|
|
445
|
+
/** The observation `rig seat clear-attention` uses: the pane's one foreground Claude names exactly `resumeToken`, the
|
|
446
|
+
* same process in two samples, with no frozen executable, in the session's only pane with an unchanged PID. Reads
|
|
447
|
+
* only. Anything missing or inconclusive is not proof. */
|
|
448
|
+
async proveWithoutLaunch(binding, options) {
|
|
449
|
+
const token = options?.resumeToken?.trim();
|
|
450
|
+
if (!token || !binding.tmuxPane || !binding.tmuxSession)
|
|
451
|
+
return false;
|
|
452
|
+
try {
|
|
453
|
+
const panes = await this.tmux.listPanes(binding.tmuxSession);
|
|
454
|
+
if (panes.length !== 1 || panes[0]?.id !== binding.tmuxPane)
|
|
455
|
+
return false;
|
|
456
|
+
const native = await verifyClaudePaneProcess({ target: binding.tmuxPane, tmux: this.tmux,
|
|
457
|
+
listProcesses: this.listProcesses, expectedToken: token, rotation: options?.resumeRotation ?? null });
|
|
458
|
+
if (!native)
|
|
459
|
+
return false;
|
|
460
|
+
const currentPanes = await this.tmux.listPanes(binding.tmuxSession);
|
|
461
|
+
return currentPanes.length === 1 && currentPanes[0]?.id === binding.tmuxPane
|
|
462
|
+
&& await this.tmux.getPanePid(binding.tmuxSession) === native.panePid;
|
|
463
|
+
}
|
|
464
|
+
catch {
|
|
465
|
+
return false;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
441
468
|
/** tmux names a shell for every OpenRig launch (the launch script is `sh`), so its word alone can't say
|
|
442
469
|
* Claude is gone. With a bound pane, the process tree must show the pane's shell holding the terminal with
|
|
443
470
|
* nothing under it; Claude, or a launch script about to start it, is a slow resume. */
|