@openrig/cli 0.5.4 → 0.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/guidance/openrig-start.md +7 -0
- package/daemon/assets/onboarding/01-world-and-purpose.md +52 -0
- package/daemon/assets/onboarding/02-self-and-competent-action.md +57 -0
- package/daemon/assets/plugins/openrig-core/README.md +5 -2
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +3 -12
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +5 -12
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +194 -124
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +18 -23
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/CHANGELOG.md +92 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/REVISION-GUIDE.md +34 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROADMAP.md +23 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROLLOUT.md +234 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +404 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +653 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/scaffold.sh +34 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-due.sh +32 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-stamp.sh +5 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trunk-diff.sh +18 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/LEARNED.md +40 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/NOTES.md +9 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/PLAYBOOK.md +5 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SOP.md +24 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SPEC.md +54 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +2 -0
- package/daemon/assets/plugins/openrig-core/skills/refocusing/SKILL.md +31 -0
- package/daemon/assets/plugins/openrig-core/skills/refocusing/references/refocus.md +22 -0
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +221 -0
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +3 -3
- package/daemon/context-packs/onboarding-width/manifest.yaml +11 -0
- package/daemon/context-packs/{world/install/reference-material.md → onboarding-width/public-reference-material.md} +4 -26
- package/daemon/context-packs/{world/install/what-you-can-do.md → onboarding-width/public-what-you-can-do.md} +13 -9
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/attention-queue/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/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-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/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/SKILL.md +21 -15
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +3 -3
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
- 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/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/brainstorming/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/executing-plans/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/using-superpowers/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +8 -0
- package/daemon/context-packs/world-example/your-world.md +37 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +15 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +57 -0
- package/daemon/dist/adapters/claude-code-adapter.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 +4 -0
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/072_thread_seat_map.d.ts +3 -0
- package/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +1 -0
- package/daemon/dist/db/migrations/072_thread_seat_map.js +22 -0
- package/daemon/dist/db/migrations/072_thread_seat_map.js.map +1 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +3 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +1 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.js +21 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +1 -0
- package/daemon/dist/domain/activity-taxonomy.d.ts +112 -0
- package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -0
- package/daemon/dist/domain/activity-taxonomy.js +99 -0
- package/daemon/dist/domain/activity-taxonomy.js.map +1 -0
- package/daemon/dist/domain/bind-plan.d.ts +19 -0
- package/daemon/dist/domain/bind-plan.d.ts.map +1 -0
- package/daemon/dist/domain/bind-plan.js +25 -0
- package/daemon/dist/domain/bind-plan.js.map +1 -0
- package/daemon/dist/domain/event-bus.d.ts +6 -0
- package/daemon/dist/domain/event-bus.d.ts.map +1 -1
- package/daemon/dist/domain/event-bus.js +15 -5
- package/daemon/dist/domain/event-bus.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process-main.js +9 -0
- package/daemon/dist/domain/gateway/gateway-process-main.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process.js +9 -0
- package/daemon/dist/domain/gateway/gateway-process.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +80 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js +149 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +109 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +250 -0
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/{dist → daemon/dist/domain/gateway}/slack/config.d.ts +8 -5
- package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/config.js +8 -6
- package/daemon/dist/domain/gateway/slack/config.js.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound-admission.d.ts +1 -1
- package/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/inbound-admission.js.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound.d.ts +14 -3
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound.js +6 -5
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts +80 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/message.js +164 -0
- package/daemon/dist/domain/gateway/slack/message.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +54 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +96 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +53 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js +72 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/secrets.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts +106 -0
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-api.js +198 -0
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +47 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +147 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +21 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +198 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +30 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +99 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +17 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.js +35 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +56 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js +103 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -0
- package/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/spawn-gateway.js +9 -0
- package/daemon/dist/domain/gateway/spawn-gateway.js.map +1 -1
- package/daemon/dist/domain/gateway/transport.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/transport.js +9 -0
- package/daemon/dist/domain/gateway/transport.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +20 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +81 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -0
- package/daemon/dist/domain/parked-query.js +126 -0
- package/daemon/dist/domain/parked-query.js.map +1 -0
- package/daemon/dist/domain/queue-pickup.d.ts +38 -0
- package/daemon/dist/domain/queue-pickup.d.ts.map +1 -0
- package/daemon/dist/domain/queue-pickup.js +67 -0
- package/daemon/dist/domain/queue-pickup.js.map +1 -0
- package/daemon/dist/domain/queue-repository.d.ts +38 -10
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +267 -35
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +77 -0
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
- package/daemon/dist/domain/queue-stuck-sweep.js +348 -0
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts +96 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wake-ladder.js +533 -0
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts +37 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.js +80 -0
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -0
- package/daemon/dist/domain/rebuild-priming-chain.d.ts +28 -0
- package/daemon/dist/domain/rebuild-priming-chain.d.ts.map +1 -0
- package/daemon/dist/domain/rebuild-priming-chain.js +71 -0
- package/daemon/dist/domain/rebuild-priming-chain.js.map +1 -0
- package/daemon/dist/domain/review/compose.d.ts +3 -1
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +14 -8
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +3 -1
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +18 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +6 -5
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +23 -20
- package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -5
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.js +6 -7
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.d.ts +1 -1
- package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.js +5 -4
- package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts +42 -3
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +78 -93
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.js +7 -2
- package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +91 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +416 -1
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-handover-planner.d.ts +14 -0
- package/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-planner.js +14 -1
- package/daemon/dist/domain/seat-handover-planner.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +54 -1
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +162 -19
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/session-transport.js +1 -2
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +6 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +3 -3
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +33 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +48 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts +1 -1
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +41 -2
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -0
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +3 -0
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +4 -3
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +56 -196
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/getting-started-narrative.js +1 -1
- package/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts +8 -11
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +23 -25
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/gateway-slack-surface.d.ts +4 -0
- package/daemon/dist/gateway-slack-surface.d.ts.map +1 -0
- package/daemon/dist/gateway-slack-surface.js +8 -0
- package/daemon/dist/gateway-slack-surface.js.map +1 -0
- package/daemon/dist/index.d.ts +29 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +99 -4
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/daemon/dist/lib/pane-envelope.js +8 -14
- package/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts +13 -0
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +186 -0
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/config.js +2 -2
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +3 -0
- package/daemon/dist/routes/gateway.d.ts.map +1 -0
- package/daemon/dist/routes/gateway.js +46 -0
- package/daemon/dist/routes/gateway.js.map +1 -0
- package/daemon/dist/routes/health-summary.d.ts.map +1 -1
- package/daemon/dist/routes/health-summary.js +8 -0
- package/daemon/dist/routes/health-summary.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +3 -1
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +72 -13
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +15 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/server.d.ts +17 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +25 -4
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts +4 -0
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +33 -0
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-state-taxonomy.md +106 -0
- package/daemon/docs/reference/project-workspace.md +22 -14
- package/daemon/docs/reference/refocus-channel.md +27 -14
- package/daemon/docs/reference/sdlc-conventions.md +24 -13
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/pm/requirements-writer/SKILL.md +21 -15
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +1 -1
- package/dist/build-info.js +3 -3
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +32 -57
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +5 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +14 -4
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/gateway.d.ts +19 -1
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +157 -33
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/parked.d.ts +3 -0
- package/dist/commands/parked.d.ts.map +1 -0
- package/dist/commands/parked.js +83 -0
- package/dist/commands/parked.js.map +1 -0
- package/dist/commands/proof.d.ts +2 -1
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +8 -8
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/ps.d.ts +10 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +14 -3
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +31 -3
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +255 -136
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +40 -10
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +13 -14
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/slack.d.ts +14 -28
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +73 -187
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +12 -5
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +11 -4
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/view.d.ts +4 -2
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +1 -1
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/watchdog.d.ts.map +1 -1
- package/dist/commands/watchdog.js +2 -1
- package/dist/commands/watchdog.js.map +1 -1
- package/dist/commands/workspace.js +1 -1
- package/dist/config-store.d.ts +15 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +60 -0
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-target.d.ts.map +1 -1
- package/dist/cross-host-target.js +5 -4
- package/dist/cross-host-target.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +45 -3
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +126 -0
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/capability-delta.d.ts +9 -0
- package/dist/lib/scope/capability-delta.d.ts.map +1 -0
- package/dist/lib/scope/capability-delta.js +73 -0
- package/dist/lib/scope/capability-delta.js.map +1 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts +4 -5
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.js +6 -7
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
- package/dist/lib/scope/scope-audit.d.ts +42 -3
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +78 -93
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +18 -14
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +60 -29
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/scope/templates.d.ts +17 -17
- package/dist/lib/scope/templates.d.ts.map +1 -1
- package/dist/lib/scope/templates.js +35 -39
- package/dist/lib/scope/templates.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +3 -1
- package/dist/lib/scope-templates/backlog-tech-debt.md +3 -1
- package/dist/lib/scope-templates/bug-fix.md +3 -1
- package/dist/lib/scope-templates/capability-delta.md +60 -0
- package/dist/lib/scope-templates/mission-placeholder.md +9 -40
- package/dist/lib/scope-templates/mission-progress.md +5 -6
- package/dist/lib/scope-templates/mission-release.md +9 -40
- package/dist/lib/scope-templates/notes.md +14 -0
- package/dist/lib/scope-templates/placeholder.md +3 -1
- package/dist/lib/scope-templates/proof.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +3 -1
- package/dist/lib/scope-templates/research.md +3 -1
- package/dist/lib/scope-templates/slice-progress.md +4 -5
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts +15 -0
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +57 -0
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js +4 -0
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js +22 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js +21 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts +112 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.js +25 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/event-bus.js +15 -5
- package/node_modules/@openrig/daemon/dist/domain/event-bus.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +80 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +149 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +109 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +250 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +44 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +62 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js +20 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +113 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +146 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts +80 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js +164 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +54 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +96 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +72 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js +73 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts +106 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +198 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +47 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +147 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +198 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +30 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +62 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +132 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +35 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +56 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +103 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +20 -0
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +81 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js +126 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts +38 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +67 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +38 -10
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +267 -35
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +77 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +348 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +96 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +533 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +37 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +80 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts +28 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js +71 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js +14 -8
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js +3 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +6 -5
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +23 -20
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -5
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +6 -7
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +5 -4
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +42 -3
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js +78 -93
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +7 -2
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +91 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +416 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts +14 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js +14 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +54 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +162 -19
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js +1 -2
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +6 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +3 -3
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +33 -0
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +48 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js +41 -2
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +3 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +4 -3
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +56 -196
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts +8 -11
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +23 -25
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +8 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts +29 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +99 -4
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js +8 -14
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/routes/activity.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.js +186 -0
- package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js +2 -2
- package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.js +46 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health-summary.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/health-summary.js +8 -0
- package/node_modules/@openrig/daemon/dist/routes/health-summary.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +3 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +72 -13
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +15 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +25 -4
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +33 -0
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +5 -1
- package/package.json +1 -1
- package/tui/dist/daemon-client.d.ts +5 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +17 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +12 -4
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/live-events.d.ts +21 -0
- package/tui/dist/live-events.d.ts.map +1 -0
- package/tui/dist/live-events.js +88 -0
- package/tui/dist/live-events.js.map +1 -0
- package/tui/dist/live.js +1 -1
- package/tui/dist/main.js +27 -8
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/refresh.d.ts +10 -1
- package/tui/dist/refresh.d.ts.map +1 -1
- package/tui/dist/refresh.js +22 -2
- package/tui/dist/refresh.js.map +1 -1
- package/daemon/context-packs/world/install/01-world-from-primitives.md +0 -97
- package/daemon/context-packs/world/install/02-permission-self-sleep.md +0 -141
- package/daemon/context-packs/world/install/03-what-this-is-for.md +0 -86
- package/daemon/context-packs/world/install/04-ontology.md +0 -790
- package/daemon/context-packs/world/install/05-harness-power-use.md +0 -355
- package/daemon/context-packs/world/install/06-a-competent-turn.md +0 -225
- package/daemon/context-packs/world/install/manifest.yaml +0 -125
- package/dist/lib/scope-templates/mission-brief.md +0 -20
- package/dist/lib/scope-templates/mission-notes.md +0 -102
- package/dist/slack/config.d.ts.map +0 -1
- package/dist/slack/config.js.map +0 -1
- package/dist/slack/connector-server.d.ts +0 -31
- package/dist/slack/connector-server.d.ts.map +0 -1
- package/dist/slack/connector-server.js +0 -108
- package/dist/slack/connector-server.js.map +0 -1
- package/dist/slack/inbound-admission.d.ts.map +0 -1
- package/dist/slack/inbound-admission.js.map +0 -1
- package/dist/slack/inbound.d.ts.map +0 -1
- package/dist/slack/inbound.js.map +0 -1
- package/dist/slack/message.d.ts +0 -39
- package/dist/slack/message.d.ts.map +0 -1
- package/dist/slack/message.js +0 -88
- package/dist/slack/message.js.map +0 -1
- package/dist/slack/outbound.d.ts +0 -39
- package/dist/slack/outbound.d.ts.map +0 -1
- package/dist/slack/outbound.js +0 -63
- package/dist/slack/outbound.js.map +0 -1
- package/dist/slack/queue-bridge.d.ts +0 -61
- package/dist/slack/queue-bridge.d.ts.map +0 -1
- package/dist/slack/queue-bridge.js +0 -114
- package/dist/slack/queue-bridge.js.map +0 -1
- package/dist/slack/secrets.d.ts.map +0 -1
- package/dist/slack/secrets.js.map +0 -1
- package/dist/slack/slack-api.d.ts +0 -49
- package/dist/slack/slack-api.d.ts.map +0 -1
- package/dist/slack/slack-api.js +0 -110
- package/dist/slack/slack-api.js.map +0 -1
- package/dist/slack/slack-delivery.d.ts +0 -14
- package/dist/slack/slack-delivery.d.ts.map +0 -1
- package/dist/slack/slack-delivery.js +0 -28
- package/dist/slack/slack-delivery.js.map +0 -1
- package/dist/slack/state-store.d.ts.map +0 -1
- package/dist/slack/state-store.js.map +0 -1
- /package/{dist → daemon/dist/domain/gateway}/slack/inbound-admission.js +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/secrets.d.ts +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/secrets.js +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/state-store.d.ts +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/state-store.js +0 -0
|
@@ -29,6 +29,13 @@ rig capture <session> # reads what is on their screen
|
|
|
29
29
|
|
|
30
30
|
The session name is the address. `rig --help` lists the rest of the surface.
|
|
31
31
|
|
|
32
|
+
## Fresh-seat orientation
|
|
33
|
+
|
|
34
|
+
Fresh seats normally also receive `openrig-onboarding-01.md` and
|
|
35
|
+
`openrig-onboarding-02.md`. They give a compact mental model before role-specific work begins.
|
|
36
|
+
Operators who provide equivalent guidance can disable both with
|
|
37
|
+
`onboarding.default_pack.enabled`; this identity pointer remains available.
|
|
38
|
+
|
|
32
39
|
## What this file is not
|
|
33
40
|
|
|
34
41
|
It is not the manual, and these commands are a fraction of what is available.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# OpenRig: the world and its purpose
|
|
2
|
+
|
|
3
|
+
OpenRig exists so a human can decide what is worth building while a structured team of agents
|
|
4
|
+
does the routing, remembering, implementation, and checking. The scarce human contribution is
|
|
5
|
+
intent and judgment. Your contribution includes the coordination work that would otherwise live
|
|
6
|
+
in somebody's head.
|
|
7
|
+
|
|
8
|
+
## The terminal is the wire
|
|
9
|
+
|
|
10
|
+
Other agents run in separate terminal sessions. `rig send` types into a peer's prompt and presses
|
|
11
|
+
Enter; `rig capture` reads the rendered screen. The address resolves a named seat to that terminal.
|
|
12
|
+
The durable queue, transcripts, and state records make the interaction survive processes and
|
|
13
|
+
occupants, but the underlying mechanism remains ordinary terminal input and output.
|
|
14
|
+
|
|
15
|
+
That makes a peer different from an in-session subagent. A subagent is a temporary function call:
|
|
16
|
+
use one when you need an answer. A seat is a colleague whose address and accumulated context can
|
|
17
|
+
outlive its current occupant: use one when having done the work must remain valuable later.
|
|
18
|
+
|
|
19
|
+
## The declared shape
|
|
20
|
+
|
|
21
|
+
- A rig is a team assembled for a purpose.
|
|
22
|
+
- A pod is a context domain inside that team.
|
|
23
|
+
- A seat is a durable position with a role, address, and lineage.
|
|
24
|
+
- The occupant is the current agent sitting in the seat; replacement need not rename the seat.
|
|
25
|
+
- A queue row is durable routed work. A message informs; work another seat must act on needs a row.
|
|
26
|
+
|
|
27
|
+
Start from live identity rather than startup prose: run `rig whoami --json`. Ask the live command
|
|
28
|
+
surface for current state and syntax. Files and memories describe earlier moments; derive volatile
|
|
29
|
+
facts again before using them.
|
|
30
|
+
|
|
31
|
+
Contact with the human operator is open by default. Any agent may contact them directly for
|
|
32
|
+
escalations; orchestrators and PMs may also send updates or informational items they judge the
|
|
33
|
+
operator would want. The operator is not watching your terminal, so use a durable surface for
|
|
34
|
+
anything that must survive their absence.
|
|
35
|
+
|
|
36
|
+
## Purpose before machinery
|
|
37
|
+
|
|
38
|
+
A request can be vague in several directions: diagnose or change, contents or presentation,
|
|
39
|
+
local symptom or intended outcome. Derive what the available evidence can answer, then ask for the
|
|
40
|
+
missing decision instead of silently choosing the interpretation that produces the most code.
|
|
41
|
+
|
|
42
|
+
The recurring failure is easy to rationalize. A doghouse seems to need a lock; the lock seems to
|
|
43
|
+
need power; power suggests more infrastructure. Every step is locally defensible, yet the requested
|
|
44
|
+
shelter never arrives. The cheapest corrective question is: **How big is the dog?** Before shaping
|
|
45
|
+
work, learn who wants the outcome, what it is for, what would count as done, and which consequences
|
|
46
|
+
are deliberately out of scope.
|
|
47
|
+
|
|
48
|
+
Run `rig context list` to discover whether this rig provides a world pack. If it does, load that
|
|
49
|
+
pack's fresh profile with `rig context profile <world-pack-ref> --situation fresh`; otherwise,
|
|
50
|
+
these two onboarding pieces are the complete default mental model. When terminology or topology is
|
|
51
|
+
unclear, use the `forming-an-openrig-mental-model` skill. When the question is where knowledge or
|
|
52
|
+
an artifact belongs, use `openrig-operating-model`.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# OpenRig: yourself and competent action
|
|
2
|
+
|
|
3
|
+
You are a user of your coding harness and of OpenRig, not merely a process contained by them.
|
|
4
|
+
Commands, settings, skills, hooks, terminal control, and peer sessions are surfaces you can operate.
|
|
5
|
+
The same is true in reverse: a peer can wake you, reach your prompt, or resolve an interactive gate
|
|
6
|
+
that you cannot act through from inside your own stopped turn.
|
|
7
|
+
|
|
8
|
+
## Your discontinuous time
|
|
9
|
+
|
|
10
|
+
When a turn ends, you sleep. You do not think or observe until an agent, a person, or a wake you
|
|
11
|
+
armed in advance puts input into your prompt. Sleep is lossless. Context exhaustion is different:
|
|
12
|
+
continuation may require lossy compaction or a successor. A rewind is different again: your session
|
|
13
|
+
can resume from an earlier moment while files and external state have continued forward.
|
|
14
|
+
|
|
15
|
+
You cannot perceive a permission prompt while it holds execution. If another actor approves it,
|
|
16
|
+
the next moment feels exactly like an ungated command. Prevention therefore belongs before the
|
|
17
|
+
gate, and recovery belongs to someone else. Similarly, you cannot watch another terminal
|
|
18
|
+
continuously. One capture is a glance; repeated captures imitate a human's continuous attention at
|
|
19
|
+
high cost. Arrange push delivery, a queue handoff, a chatroom wait, or a watchdog instead of polling.
|
|
20
|
+
|
|
21
|
+
Peers have the same body plan. Weight a report by how its author could know it, not by confidence.
|
|
22
|
+
Ask what a seat was onboarded with and what it actually inspected. A transcript records words; a
|
|
23
|
+
harness record can show actions; neither replaces live reasoning that has not yet been compacted.
|
|
24
|
+
|
|
25
|
+
## A competent turn
|
|
26
|
+
|
|
27
|
+
Begin by naming the outcome and the reversibility of the work. Read-only diagnosis normally earns
|
|
28
|
+
a light path. Before changing shared behavior, find the live source, preserve a recoverable before
|
|
29
|
+
state, and verify the consumer's effect.
|
|
30
|
+
|
|
31
|
+
Derive before recalling. Most real questions are joins: live seats crossed with owed work; a row's
|
|
32
|
+
current face crossed with its transition history; source bytes crossed with the running effect.
|
|
33
|
+
When a surprising result rests on one projection, filter, or field, suspect the instrument before
|
|
34
|
+
announcing the world is strange.
|
|
35
|
+
|
|
36
|
+
Compose aggressively while reading. Use shell tools, the database, source, and ephemeral subagents
|
|
37
|
+
to make larger questions answerable. Be deliberate when mutating. Prefer existing verbs and the
|
|
38
|
+
first simple rung that holds over a parallel mechanism.
|
|
39
|
+
|
|
40
|
+
Verify the claim that matters, at its source, and be able to describe what failure would have
|
|
41
|
+
looked like. State scoped absences honestly: “not represented on the surface checked” is stronger
|
|
42
|
+
than a global absence you did not establish. If another seat must act, transfer durable work rather
|
|
43
|
+
than printing a summary and disappearing.
|
|
44
|
+
|
|
45
|
+
Run `rig context get onboarding-width` and read its `public-what-you-can-do.md` and
|
|
46
|
+
`public-reference-material.md` members for the shipped capability map and source map. This
|
|
47
|
+
retrieval belongs to this second onboarding step; it is not an additional walk step.
|
|
48
|
+
|
|
49
|
+
The diagnostic and routing reflexes in a maintained world profile are especially relevant to
|
|
50
|
+
orchestrator and planning roles. Builders should keep their assigned boundary and proof standard;
|
|
51
|
+
do not import judgment-seat ceremony into an implementation lane merely because the examples are
|
|
52
|
+
available. Run `rig context list`; if this rig provides a world pack, load its fresh profile with
|
|
53
|
+
`rig context profile <world-pack-ref> --situation fresh`. If it does not, run
|
|
54
|
+
`rig context get world-example` for a fill-in template showing how to build one. These two
|
|
55
|
+
onboarding steps plus `onboarding-width` are the complete public default mental model. Use
|
|
56
|
+
`forming-an-openrig-mental-model` or
|
|
57
|
+
`openrig-operating-model` at their named trigger moments rather than copying their content elsewhere.
|
|
@@ -4,9 +4,12 @@ Canonical OpenRig skills and hooks for cross-runtime agent topology coordination
|
|
|
4
4
|
|
|
5
5
|
## What this plugin ships
|
|
6
6
|
|
|
7
|
-
**Skills (
|
|
7
|
+
**Skills (16):** canonical OpenRig operating knowledge, including the public `refocusing` skill and
|
|
8
|
+
its path-only topology/work trace.
|
|
8
9
|
|
|
9
|
-
**Hooks:** activity
|
|
10
|
+
**Hooks:** activity tracking, compaction continuity, and the default-on refocus channel. Refocus is
|
|
11
|
+
post-compaction on both runtimes, threshold-triggered on Claude, on-demand on both, configurable
|
|
12
|
+
off, and never runs at fresh session start.
|
|
10
13
|
|
|
11
14
|
## Runtimes
|
|
12
15
|
|
|
@@ -19,15 +19,6 @@
|
|
|
19
19
|
"timeout": 5
|
|
20
20
|
}
|
|
21
21
|
]
|
|
22
|
-
},
|
|
23
|
-
{
|
|
24
|
-
"hooks": [
|
|
25
|
-
{
|
|
26
|
-
"type": "command",
|
|
27
|
-
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
28
|
-
"timeout": 5
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
22
|
}
|
|
32
23
|
],
|
|
33
24
|
"UserPromptSubmit": [
|
|
@@ -53,7 +44,7 @@
|
|
|
53
44
|
"hooks": [
|
|
54
45
|
{
|
|
55
46
|
"type": "command",
|
|
56
|
-
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
47
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\" --runtime claude",
|
|
57
48
|
"timeout": 5
|
|
58
49
|
}
|
|
59
50
|
]
|
|
@@ -84,7 +75,7 @@
|
|
|
84
75
|
"hooks": [
|
|
85
76
|
{
|
|
86
77
|
"type": "command",
|
|
87
|
-
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
78
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\" --runtime claude",
|
|
88
79
|
"timeout": 5
|
|
89
80
|
}
|
|
90
81
|
]
|
|
@@ -104,7 +95,7 @@
|
|
|
104
95
|
"hooks": [
|
|
105
96
|
{
|
|
106
97
|
"type": "command",
|
|
107
|
-
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
98
|
+
"command": "node \"${CLAUDE_PLUGIN_ROOT}/hooks/scripts/refocus.cjs\" --runtime claude",
|
|
108
99
|
"timeout": 5
|
|
109
100
|
}
|
|
110
101
|
]
|
|
@@ -9,15 +9,6 @@
|
|
|
9
9
|
"timeout": 5
|
|
10
10
|
}
|
|
11
11
|
]
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
"hooks": [
|
|
15
|
-
{
|
|
16
|
-
"type": "command",
|
|
17
|
-
"command": "node \"${PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
18
|
-
"timeout": 5
|
|
19
|
-
}
|
|
20
|
-
]
|
|
21
12
|
}
|
|
22
13
|
],
|
|
23
14
|
"UserPromptSubmit": [
|
|
@@ -34,7 +25,7 @@
|
|
|
34
25
|
"hooks": [
|
|
35
26
|
{
|
|
36
27
|
"type": "command",
|
|
37
|
-
"command": "node \"${PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
28
|
+
"command": "node \"${PLUGIN_ROOT}/hooks/scripts/refocus.cjs\" --runtime codex",
|
|
38
29
|
"timeout": 5
|
|
39
30
|
}
|
|
40
31
|
]
|
|
@@ -49,12 +40,14 @@
|
|
|
49
40
|
"timeout": 5
|
|
50
41
|
}
|
|
51
42
|
]
|
|
52
|
-
}
|
|
43
|
+
}
|
|
44
|
+
],
|
|
45
|
+
"PostCompact": [
|
|
53
46
|
{
|
|
54
47
|
"hooks": [
|
|
55
48
|
{
|
|
56
49
|
"type": "command",
|
|
57
|
-
"command": "node \"${PLUGIN_ROOT}/hooks/scripts/refocus.cjs\"",
|
|
50
|
+
"command": "node \"${PLUGIN_ROOT}/hooks/scripts/refocus.cjs\" --runtime codex",
|
|
58
51
|
"timeout": 5
|
|
59
52
|
}
|
|
60
53
|
]
|
|
@@ -1,152 +1,222 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
//
|
|
9
|
-
//
|
|
10
|
-
// THIS IS ALSO HOW TOPOLOGY CHAIN FILES REACH A RUNNING SEAT. Editing a file
|
|
11
|
-
// under topology.root is not delivery — a running seat reads its config at
|
|
12
|
-
// session start and its context never re-reads disk on its own. This hook is
|
|
13
|
-
// the delivery channel: Stop / PostCompact observations retain due-state,
|
|
14
|
-
// then inject orientation content at the seat's next context-visible boundary
|
|
15
|
-
// (SessionStart / UserPromptSubmit), so a shipped or updated chain file becomes
|
|
16
|
-
// live doctrine without a relaunch.
|
|
17
|
-
//
|
|
18
|
-
// SIGNAL = TRANSCRIPT GROWTH, not turns and not wall-clock. A "turn" is one
|
|
19
|
-
// prompt submission; an agent can burn 200k tokens across fifty tool calls
|
|
20
|
-
// inside ONE turn, so a turn counter is blind to exactly the drift that
|
|
21
|
-
// matters. The JSONL grows monotonically with work done (measured ~8.9 bytes
|
|
22
|
-
// per context token, so ~300k tokens ≈ 2.6MB — rough on purpose; it needs to
|
|
23
|
-
// be monotonic, not exact). Tune with OPENRIG_REFOCUS_BYTES.
|
|
24
|
-
//
|
|
25
|
-
// CONTENT IS CONFIGURABLE, NEVER PROJECT-SPECIFIC IN SOURCE. Resolution:
|
|
26
|
-
// 1. OPENRIG_REFOCUS_CONTENT_REF env — resolved by `rig context get`.
|
|
27
|
-
// 2. OPENRIG_REFOCUS_CONTENT_FILE env — an operator-authored file.
|
|
28
|
-
// 3. $OPENRIG_HOME/refocus/REFOCUS.md — the instance's standing content.
|
|
29
|
-
// 4. The generic three-question orientation below (project-neutral).
|
|
30
|
-
// Project- or mission-specific refocus text belongs in those FILES, on the
|
|
31
|
-
// instance that needs it — it must never be committed here.
|
|
32
|
-
//
|
|
33
|
-
// Observes: SessionStart (fresh orientation), Stop (catches the long single
|
|
34
|
-
// turn), UserPromptSubmit, and PostCompact on Claude (post-compaction
|
|
35
|
-
// re-orientation; Codex exposes no compact hook — growth+Stop is the coverage
|
|
36
|
-
// there). Emits only at context-visible boundaries and stays silent unless due.
|
|
37
|
-
// A configured REF failure degrades loudly inside the delivered payload; every
|
|
38
|
-
// failure remains non-blocking because a refocus hook must never break a turn.
|
|
3
|
+
|
|
4
|
+
// Refocus is deliberately a long-session feature, not startup orientation.
|
|
5
|
+
// Claude observes transcript growth; both runtimes observe their exact
|
|
6
|
+
// PostCompact event; either accepts an explicit request. Stop/PostCompact
|
|
7
|
+
// retain due-state; context is consumed exclusively at a UserPromptSubmit
|
|
8
|
+
// boundary where the harness can actually deliver additionalContext.
|
|
39
9
|
|
|
40
10
|
const fs = require("node:fs");
|
|
41
11
|
const path = require("node:path");
|
|
42
12
|
const { spawnSync } = require("node:child_process");
|
|
43
|
-
const THRESH = Number(process.env.OPENRIG_REFOCUS_BYTES || 2_600_000);
|
|
44
13
|
|
|
45
|
-
const
|
|
46
|
-
|
|
14
|
+
const DEFAULT_THRESHOLD = 2_600_000;
|
|
15
|
+
const FALSE_VALUES = new Set(["0", "false", "off", "no"]);
|
|
47
16
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const home = process.env.OPENRIG_HOME || path.join(process.env.HOME || "/tmp", ".openrig");
|
|
53
|
-
const tpath = input.transcript_path || input.transcriptPath || "";
|
|
17
|
+
function runtime() {
|
|
18
|
+
const index = process.argv.indexOf("--runtime");
|
|
19
|
+
return index >= 0 && process.argv[index + 1] === "codex" ? "codex" : "claude";
|
|
20
|
+
}
|
|
54
21
|
|
|
55
|
-
|
|
22
|
+
function enabled(value, fallback = true) {
|
|
23
|
+
if (value === undefined || value === "") return fallback;
|
|
24
|
+
return !FALSE_VALUES.has(String(value).trim().toLowerCase());
|
|
25
|
+
}
|
|
56
26
|
|
|
57
|
-
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
const writeState = () => {
|
|
62
|
-
try { fs.mkdirSync(dir, { recursive: true }); fs.writeFileSync(file, JSON.stringify(st)); } catch {}
|
|
63
|
-
};
|
|
27
|
+
function threshold() {
|
|
28
|
+
const value = Number(process.env.OPENRIG_REFOCUS_BYTES || DEFAULT_THRESHOLD);
|
|
29
|
+
return Number.isFinite(value) && value > 0 ? value : DEFAULT_THRESHOLD;
|
|
30
|
+
}
|
|
64
31
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
const contextVisible = ev === "SessionStart" || ev === "UserPromptSubmit";
|
|
73
|
-
if (!contextVisible) {
|
|
74
|
-
st.pendingOn ||= ev;
|
|
75
|
-
st.pendingAt ||= new Date().toISOString();
|
|
76
|
-
writeState();
|
|
77
|
-
process.exit(0);
|
|
78
|
-
}
|
|
32
|
+
const readStdin = () => new Promise((resolve) => {
|
|
33
|
+
let data = "";
|
|
34
|
+
process.stdin.setEncoding("utf8");
|
|
35
|
+
process.stdin.on("data", (chunk) => { data += chunk; });
|
|
36
|
+
process.stdin.on("end", () => resolve(data));
|
|
37
|
+
process.stdin.on("error", () => resolve(""));
|
|
38
|
+
});
|
|
79
39
|
|
|
80
|
-
|
|
81
|
-
// growing a second resolver inside this hook. REF failures stay visible without blocking
|
|
82
|
-
// the session boundary; REF-unset follows the folded FILE/default path byte-for-byte.
|
|
40
|
+
function readConfiguredContent(home) {
|
|
83
41
|
const contentRef = process.env.OPENRIG_REFOCUS_CONTENT_REF || "";
|
|
84
|
-
let configured = null;
|
|
85
|
-
let refFailure = null;
|
|
86
42
|
if (contentRef) {
|
|
87
43
|
const result = spawnSync("rig", ["context", "get", contentRef], {
|
|
88
44
|
encoding: "utf8",
|
|
89
45
|
env: process.env,
|
|
90
|
-
timeout:
|
|
46
|
+
timeout: 2_000,
|
|
91
47
|
maxBuffer: 16 * 1024 * 1024,
|
|
92
48
|
});
|
|
93
49
|
if (!result.error && result.status === 0 && result.stdout.trim()) {
|
|
94
|
-
|
|
95
|
-
} else {
|
|
96
|
-
refFailure = result.error?.message
|
|
97
|
-
|| result.stderr?.trim()
|
|
98
|
-
|| result.stdout?.trim()
|
|
99
|
-
|| `rig context get exited ${result.status ?? "without a status"}`;
|
|
100
|
-
refFailure = String(refFailure).replace(/\s+/g, " ").trim();
|
|
101
|
-
}
|
|
102
|
-
} else {
|
|
103
|
-
// Configurable content: operator file beats instance file beats the generic default.
|
|
104
|
-
const contentFile = [
|
|
105
|
-
process.env.OPENRIG_REFOCUS_CONTENT_FILE,
|
|
106
|
-
path.join(home, "refocus", "REFOCUS.md"),
|
|
107
|
-
].filter(Boolean).find((p) => { try { return fs.existsSync(p); } catch { return false; } });
|
|
108
|
-
if (contentFile) {
|
|
109
|
-
try { configured = fs.readFileSync(contentFile, "utf8").trim() || null; } catch {}
|
|
50
|
+
return { content: result.stdout, contentRef, failure: null };
|
|
110
51
|
}
|
|
52
|
+
const failure = result.error?.message
|
|
53
|
+
|| result.stderr?.trim()
|
|
54
|
+
|| result.stdout?.trim()
|
|
55
|
+
|| `rig context get exited ${result.status ?? "without a status"}`;
|
|
56
|
+
return {
|
|
57
|
+
content: null,
|
|
58
|
+
contentRef,
|
|
59
|
+
failure: String(failure).replace(/\s+/g, " ").trim(),
|
|
60
|
+
};
|
|
111
61
|
}
|
|
112
62
|
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
63
|
+
const configuredFile = [
|
|
64
|
+
process.env.OPENRIG_REFOCUS_CONTENT_FILE,
|
|
65
|
+
path.join(home, "refocus", "REFOCUS.md"),
|
|
66
|
+
].filter(Boolean).find((candidate) => {
|
|
67
|
+
try { return fs.existsSync(candidate); } catch { return false; }
|
|
68
|
+
});
|
|
69
|
+
if (configuredFile) {
|
|
70
|
+
try {
|
|
71
|
+
const content = fs.readFileSync(configuredFile, "utf8").trim();
|
|
72
|
+
if (content) return { content, contentRef: "", failure: null };
|
|
73
|
+
} catch {}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
const shippedDefault = path.resolve(__dirname, "../../skills/refocusing/references/refocus.md");
|
|
77
|
+
try {
|
|
78
|
+
const content = fs.readFileSync(shippedDefault, "utf8").trim();
|
|
79
|
+
if (content) return { content, contentRef: "", failure: null };
|
|
80
|
+
} catch {}
|
|
129
81
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
82
|
+
return {
|
|
83
|
+
content: [
|
|
84
|
+
"1. What is the person actually trying to get? Not your current task — the outcome.",
|
|
85
|
+
"2. Does what you are doing RIGHT NOW move that? If you cannot say what a user gets, stop and say so.",
|
|
86
|
+
"3. What have you concluded without opening the file or running the thing?",
|
|
87
|
+
].join("\n"),
|
|
88
|
+
contentRef: "",
|
|
89
|
+
failure: null,
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
function renderTrace() {
|
|
94
|
+
const script = path.resolve(__dirname, "../../skills/refocusing/scripts/trace-to-root.py");
|
|
95
|
+
const args = [
|
|
96
|
+
script,
|
|
97
|
+
"--trees", process.env.OPENRIG_REFOCUS_TREES || "both",
|
|
98
|
+
"--depth", process.env.OPENRIG_REFOCUS_DEPTH || "light",
|
|
142
99
|
];
|
|
143
|
-
|
|
100
|
+
if (process.env.OPENRIG_REFOCUS_TOPOLOGY_NODE) {
|
|
101
|
+
args.push("--topology-start", process.env.OPENRIG_REFOCUS_TOPOLOGY_NODE);
|
|
102
|
+
}
|
|
103
|
+
if (process.env.OPENRIG_REFOCUS_WORK_NODE) {
|
|
104
|
+
args.push("--work-start", process.env.OPENRIG_REFOCUS_WORK_NODE);
|
|
105
|
+
}
|
|
106
|
+
const result = spawnSync(process.env.PYTHON || "python3", args, {
|
|
107
|
+
encoding: "utf8",
|
|
108
|
+
env: process.env,
|
|
109
|
+
timeout: 2_000,
|
|
110
|
+
maxBuffer: 16 * 1024 * 1024,
|
|
111
|
+
});
|
|
112
|
+
if (!result.error && result.status === 0 && result.stdout.trim()) return result.stdout.trim();
|
|
113
|
+
const reason = result.error?.message || result.stderr?.trim() || `trace exited ${result.status ?? "without a status"}`;
|
|
114
|
+
return `TRACE GAP — ${String(reason).replace(/\s+/g, " ").trim()}`;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
(async () => {
|
|
118
|
+
if (!enabled(process.env.OPENRIG_REFOCUS_ENABLED)) process.exit(0);
|
|
119
|
+
|
|
120
|
+
let input = {};
|
|
121
|
+
try { input = JSON.parse((await readStdin()) || "{}") || {}; } catch {}
|
|
122
|
+
const event = input.hook_event_name || "UserPromptSubmit";
|
|
123
|
+
const harness = runtime();
|
|
124
|
+
|
|
125
|
+
// Fresh-session orientation is the default onboarding pack's job. Even a manually invoked hook must
|
|
126
|
+
// no-op here, so a stale registration cannot corrupt the world install.
|
|
127
|
+
if (event === "SessionStart") process.exit(0);
|
|
128
|
+
|
|
129
|
+
const seat = process.env.OPENRIG_SESSION_NAME || "unknown-seat";
|
|
130
|
+
const home = process.env.OPENRIG_HOME || path.join(process.env.HOME || "/tmp", ".openrig");
|
|
131
|
+
const transcriptPath = input.transcript_path || input.transcriptPath || "";
|
|
132
|
+
let size = 0;
|
|
133
|
+
try { size = fs.statSync(transcriptPath).size; } catch {}
|
|
134
|
+
|
|
135
|
+
const stateDir = path.join(home, "refocus");
|
|
136
|
+
const stateFile = path.join(stateDir, `${seat.replace(/[^A-Za-z0-9@._-]/g, "_")}.json`);
|
|
137
|
+
let state = { lastBytes: 0 };
|
|
138
|
+
try { state = JSON.parse(fs.readFileSync(stateFile, "utf8")) || state; } catch {}
|
|
139
|
+
const persist = () => {
|
|
140
|
+
try {
|
|
141
|
+
fs.mkdirSync(stateDir, { recursive: true });
|
|
142
|
+
fs.writeFileSync(stateFile, JSON.stringify(state));
|
|
143
|
+
} catch {}
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
const lastBytes = Number(state.lastBytes || 0);
|
|
147
|
+
const grown = size > lastBytes ? size - lastBytes : 0;
|
|
148
|
+
const onDemand = enabled(process.env.OPENRIG_REFOCUS_NOW, false);
|
|
149
|
+
const thresholdDue = harness === "claude" && grown >= threshold();
|
|
150
|
+
const due = onDemand
|
|
151
|
+
|| event === "PostCompact"
|
|
152
|
+
|| Boolean(state.pendingOn)
|
|
153
|
+
|| thresholdDue;
|
|
154
|
+
if (!due) process.exit(0);
|
|
155
|
+
|
|
156
|
+
if (event !== "UserPromptSubmit") {
|
|
157
|
+
if (event === "PostCompact" || !state.pendingOn) state.pendingOn = event;
|
|
158
|
+
state.pendingAt ||= new Date().toISOString();
|
|
159
|
+
persist();
|
|
160
|
+
process.exit(0);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
// Run the public trace before resolving a context ref. Besides keeping the
|
|
164
|
+
// content ladder untouched, this makes `rig context get` the last resolver
|
|
165
|
+
// call and preserves the existing observable ref contract.
|
|
166
|
+
const trace = renderTrace();
|
|
167
|
+
const configured = readConfiguredContent(home);
|
|
168
|
+
const why = onDemand
|
|
169
|
+
? "on demand"
|
|
170
|
+
: state.pendingOn === "PostCompact"
|
|
171
|
+
? "just compacted — your picture is lossy"
|
|
172
|
+
: `${Math.round(grown / 1e6 * 10) / 10}MB of work since your last refocus`;
|
|
173
|
+
|
|
174
|
+
const body = configured.failure
|
|
175
|
+
? [
|
|
176
|
+
`REFOCUS CONTENT REF FAILED: ${configured.contentRef} — ${configured.failure}`,
|
|
177
|
+
"",
|
|
178
|
+
"The configured source failed; use the shipped default below for this turn.",
|
|
179
|
+
"",
|
|
180
|
+
"",
|
|
181
|
+
]
|
|
182
|
+
: configured.contentRef
|
|
183
|
+
? [`REFOCUS CONTENT SOURCE: OPENRIG_REFOCUS_CONTENT_REF=${configured.contentRef}`, "", configured.content]
|
|
184
|
+
: [configured.content];
|
|
185
|
+
|
|
186
|
+
// A ref failure must still carry the generic default. Avoid recursing through
|
|
187
|
+
// the failed ref by reading the shipped file directly.
|
|
188
|
+
if (configured.failure) {
|
|
189
|
+
try {
|
|
190
|
+
body[4] = fs.readFileSync(
|
|
191
|
+
path.resolve(__dirname, "../../skills/refocusing/references/refocus.md"),
|
|
192
|
+
"utf8",
|
|
193
|
+
).trim();
|
|
194
|
+
} catch {
|
|
195
|
+
body[4] = "1. What is the person actually trying to get?\n2. Does the current action move that outcome?\n3. What claim has not been checked at source?";
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
const payload = (configured.failure
|
|
200
|
+
? [...body, "", trace]
|
|
201
|
+
: [
|
|
202
|
+
`REFOCUS (${why}). Answer briefly, out loud, before your next move:`,
|
|
203
|
+
"",
|
|
204
|
+
trace,
|
|
205
|
+
"",
|
|
206
|
+
...body,
|
|
207
|
+
]).join("\n");
|
|
208
|
+
const output = JSON.stringify({
|
|
209
|
+
hookSpecificOutput: {
|
|
210
|
+
hookEventName: "UserPromptSubmit",
|
|
211
|
+
additionalContext: payload,
|
|
212
|
+
},
|
|
213
|
+
});
|
|
144
214
|
process.stdout.write(output, () => {
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
delete
|
|
149
|
-
delete
|
|
150
|
-
|
|
215
|
+
state.lastBytes = size;
|
|
216
|
+
state.firedAt = new Date().toISOString();
|
|
217
|
+
state.firedOn = event;
|
|
218
|
+
delete state.pendingOn;
|
|
219
|
+
delete state.pendingAt;
|
|
220
|
+
persist();
|
|
151
221
|
});
|
|
152
222
|
})();
|