@openrig/cli 0.5.3 → 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/.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 +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 +196 -106
- 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 +5 -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/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +4 -9
- 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/adapters/tmux.d.ts +31 -0
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +31 -11
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/daemon-db-path.d.ts.map +1 -1
- package/daemon/dist/daemon-db-path.js +50 -2
- package/daemon/dist/daemon-db-path.js.map +1 -1
- 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/plugin-discovery-service.d.ts +16 -0
- package/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-discovery-service.js +175 -1
- package/daemon/dist/domain/plugin-discovery-service.js.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.d.ts +9 -5
- package/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/daemon/dist/domain/plugin-vendor-service.js +101 -12
- package/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- 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 +41 -11
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +316 -36
- 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/reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/reconciler.js +6 -1
- package/daemon/dist/domain/reconciler.js.map +1 -1
- 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/rig-repository.d.ts +4 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +9 -0
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +12 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +50 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/running-name-guard.d.ts +52 -0
- package/daemon/dist/domain/running-name-guard.d.ts.map +1 -0
- package/daemon/dist/domain/running-name-guard.js +34 -0
- package/daemon/dist/domain/running-name-guard.js.map +1 -0
- 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/seat-lifecycle-service.d.ts +97 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -0
- package/daemon/dist/domain/seat-lifecycle-service.js +312 -0
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -0
- package/daemon/dist/domain/session-transport.d.ts +8 -5
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +40 -18
- 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 +69 -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 +32 -25
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +20 -6
- package/daemon/dist/routes/rigspec.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 +73 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +40 -36
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/routes/up.js +21 -2
- package/daemon/dist/routes/up.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/cli-error.js +1 -1
- package/dist/cli-error.js.map +1 -1
- package/dist/commands/broadcast.js +6 -0
- package/dist/commands/broadcast.js.map +1 -1
- 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/context.d.ts.map +1 -1
- package/dist/commands/context.js +13 -3
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +36 -5
- 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/import.d.ts.map +1 -1
- package/dist/commands/import.js +10 -0
- package/dist/commands/import.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 +67 -16
- 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 +128 -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 +237 -34
- 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 +19 -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/walk.d.ts +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +20 -10
- package/dist/commands/walk.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/adapters/tmux.d.ts +31 -0
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +31 -11
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/daemon-db-path.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/daemon-db-path.js +50 -2
- package/node_modules/@openrig/daemon/dist/daemon-db-path.js.map +1 -1
- 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/plugin-discovery-service.d.ts +16 -0
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.js +175 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-discovery-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.d.ts +9 -5
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.js +101 -12
- package/node_modules/@openrig/daemon/dist/domain/plugin-vendor-service.js.map +1 -1
- 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 +41 -11
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +316 -36
- 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/reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.js.map +1 -1
- 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/rig-repository.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +12 -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 +50 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.d.ts +52 -0
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.js +34 -0
- package/node_modules/@openrig/daemon/dist/domain/running-name-guard.js.map +1 -0
- 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/seat-lifecycle-service.d.ts +97 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +312 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +8 -5
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js +40 -18
- 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 +69 -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 +32 -25
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js +20 -6
- package/node_modules/@openrig/daemon/dist/routes/rigspec.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 +73 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/transport.js +40 -36
- package/node_modules/@openrig/daemon/dist/routes/transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js +21 -2
- package/node_modules/@openrig/daemon/dist/routes/up.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
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# scaffold.sh topology <root> --node <relpath> [--node <relpath> ...]
|
|
3
|
+
# scaffold.sh work <root> --node <relpath> [--node <relpath> ...]
|
|
4
|
+
# Creates missing chain files from templates at root + each named node dir.
|
|
5
|
+
# NEVER overwrites an existing file (brownfield-safe by construction; greenfield
|
|
6
|
+
# and brownfield are the same command with different starting states).
|
|
7
|
+
# Never deletes anything. Reports created vs existing.
|
|
8
|
+
set -euo pipefail
|
|
9
|
+
MODE="${1:?usage: scaffold.sh <topology|work> <root> --node <relpath> ...}"
|
|
10
|
+
ROOT="${2:?root dir required}"; shift 2
|
|
11
|
+
HERE="$(cd "$(dirname "$0")" && pwd)"; TPL="$HERE/../templates"
|
|
12
|
+
case "$MODE" in
|
|
13
|
+
# Chains carry knowledge about a POSITION. SOP.md is knowledge about a KIND and now ships
|
|
14
|
+
# in the rig's mode plugin (openrig-lab | openrig-factory | openrig-hq) — it is NOT a chain
|
|
15
|
+
# and must not be scaffolded onto the tree. CULTURE.md ships with OpenRig.
|
|
16
|
+
topology) FILES=(LEARNED.md) ; ROOT_FILES=(LEARNED.md) ;;
|
|
17
|
+
# SPEC.md is the authored node (intent: in frontmatter). NOTES.md is the LIVED file — the
|
|
18
|
+
# scaffold creates its surface only; lived entries are never generated or projected. PROGRESS is derived;
|
|
19
|
+
# PROOF.md is authored by the prover when there is something to prove.
|
|
20
|
+
work) FILES=(SPEC.md NOTES.md) ; ROOT_FILES=(SPEC.md NOTES.md) ;;
|
|
21
|
+
*) echo "mode must be topology|work" >&2; exit 2 ;;
|
|
22
|
+
esac
|
|
23
|
+
NODES=()
|
|
24
|
+
while [[ $# -gt 0 ]]; do case "$1" in --node) NODES+=("$2"); shift 2;; *) echo "unknown arg $1" >&2; exit 2;; esac; done
|
|
25
|
+
place(){ # $1=dir $2=file
|
|
26
|
+
mkdir -p "$1"
|
|
27
|
+
if [[ -e "$1/$2" ]]; then echo " exists : $1/$2"
|
|
28
|
+
else cp "$TPL/$2" "$1/$2"; echo " CREATED: $1/$2 (template — UNSEEDED; the real owner seeds it)"; fi
|
|
29
|
+
}
|
|
30
|
+
echo "scaffold $MODE @ $ROOT"
|
|
31
|
+
touch "$ROOT/.compose-root" 2>/dev/null || true
|
|
32
|
+
for f in "${ROOT_FILES[@]}"; do place "$ROOT" "$f"; done
|
|
33
|
+
for n in ${NODES[@]+"${NODES[@]}"}; do for f in "${FILES[@]}"; do place "$ROOT/$n" "$f"; done; done
|
|
34
|
+
echo "done. Rules: existing files untouched; UNSEEDED templates await their owners; seat LEARNED.md is SELF-seeded (the audit) — never bulk-filled."
|
package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-due.sh
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# trace-due.sh <seat-dir> [work-dir ...]
|
|
3
|
+
# Deterministic due-check for the alignment trace. Exit 0 + reason when DUE;
|
|
4
|
+
# exit 1 SILENTLY when not (the no-op path is the point: schedulers may fire
|
|
5
|
+
# this on cadence; the ACTION stays evidence-gated — fixed-cadence traces were
|
|
6
|
+
# empirically falsified; see SKILL.md §4).
|
|
7
|
+
set -euo pipefail
|
|
8
|
+
SEAT_DIR="${1:?usage: trace-due.sh <seat-dir> [work-dir ...]}"; shift || true
|
|
9
|
+
STAMP="$SEAT_DIR/.last-trace"
|
|
10
|
+
MIN_HOURS="${TRACE_MIN_HOURS:-6}" # never due more often than this
|
|
11
|
+
FORCE_HOURS="${TRACE_FORCE_HOURS:-72}" # due regardless of activity after this
|
|
12
|
+
now=$(date +%s)
|
|
13
|
+
if [[ ! -f "$STAMP" ]]; then
|
|
14
|
+
# never traced: due only if the seat shows any life at all
|
|
15
|
+
if [[ -n "$(find "$SEAT_DIR" "$@" -type f -newermt '-7 days' -print -quit 2>/dev/null)" ]]; then
|
|
16
|
+
echo "DUE: no trace on record and recent activity exists"; exit 0
|
|
17
|
+
fi
|
|
18
|
+
exit 1
|
|
19
|
+
fi
|
|
20
|
+
last=$(stat -f %m "$STAMP" 2>/dev/null || stat -c %Y "$STAMP") # BSD then GNU; date -r means different things on the two OSes
|
|
21
|
+
age_h=$(( (now - last) / 3600 ))
|
|
22
|
+
(( age_h < MIN_HOURS )) && exit 1
|
|
23
|
+
if (( age_h >= FORCE_HOURS )); then
|
|
24
|
+
echo "DUE: ${age_h}h since last trace (force threshold ${FORCE_HOURS}h)"; exit 0
|
|
25
|
+
fi
|
|
26
|
+
# due only if meaningful work accumulated since the stamp
|
|
27
|
+
for d in "$SEAT_DIR" "$@"; do
|
|
28
|
+
if [[ -n "$(find "$d" -type f -newer "$STAMP" ! -name '.last-trace' -print -quit 2>/dev/null)" ]]; then
|
|
29
|
+
echo "DUE: ${age_h}h since last trace and new activity under $d"; exit 0
|
|
30
|
+
fi
|
|
31
|
+
done
|
|
32
|
+
exit 1
|
package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trunk-diff.sh
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
# trunk-diff.sh <root-dir> <state-file> [--name FILE ...]
|
|
3
|
+
# The governance pull loop: render the subtree, diff against your PREVIOUS
|
|
4
|
+
# render, update state. Reading the diff = updating your mental model of a
|
|
5
|
+
# changing topology without reading everything or being told anything.
|
|
6
|
+
set -euo pipefail
|
|
7
|
+
ROOT="${1:?usage: trunk-diff.sh <root-dir> <state-file> [--name FILE ...]}"
|
|
8
|
+
STATE="${2:?state-file required}"; shift 2
|
|
9
|
+
NAMES=("$@"); [[ ${#NAMES[@]} -eq 0 ]] && NAMES=(--name CULTURE.md --name PLAYBOOK.md --name LEARNED.md --name INTENT.md)
|
|
10
|
+
HERE="$(cd "$(dirname "$0")" && pwd)"
|
|
11
|
+
NEW="$(mktemp)"
|
|
12
|
+
python3 "$HERE/compose.py" down "$ROOT" "${NAMES[@]}" | grep -v '^<!-- GENERATED' > "$NEW"
|
|
13
|
+
if [[ -f "$STATE" ]]; then
|
|
14
|
+
if diff -u "$STATE" "$NEW"; then echo "── no changes since your last render ──"; fi
|
|
15
|
+
else
|
|
16
|
+
echo "── first render (no previous state); full content is the baseline ──"
|
|
17
|
+
fi
|
|
18
|
+
mv "$NEW" "$STATE"
|
package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/LEARNED.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
seat: <pod>-<member>@<rig> # or rig/pod/fleet coords at higher altitudes
|
|
3
|
+
template: <path-or-name of PLAYBOOK.md this diffs against> @ <version/sha>
|
|
4
|
+
owners: self (sole direct writer) · <orchestrator/PM> (by proposal) · hierarchy (boundaries only, marked)
|
|
5
|
+
updated: <YYYY-MM-DD from the clock command — never mental math>
|
|
6
|
+
status: UNSEEDED # the first real occupant replaces this line with: seeded-by-self <date>
|
|
7
|
+
---
|
|
8
|
+
# LEARNED — <instance coords>
|
|
9
|
+
<!-- HARD CAP ~150 lines. At the cap: distill LESSONS into HOW I WORK, or expire them. -->
|
|
10
|
+
|
|
11
|
+
## MY JOB HERE (≤10 lines)
|
|
12
|
+
<!-- This instance's actual function, in operational terms. If you cannot write
|
|
13
|
+
this section yourself, say so to your orchestrator — that discovery is the
|
|
14
|
+
audit working, not a failure. -->
|
|
15
|
+
|
|
16
|
+
## STANDING DUTIES
|
|
17
|
+
<!-- One per line: DUTY — cadence — surface. These survive handovers ONLY if
|
|
18
|
+
enumerated here. -->
|
|
19
|
+
-
|
|
20
|
+
|
|
21
|
+
## HOW I WORK
|
|
22
|
+
<!-- Learned SOP bullets. EVERY bullet carries its reason — a rule without its
|
|
23
|
+
why is scripture and will be misapplied. -->
|
|
24
|
+
-
|
|
25
|
+
|
|
26
|
+
## GATES & AUTHORITIES
|
|
27
|
+
<!-- What I hold (granted in writing, cite the grant). What I must never infer. -->
|
|
28
|
+
-
|
|
29
|
+
|
|
30
|
+
## KEY RELATIONSHIPS
|
|
31
|
+
<!-- who I hand to · who gates me · whose funnel I feed -->
|
|
32
|
+
-
|
|
33
|
+
|
|
34
|
+
## TRIGGER POINTERS
|
|
35
|
+
<!-- situation → read this. Attach pointers to MOMENTS, not to boot. -->
|
|
36
|
+
-
|
|
37
|
+
|
|
38
|
+
## LESSONS (append-only, dated, capped)
|
|
39
|
+
<!-- newest first. At cap: distill upward or expire. -->
|
|
40
|
+
-
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
---
|
|
2
|
+
node: <mission | slice>
|
|
3
|
+
updated: <YYYY-MM-DD>
|
|
4
|
+
---
|
|
5
|
+
# NOTES — <node>
|
|
6
|
+
<!-- The working record: what actually happened doing this work. Append-only,
|
|
7
|
+
dated entries, newest first. Corrections annotated, never swapped.
|
|
8
|
+
Seat-specific learnings do NOT belong here — they go to that seat's
|
|
9
|
+
LEARNED.md (this file is the WORK's memory, not the worker's). -->
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
kind: <seat-type | pod-type | rig-type | fleet>
|
|
3
|
+
owner: <spec author> # instances NEVER edit this file
|
|
4
|
+
updated: <YYYY-MM-DD>
|
|
5
|
+
status: UNSEEDED
|
|
6
|
+
---
|
|
7
|
+
# SOP — <kind>
|
|
8
|
+
<!-- The TEMPLATE half: how this KIND of thing does its job, anywhere it is
|
|
9
|
+
instantiated. Absorbs the static role file at seat altitude. Instance-local
|
|
10
|
+
knowledge belongs in LEARNED.md beside this, never here. -->
|
|
11
|
+
|
|
12
|
+
## PURPOSE
|
|
13
|
+
<!-- what this kind exists to do -->
|
|
14
|
+
|
|
15
|
+
## CORE LOOP
|
|
16
|
+
<!-- the job's shape: inputs → work → outputs/handoffs -->
|
|
17
|
+
|
|
18
|
+
## DEFAULT PRACTICES
|
|
19
|
+
<!-- each with its reason attached -->
|
|
20
|
+
-
|
|
21
|
+
|
|
22
|
+
## BOUNDARIES
|
|
23
|
+
<!-- what this kind never does; where its authority ends -->
|
|
24
|
+
-
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
---
|
|
2
|
+
node: <project | mission | slice>
|
|
3
|
+
intent: >-
|
|
4
|
+
<ONE sentence: what this node is FOR. This composes UP the chain, so write it to be
|
|
5
|
+
read from below by someone standing on a slice. Say the purpose, never the location —
|
|
6
|
+
"deferred features land here" is a routing rule and orients nobody.>
|
|
7
|
+
id: <OPR.x.y[.n] — minted by the PM; omit if unminted>
|
|
8
|
+
stage: wip
|
|
9
|
+
# stage: wip | provisional | established | canonical | superseded | retired
|
|
10
|
+
status: UNSEEDED
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!-- ONE authored file per work node. README.md and IMPLEMENTATION-PRD.md fold into this.
|
|
14
|
+
PROOF.md stays separate and is good. PROGRESS.md is the authored acceptance checklist:
|
|
15
|
+
checkbox items are stored marks; every roll-up above them is derived, never hand-authored.
|
|
16
|
+
Legacy README.md nodes stay valid indefinitely; nothing is forced to migrate.
|
|
17
|
+
|
|
18
|
+
PROJECT and MISSION nodes: the frontmatter `intent:` IS the whole job. A mission
|
|
19
|
+
ORGANISES slices and carries the context they need; it specifies nothing. Keep the
|
|
20
|
+
body short or delete it — everything below this line is for SLICES.
|
|
21
|
+
|
|
22
|
+
WHATEVER BODY YOU DO WRITE, two tests per sentence:
|
|
23
|
+
PORTABILITY — if it would read correctly on a stranger's machine it is knowledge
|
|
24
|
+
about a KIND; it belongs in the operating-model skill, not on the tree.
|
|
25
|
+
VOLATILITY — a SHA, a count, a status, a roster: write the COMMAND that derives it,
|
|
26
|
+
never the answer. A value here is stale by the next fold.
|
|
27
|
+
And check the tree: traps and how-we-work live in LEARNED.md on the topology tree,
|
|
28
|
+
not here. This file is what is being BUILT.
|
|
29
|
+
|
|
30
|
+
SLICE nodes are the ONLY altitude that specifies. Keep the sections you need and
|
|
31
|
+
delete the rest; this is a starting shape, not a contract. Under the FACTORY operating
|
|
32
|
+
model this node also carries mini-requirements and a proof contract — see that mode's
|
|
33
|
+
plugin. Under the LAB it does not. -->
|
|
34
|
+
|
|
35
|
+
# <name>
|
|
36
|
+
|
|
37
|
+
## What must be built
|
|
38
|
+
|
|
39
|
+
<!-- The change itself, at the altitude a builder can act on. -->
|
|
40
|
+
|
|
41
|
+
## Why this is the shape
|
|
42
|
+
|
|
43
|
+
<!-- The reasoning a reader would otherwise have to reconstruct — especially any option
|
|
44
|
+
considered and rejected. This is the part that survives you. -->
|
|
45
|
+
|
|
46
|
+
## How we will know it works
|
|
47
|
+
|
|
48
|
+
<!-- Verified by EFFECT: run it, look at the result. Name the command and what it should
|
|
49
|
+
print, not the feeling of being done. -->
|
|
50
|
+
|
|
51
|
+
## Scope fences
|
|
52
|
+
|
|
53
|
+
<!-- What this deliberately does NOT include, so it neither swallows the release nor grows
|
|
54
|
+
during the build. Fences written after the fact are excuses; written now they hold. -->
|
|
@@ -44,11 +44,16 @@ shows an operator — `get` is the agent-facing pull.)
|
|
|
44
44
|
These are auto-delivered to every rig; their name+description are already in your context. Open the body when the "when" matches.
|
|
45
45
|
|
|
46
46
|
- **forming-an-openrig-mental-model** — first boot, or you're unsure how the pieces fit. The runtime mental model.
|
|
47
|
+
- **openrig-operating-model** — you do not know where context or work belongs, or you are about to duplicate knowledge. The two-tree placement and trace-to-root model.
|
|
47
48
|
- **openrig-user** — you need a `rig` CLI command (send / queue / ps / whoami / scope / broadcast). The daily CLI surface.
|
|
48
49
|
- **claude-compaction-restore** — you just compacted (Claude). Restore from durable evidence before resuming real work.
|
|
49
50
|
- **session-compaction-and-restore** — preparing for, or recovering from, compaction (any runtime). The write- and read-side protocol.
|
|
50
51
|
- **queue-handoff** — you're passing durable work to another seat or ending your turn. The queue is the work ledger, not chat.
|
|
52
|
+
- **refocusing** — a long-running seat may have lost the product outcome, crossed a major boundary, or compacted and needs a fresh path-based trace.
|
|
51
53
|
- **seat-continuity-and-handover** — handing your seat's work across a restart or to another owner.
|
|
54
|
+
<!-- Territory amended 2026-08-26 by desk ruling qitem-20260826080800-r054-s9a-scope-ruling. -->
|
|
55
|
+
- **orienting-to-an-inherited-seat** — you just inherited an existing seat through a planned handover and need to verify its identity, state, and testimony.
|
|
56
|
+
- **retiring-and-inheriting-a-seat** — you're planning a seat transition and need to retire the current occupant into a fresh successor without losing continuity.
|
|
52
57
|
- **mission-slice-sop** — you're working a mission/slice (the SDLC: intent → mini-requirements + proof contract → build → QA → proof). The operating manual.
|
|
53
58
|
- **messaging-the-human** — composing a message to the human. Plain language, no insider jargon.
|
|
54
59
|
- **software-for-agents** — you want the full first-load model of how agent software is built and operated here.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: refocusing
|
|
3
|
+
description: >-
|
|
4
|
+
Use when a long-running agent may have lost the product outcome, when context was compacted,
|
|
5
|
+
when work has crossed a major boundary, or when a fresh path-based trace is needed before the
|
|
6
|
+
next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints.
|
|
7
|
+
metadata:
|
|
8
|
+
openrig:
|
|
9
|
+
stage: product
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Refocusing
|
|
13
|
+
|
|
14
|
+
Refocus preserves a long session's earned expertise while re-grounding it in current intent and
|
|
15
|
+
lived context. It is not a restart, wake, or phase checkpoint.
|
|
16
|
+
|
|
17
|
+
Run the bundled trace from this skill directory instead of reconstructing the hierarchy from memory:
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
python3 scripts/trace-to-root.py --trees both --depth light
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Use `--trees topology|work|both` to select context domains and `--depth light|full` to control how
|
|
24
|
+
much each node contributes. Light work traces compose `intent:` and name notes; full traces include
|
|
25
|
+
the complete node and notes bodies. The script resolves `topology.root` and `workspace.root` with
|
|
26
|
+
`rig config get`. When a current node cannot be derived, set `OPENRIG_REFOCUS_TOPOLOGY_NODE` or
|
|
27
|
+
`OPENRIG_REFOCUS_WORK_NODE`, or pass the matching `--*-start` option.
|
|
28
|
+
|
|
29
|
+
Read [references/refocus.md](references/refocus.md) when changing the automatic hook or its content
|
|
30
|
+
ladder. A missing chain file is evidence: report the gap and continue; never follow pointers to invent
|
|
31
|
+
a second parent.
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Refocus
|
|
2
|
+
|
|
3
|
+
1. What is the person actually trying to get? Not your current task — the outcome.
|
|
4
|
+
2. Does what you are doing RIGHT NOW move that? If you cannot say what a user gets, stop and say so.
|
|
5
|
+
3. What have you concluded without opening the file or running the thing?
|
|
6
|
+
|
|
7
|
+
Discomfort on any of these is the signal: drift feels like work.
|
|
8
|
+
|
|
9
|
+
The `refocusing` skill carries the source-appropriate path-only trace. Its
|
|
10
|
+
`scripts/trace-to-root.py` walks both current trees by default: topology `LEARNED.md`, then work
|
|
11
|
+
`SPEC.md` intent plus `NOTES.md`. Change breadth with `OPENRIG_REFOCUS_TREES=topology|work|both`
|
|
12
|
+
and read depth with `OPENRIG_REFOCUS_DEPTH=light|full`.
|
|
13
|
+
|
|
14
|
+
Replace this default without editing the plugin. The content ladder, highest precedence first, is:
|
|
15
|
+
|
|
16
|
+
1. `OPENRIG_REFOCUS_CONTENT_REF`, resolved by `rig context get`.
|
|
17
|
+
2. `OPENRIG_REFOCUS_CONTENT_FILE`, an operator-authored file.
|
|
18
|
+
3. `$OPENRIG_HOME/refocus/REFOCUS.md`, instance content.
|
|
19
|
+
4. This shipped default.
|
|
20
|
+
|
|
21
|
+
Fresh seats receive the separate onboarding assets `openrig-onboarding-01.md` and
|
|
22
|
+
`openrig-onboarding-02.md`. This file only cites those assets; it does not copy their world install.
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Render topology and work context by ascending directory paths only."""
|
|
3
|
+
|
|
4
|
+
import argparse
|
|
5
|
+
import json
|
|
6
|
+
import os
|
|
7
|
+
import re
|
|
8
|
+
import subprocess
|
|
9
|
+
from pathlib import Path
|
|
10
|
+
|
|
11
|
+
SHELVES = {"rigs", "pods", "seats", "missions", "slices"}
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
def rig_output(*args):
|
|
15
|
+
try:
|
|
16
|
+
result = subprocess.run(
|
|
17
|
+
["rig", *args], capture_output=True, text=True, timeout=10, check=False
|
|
18
|
+
)
|
|
19
|
+
except (OSError, subprocess.SubprocessError):
|
|
20
|
+
return None
|
|
21
|
+
value = (result.stdout or "").strip()
|
|
22
|
+
return value if result.returncode == 0 and value else None
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def configured_root(key, env_key):
|
|
26
|
+
value = os.environ.get(env_key) or rig_output("config", "get", key)
|
|
27
|
+
return Path(value).expanduser().resolve() if value else None
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
def under_root(path, root):
|
|
31
|
+
try:
|
|
32
|
+
path.relative_to(root)
|
|
33
|
+
return True
|
|
34
|
+
except ValueError:
|
|
35
|
+
return False
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def ascent(start, root):
|
|
39
|
+
start = start.expanduser().resolve()
|
|
40
|
+
if not under_root(start, root):
|
|
41
|
+
return None, f"start is outside configured root: {start}"
|
|
42
|
+
nodes = []
|
|
43
|
+
current = start
|
|
44
|
+
while True:
|
|
45
|
+
if current.name not in SHELVES:
|
|
46
|
+
nodes.append(current)
|
|
47
|
+
if current == root:
|
|
48
|
+
break
|
|
49
|
+
parent = current.parent
|
|
50
|
+
if parent == current:
|
|
51
|
+
return None, f"could not reach configured root: {root}"
|
|
52
|
+
current = parent
|
|
53
|
+
return list(reversed(nodes)), None
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
def read(path):
|
|
57
|
+
try:
|
|
58
|
+
return path.read_text(encoding="utf8", errors="replace")
|
|
59
|
+
except OSError:
|
|
60
|
+
return None
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
def intent(text):
|
|
64
|
+
if not text or not text.startswith("---"):
|
|
65
|
+
return None
|
|
66
|
+
match = re.match(r"^---\s*\n(.*?)\n---(?:\s*\n|$)", text, re.S)
|
|
67
|
+
if not match:
|
|
68
|
+
return None
|
|
69
|
+
lines = match.group(1).splitlines()
|
|
70
|
+
for index, line in enumerate(lines):
|
|
71
|
+
found = re.match(r"^intent:\s*(.*)$", line)
|
|
72
|
+
if not found:
|
|
73
|
+
continue
|
|
74
|
+
value = found.group(1).strip()
|
|
75
|
+
if value in {"|", ">", "|-", ">-", "|+", ">+"}:
|
|
76
|
+
block = []
|
|
77
|
+
for later in lines[index + 1:]:
|
|
78
|
+
if later and not later[0].isspace():
|
|
79
|
+
break
|
|
80
|
+
block.append(later.strip())
|
|
81
|
+
return " ".join(part for part in block if part)
|
|
82
|
+
if len(value) >= 2 and value[0] == value[-1] and value[0] in {"'", '"'}:
|
|
83
|
+
if value[0] == '"':
|
|
84
|
+
try:
|
|
85
|
+
return json.loads(value)
|
|
86
|
+
except json.JSONDecodeError:
|
|
87
|
+
pass
|
|
88
|
+
return value[1:-1]
|
|
89
|
+
return value or None
|
|
90
|
+
return None
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
def light_learned(text):
|
|
94
|
+
if not text:
|
|
95
|
+
return ""
|
|
96
|
+
body = re.sub(r"^---\s*\n.*?\n---\s*\n", "", text, count=1, flags=re.S).strip()
|
|
97
|
+
if len(body) <= 800:
|
|
98
|
+
return body
|
|
99
|
+
boundary = body.rfind("\n", 0, 800)
|
|
100
|
+
return body[:boundary if boundary > 0 else 800].rstrip() + "\n[… use --depth full for the rest]"
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
def render_topology(start, root, depth):
|
|
104
|
+
output = ["## TOPOLOGY TRACE", f"root: {root}", f"start: {start}"]
|
|
105
|
+
nodes, error = ascent(start, root)
|
|
106
|
+
if error:
|
|
107
|
+
return "\n".join(output + [f"TRACE GAP — {error}"])
|
|
108
|
+
for node in nodes:
|
|
109
|
+
chain_file = node / "LEARNED.md"
|
|
110
|
+
text = read(chain_file)
|
|
111
|
+
label = node.relative_to(root) or Path(".")
|
|
112
|
+
if text is None:
|
|
113
|
+
output.append(f"\n### {label}\nMISSING LINK — {chain_file}")
|
|
114
|
+
continue
|
|
115
|
+
body = text.strip() if depth == "full" else light_learned(text)
|
|
116
|
+
output.append(f"\n### {label} · LEARNED.md\n{body}")
|
|
117
|
+
return "\n".join(output)
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
def render_work(start, root, depth):
|
|
121
|
+
output = ["## WORK TRACE", f"root: {root}", f"start: {start}"]
|
|
122
|
+
nodes, error = ascent(start, root)
|
|
123
|
+
if error:
|
|
124
|
+
return "\n".join(output + [f"TRACE GAP — {error}"])
|
|
125
|
+
for node in nodes:
|
|
126
|
+
label = node.relative_to(root) or Path(".")
|
|
127
|
+
spec = next((candidate for candidate in (node / "SPEC.md", node / "README.md") if candidate.is_file()), None)
|
|
128
|
+
if spec is None:
|
|
129
|
+
output.append(f"\n### {label}\nMISSING LINK — no SPEC.md or README.md at {node}")
|
|
130
|
+
else:
|
|
131
|
+
text = read(spec) or ""
|
|
132
|
+
if depth == "full":
|
|
133
|
+
body = text.strip()
|
|
134
|
+
else:
|
|
135
|
+
value = intent(text)
|
|
136
|
+
body = f"intent: {value}" if value else "MISSING INTENT — no readable intent: field"
|
|
137
|
+
output.append(f"\n### {label} · {spec.name}\n{body}")
|
|
138
|
+
|
|
139
|
+
notes = next((candidate for candidate in (node / "NOTES.md", node / "MISSION_NOTES.md") if candidate.is_file()), None)
|
|
140
|
+
if notes:
|
|
141
|
+
if depth == "full":
|
|
142
|
+
output.append(f"\nNOTES · {notes.name}\n{(read(notes) or '').strip()}")
|
|
143
|
+
else:
|
|
144
|
+
try:
|
|
145
|
+
size = notes.stat().st_size
|
|
146
|
+
except OSError:
|
|
147
|
+
size = 0
|
|
148
|
+
output.append(f"NOTES · {notes.name} · {size} bytes · {notes}")
|
|
149
|
+
else:
|
|
150
|
+
output.append(f"NOTES GAP — no NOTES.md or MISSION_NOTES.md at {node}")
|
|
151
|
+
return "\n".join(output)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
def derive_topology_start(root):
|
|
155
|
+
explicit = os.environ.get("OPENRIG_REFOCUS_TOPOLOGY_NODE")
|
|
156
|
+
if explicit:
|
|
157
|
+
return Path(explicit)
|
|
158
|
+
raw = rig_output("whoami", "--json")
|
|
159
|
+
if not raw:
|
|
160
|
+
return None
|
|
161
|
+
try:
|
|
162
|
+
identity = json.loads(raw).get("identity", {})
|
|
163
|
+
except json.JSONDecodeError:
|
|
164
|
+
return None
|
|
165
|
+
rig = identity.get("rigName")
|
|
166
|
+
session = identity.get("sessionName")
|
|
167
|
+
if not rig or not session:
|
|
168
|
+
return None
|
|
169
|
+
seat = str(session).split("@", 1)[0]
|
|
170
|
+
return root / "rigs" / str(rig) / "seats" / seat
|
|
171
|
+
|
|
172
|
+
|
|
173
|
+
def derive_work_start(root):
|
|
174
|
+
explicit = os.environ.get("OPENRIG_REFOCUS_WORK_NODE")
|
|
175
|
+
if explicit:
|
|
176
|
+
return Path(explicit)
|
|
177
|
+
current = Path.cwd().resolve()
|
|
178
|
+
if not under_root(current, root):
|
|
179
|
+
return None
|
|
180
|
+
while under_root(current, root):
|
|
181
|
+
if (current / "SPEC.md").is_file() or (current / "README.md").is_file():
|
|
182
|
+
return current
|
|
183
|
+
if current == root:
|
|
184
|
+
break
|
|
185
|
+
current = current.parent
|
|
186
|
+
return None
|
|
187
|
+
|
|
188
|
+
|
|
189
|
+
def main():
|
|
190
|
+
parser = argparse.ArgumentParser(description=__doc__)
|
|
191
|
+
parser.add_argument("--trees", choices=("topology", "work", "both"), default=os.environ.get("OPENRIG_REFOCUS_TREES", "both"))
|
|
192
|
+
parser.add_argument("--depth", choices=("light", "full"), default=os.environ.get("OPENRIG_REFOCUS_DEPTH", "light"))
|
|
193
|
+
parser.add_argument("--topology-start")
|
|
194
|
+
parser.add_argument("--work-start")
|
|
195
|
+
args = parser.parse_args()
|
|
196
|
+
|
|
197
|
+
sections = []
|
|
198
|
+
if args.trees in {"topology", "both"}:
|
|
199
|
+
root = configured_root("topology.root", "OPENRIG_TOPOLOGY_ROOT")
|
|
200
|
+
if root is None:
|
|
201
|
+
sections.append("## TOPOLOGY TRACE\nTRACE GAP — topology.root is unresolved")
|
|
202
|
+
else:
|
|
203
|
+
start = Path(args.topology_start) if args.topology_start else derive_topology_start(root)
|
|
204
|
+
sections.append(render_topology(start, root, args.depth) if start else
|
|
205
|
+
"## TOPOLOGY TRACE\nTRACE GAP — current topology node is unresolved; set OPENRIG_REFOCUS_TOPOLOGY_NODE")
|
|
206
|
+
|
|
207
|
+
if args.trees in {"work", "both"}:
|
|
208
|
+
root = configured_root("workspace.root", "OPENRIG_WORKSPACE_ROOT")
|
|
209
|
+
if root is None:
|
|
210
|
+
sections.append("## WORK TRACE\nTRACE GAP — workspace.root is unresolved")
|
|
211
|
+
else:
|
|
212
|
+
start = Path(args.work_start) if args.work_start else derive_work_start(root)
|
|
213
|
+
sections.append(render_work(start, root, args.depth) if start else
|
|
214
|
+
"## WORK TRACE\nTRACE GAP — current work node is unresolved; set OPENRIG_REFOCUS_WORK_NODE")
|
|
215
|
+
|
|
216
|
+
print("\n\n".join(sections))
|
|
217
|
+
return 0
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
if __name__ == "__main__":
|
|
221
|
+
raise SystemExit(main())
|
|
@@ -87,9 +87,9 @@ tenure:
|
|
|
87
87
|
- **tombstone** — one line: what this tenure did, written by the retiring agent itself
|
|
88
88
|
|
|
89
89
|
**Why it works (zero search infrastructure):** any timestamped record — a git commit, a
|
|
90
|
-
qitem, a
|
|
91
|
-
generation + session token → wake that tenure. One row per handover, append-only.
|
|
92
|
-
|
|
90
|
+
qitem, a NOTES.md line, a stream item — joins to the seat's ledger by interval match →
|
|
91
|
+
generation + session token → wake that tenure. One row per handover, append-only. The
|
|
92
|
+
ledger is the tenure record; work-tree notes remain lived context, not identity state.
|
|
93
93
|
|
|
94
94
|
**Crash-ended tenures** get their row appended **post-hoc** by the crash-cart / restore path,
|
|
95
95
|
flagged **honest-approximate** (the boot-captured session id is what makes this recoverable).
|
|
@@ -1,15 +1,10 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: software-for-agents
|
|
3
3
|
description: |
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
(skills, instructions, bootstrap files, schemas, conventions), and most "bugs" are coherence gaps in
|
|
9
|
-
that layer, not broken functions. Read this to form the correct mental model so your fixes land at the
|
|
10
|
-
precise spot that stops the footgun for every future rig — not just patch a symptom. It also covers why STUDIO APPS skip the mockup phase — for an agent-built app the build is as fast as the mockup, so the PRD is the fleshed intent (velocity as method, not a quality waiver). NOTE: the
|
|
11
|
-
bug-tolerance in this model is SCOPED to agent-managed software; the OpenRig core and rigs.to stay
|
|
12
|
-
rock-solid — see the scope block up top before you apply anything here.
|
|
4
|
+
Use when building, modifying, or diagnosing an OpenRig or studio-box system; when surprising behavior
|
|
5
|
+
looks like a code bug but may come from Markdown, YAML, JSON, bootstrap files, schemas, skills, or
|
|
6
|
+
conventions; or when deciding whether an agent-built studio app needs a separate mockup phase. NOT for
|
|
7
|
+
treating defects in OpenRig core or rigs.to as tolerable control-plane drift.
|
|
13
8
|
metadata:
|
|
14
9
|
openrig:
|
|
15
10
|
stage: factory-approved
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# Public capability and source-map width for the default onboarding walk.
|
|
2
|
+
name: onboarding-width
|
|
3
|
+
version: "0.5.5"
|
|
4
|
+
purpose: "The public capability map and source map referenced by the default onboarding walk."
|
|
5
|
+
files:
|
|
6
|
+
- path: public-what-you-can-do.md
|
|
7
|
+
role: reference
|
|
8
|
+
summary: "The public OpenRig capability map."
|
|
9
|
+
- path: public-reference-material.md
|
|
10
|
+
role: reference
|
|
11
|
+
summary: "The public source map and trust guidance."
|
|
@@ -19,7 +19,7 @@ points and were written to be entered from:
|
|
|
19
19
|
into the code and do not know which module owns the thing.
|
|
20
20
|
- **`cli-reference.md` — the full `rig` command surface, ~106 KB.** Every group, subcommand, flag,
|
|
21
21
|
JSON shape. **This is the authority on how a command works**, and the capabilities piece
|
|
22
|
-
(`what-you-can-do.md`) is only the map to it.
|
|
22
|
+
(`public-what-you-can-do.md`) is only the map to it.
|
|
23
23
|
|
|
24
24
|
**These are maintained, not archaeology.** `cli-reference.md` alone has forty-nine commits against
|
|
25
25
|
it. Treat them as current.
|
|
@@ -40,28 +40,6 @@ Each of these carries frontmatter, and three fields are worth knowing by name:
|
|
|
40
40
|
field is how you calibrate rather than guess. Where a doc and the live binary disagree, **the
|
|
41
41
|
binary wins** — and the disagreement is worth reporting, not just working around.
|
|
42
42
|
|
|
43
|
-
## The corpus — under `shared-docs/` in the OpenRig home
|
|
44
|
-
|
|
45
|
-
Twenty-one directories of accumulated writing. The ones you are most likely to want:
|
|
46
|
-
|
|
47
|
-
| where | roughly | what it holds |
|
|
48
|
-
|---|---|---|
|
|
49
|
-
| `product/` | 103 files | what OpenRig is, who it is for, why it exists in this shape |
|
|
50
|
-
| `conventions/` | 76 files | how things are done here — naming, scope, cadence, formats |
|
|
51
|
-
| `field-notes/` | 141 files | what actually happened, written by whoever it happened to |
|
|
52
|
-
| `primitives/` | 38 files | the load-bearing concepts, examined one at a time |
|
|
53
|
-
| `doctrine/` | 10 files | the rulings that settled a recurring argument |
|
|
54
|
-
| `corpus/` | 14 files | canon and insights, distilled |
|
|
55
|
-
|
|
56
|
-
**A warning you will need, because it is not obvious from the directory names:** almost all of this
|
|
57
|
-
was written to explain OpenRig **to a human**. It says *you stop being the router, the bookkeeping
|
|
58
|
-
leaves your head, your job shrinks to judgment.* Read as-is, it is about somebody else.
|
|
59
|
-
|
|
60
|
-
**The agent version is the same content with the subject swapped: you are the router now.** The
|
|
61
|
-
bookkeeping moved to you. The judgment that was supposed to stay human is sitting in your seat.
|
|
62
|
-
When you read the corpus, do that substitution as you go — otherwise you will absorb it as
|
|
63
|
-
background about a user rather than as a description of your own job.
|
|
64
|
-
|
|
65
43
|
## The living answer — `--help`
|
|
66
44
|
|
|
67
45
|
**The binary is always more current than anything written about it.** `rig <verb> --help` and
|
|
@@ -74,9 +52,9 @@ building a parallel solution out of primitives that already compose into the ans
|
|
|
74
52
|
|
|
75
53
|
## Outside the forest — when nothing on this machine can answer it
|
|
76
54
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
55
|
+
There is a whole class of question the source repo and live `--help` do not reach: what an external
|
|
56
|
+
library actually does today, anything that changed after your training cutoff, what is true in the
|
|
57
|
+
world rather than in this repo.
|
|
80
58
|
|
|
81
59
|
**And the failure is the same one this page already warns about, pointed outward.** An agent that
|
|
82
60
|
does not know the corpus exists invents instead of looking. An agent that does not know these exist
|