@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mission-slice-sop
|
|
3
|
-
description: "Use when working a mission or slice
|
|
3
|
+
description: "Use when working on a mission or slice; editing SPEC.md, NOTES.md, PROGRESS.md, or PROOF.md; defining a proof contract or plan-lock/proof-lock; running rig proof; making a handoff; or preparing for compaction."
|
|
4
4
|
metadata:
|
|
5
5
|
openrig:
|
|
6
6
|
stage: shipped
|
|
@@ -39,39 +39,34 @@ These three are a division of labour, not a chain of gates. One agent may hold a
|
|
|
39
39
|
|
|
40
40
|
> These files are the **operating surface of the work** — you track on them, record on them, hand off through them, and survive compaction on them. Keep them current because that is what lets the work survive. But they **serve** the product; they are not the product. If you're polishing files while the actual thing isn't shipping, you've inverted it: go build, then update them.
|
|
41
41
|
|
|
42
|
-
- **
|
|
43
|
-
- **
|
|
44
|
-
- **
|
|
45
|
-
- **MISSION_NOTES.md** — the accruing handoff + tribal-knowledge doc. Blank-slate onboarding and **compaction-restore** read it. `§1` top-of-mind + per-seat `§A–§X`.
|
|
46
|
-
- **MISSION_BRIEF.md** — the steering doc (the UI "Steering" tab). The 7-section schema.
|
|
42
|
+
- **SPEC.md** (mission + slice) — the one authored node file. `intent:` lives in frontmatter; the slice body specifies through `## Intent`, `## Mini-requirements`, and `## Proof contract`. Advisory sibling build-order edges live in `depends_on:`.
|
|
43
|
+
- **PROGRESS.md** — the durable mission/slice acceptance checklist. In-process steps stay in the working agent's todo tool.
|
|
44
|
+
- **NOTES.md** — lived context and observations that help the mission without changing its contract.
|
|
47
45
|
- **PROOF.md** (+ `proof/`) — what you actually verified, stated honestly. A couple of honest, LOOKed-at lines beat an elaborate contract.
|
|
48
46
|
|
|
49
47
|
## Per-file rules — WHO / WHEN / HOW
|
|
50
48
|
|
|
51
49
|
### PROGRESS.md
|
|
52
|
-
- **WHO:** the
|
|
53
|
-
- **WHEN:**
|
|
54
|
-
- **HOW:** one
|
|
50
|
+
- **WHO:** the mission/slice owner keeps acceptance honest.
|
|
51
|
+
- **WHEN:** when an acceptance outcome changes, especially at handoff and close.
|
|
52
|
+
- **HOW:** one checkbox per durable outcome. Do not copy in-process todo steps into it.
|
|
55
53
|
|
|
56
54
|
### PROOF.md + proof/
|
|
57
55
|
- **WHO:** the impl/QA pair that worked the slice.
|
|
58
56
|
- **WHEN:** before you call a slice done.
|
|
59
57
|
- **HOW:** say what you verified and how you verified it — **by effect**: you ran it and looked at the result. Put supporting media under `proof/`. State plainly what is proven and what is **not**; an honest "this half is untested" is worth more than a checkmark. If a drop verb is in play for this slice, prefer it over hand-placing files so the artifact carries its own provenance.
|
|
60
58
|
|
|
61
|
-
###
|
|
62
|
-
- **WHO:**
|
|
63
|
-
- **WHEN:**
|
|
64
|
-
- **HOW:**
|
|
59
|
+
### NOTES.md
|
|
60
|
+
- **WHO:** whoever did or observed the work.
|
|
61
|
+
- **WHEN:** when lived context will help the next worker but does not belong in the contract.
|
|
62
|
+
- **HOW:** write raw observations freely; point to durable artifacts instead of copying them.
|
|
65
63
|
|
|
66
|
-
###
|
|
67
|
-
- **WHO:**
|
|
68
|
-
|
|
69
|
-
### README.md
|
|
70
|
-
- **WHO:** the author at creation; refreshed on rescope. **WHEN:** at creation + when scope/theme changes. **HOW:** overview + honest frontmatter (`id`/`stage`/`verified`); the mission README carries this SOP at its bottom.
|
|
64
|
+
### SPEC.md
|
|
65
|
+
- **WHO:** the node owner. **WHEN:** at creation and on a real rescope. **HOW:** keep `intent:` and advisory `depends_on:` in frontmatter; only slice bodies specify buildable work.
|
|
71
66
|
|
|
72
67
|
## The lifecycle (4 legs)
|
|
73
68
|
|
|
74
|
-
**SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens) → **PROJECT** (
|
|
69
|
+
**SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens) → **PROJECT** (scope readers and the TUI derive the current view) → **VERIFY** (`rig scope audit`, advisory). "Loose freeform write + deterministic verify."
|
|
75
70
|
|
|
76
71
|
## Hot-potato (handoffs)
|
|
77
72
|
|
|
@@ -94,7 +89,7 @@ When you `rig capture` a pane, **greyed / ghost autocomplete suggestions are NOT
|
|
|
94
89
|
## Moment-of-truth checklist
|
|
95
90
|
|
|
96
91
|
- **Starting a slice?** → do you know what it's for and what done looks like? mockups attached (UI slices)? **Are you on the light path?** (You are, unless the mission owner assigned the overlay.)
|
|
97
|
-
- **Finishing a slice?** → does PROOF.md say what you actually verified, by effect, including what is NOT covered?
|
|
98
|
-
- **
|
|
99
|
-
- **Compacting?** →
|
|
100
|
-
- **Starting on a mission?** → read the mission
|
|
92
|
+
- **Finishing a slice?** → does PROOF.md say what you actually verified, by effect, including what is NOT covered? Acceptance updated in PROGRESS? handed off via `rig queue handoff`?
|
|
93
|
+
- **Rescoping?** → update SPEC.md; ordinary implementation steps do not belong there.
|
|
94
|
+
- **Compacting?** → deposit seat continuity in the seat's restore surface; NOTES.md holds only work-tree lived context.
|
|
95
|
+
- **Starting on a mission?** → read the mission SPEC.md + NOTES.md + the conventions SSOT.
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# Changelog — openrig-operating-model
|
|
2
|
+
|
|
3
|
+
Why the model is shaped the way it is. **`SKILL.md` carries the model; this file carries how it
|
|
4
|
+
got there.** Rationale, superseded designs, and the incidents that produced a rule live here so
|
|
5
|
+
the instruction surface stays instructional.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 2026-08-12/13 — the simplification
|
|
10
|
+
|
|
11
|
+
### `NOTES.md` was retired and restored the next day — a measurement error worth keeping
|
|
12
|
+
|
|
13
|
+
Retired 2026-08-12 on the evidence that **`NOTES.md` had zero instances anywhere.** That number was
|
|
14
|
+
correct and the conclusion was wrong: the function was adopted **55 times as `MISSION_NOTES.md`**
|
|
15
|
+
(35 at mission root). **The name was searched for; the function was not.**
|
|
16
|
+
|
|
17
|
+
Restored as the work tree's **lived** file — the counterpart to `LEARNED.md` on the topology tree,
|
|
18
|
+
never generated, never projected, written by whoever is doing the work. `MISSION_NOTES.md` stays
|
|
19
|
+
resolvable as the legacy spelling, but the chain name is `NOTES.md`: `MISSION_` is
|
|
20
|
+
altitude-specific, and a chain uses one name at every altitude.
|
|
21
|
+
|
|
22
|
+
The general form, since it recurred all week: **a scoped search reported as a global absence.**
|
|
23
|
+
Asking "does this filename exist" answers a different question from "does this job have a home."
|
|
24
|
+
|
|
25
|
+
### Five chains became three
|
|
26
|
+
|
|
27
|
+
Superseded: `INTENT.md`, `SPEC.md`, `NOTES.md`, `PROGRESS.md` as separate work-tree chains, plus
|
|
28
|
+
`SOP.md` on the topology tree.
|
|
29
|
+
|
|
30
|
+
Now: **`LEARNED.md`** (topology) and **`SPEC.md`** (work), with `intent:` in `SPEC.md`'s
|
|
31
|
+
frontmatter.
|
|
32
|
+
|
|
33
|
+
- The four-chain work tree was designed and never adopted — `INTENT.md` existed **twice** across
|
|
34
|
+
1,051 files. The design asked for four files where the work only ever produced one.
|
|
35
|
+
- Intent is a *chain* (every altitude) and spec is a *leaf* (missions organise, they do not
|
|
36
|
+
specify), which argues for two files right until intent moves into frontmatter. Then one file
|
|
37
|
+
serves both: the walk composes the **field**, the body is read only when you stand on that node.
|
|
38
|
+
- `README.md` → `SPEC.md` because names are prompts. README says "background reading"; what is
|
|
39
|
+
actually there is a node definition with machine-read frontmatter. Legacy `README.md` stays
|
|
40
|
+
valid indefinitely and the resolver prefers `SPEC.md`, so nothing is ever forced to migrate.
|
|
41
|
+
- `PROOF.md` was kept. It is the one check that reliably goes unmade.
|
|
42
|
+
|
|
43
|
+
### `SOP.md` left the tree
|
|
44
|
+
|
|
45
|
+
It is knowledge about a *kind*, and kinds are what plugins package. It now ships as a skill inside
|
|
46
|
+
the rig's mode plugin. The chains kept only what is true of a *position*.
|
|
47
|
+
|
|
48
|
+
This also fixed a packaging bug: `openrig-core` shipped the factory's `mission-slice-sop` alongside
|
|
49
|
+
genuine primitives, so **every rig installing "core" inherited the factory's operating model
|
|
50
|
+
whether it was a factory or not.** This VM felt like a factory before anyone chose one.
|
|
51
|
+
|
|
52
|
+
### `instance` entered the taxonomy
|
|
53
|
+
|
|
54
|
+
`fleet → instance → rig → pod → seat`.
|
|
55
|
+
|
|
56
|
+
Every hardware-flavoured word failed because the altitude is not hardware — it is one daemon and
|
|
57
|
+
the rigs it manages. `host` failed specifically because substrate *nests* (a VM runs on a host runs
|
|
58
|
+
in a datacentre), so a reader can resolve it to the wrong rung; **that conflation once sent a real
|
|
59
|
+
upgrade to the wrong machine.** `topology` was demoted: the code already uses it for the
|
|
60
|
+
arrangement of pods and seats within one rig, which is the natural reading.
|
|
61
|
+
|
|
62
|
+
### Shelves stopped being nodes
|
|
63
|
+
|
|
64
|
+
Directories that hold instances of an altitude (`rigs/`, `missions/`, `slices/`) carry no chain
|
|
65
|
+
file. Briefly they did here — added to make a walk report a clean 5/5, which inflated a checkmark
|
|
66
|
+
by writing a *definition of the kind* into a *position* chain, duplicated from `SKILL.md`.
|
|
67
|
+
|
|
68
|
+
### Audience and maturity were separated
|
|
69
|
+
|
|
70
|
+
They had been quietly multiplied into one axis: a tempting model where climbing the tree *was*
|
|
71
|
+
climbing the epistemic ladder. It is wrong. Pod-level content can be raw observation; seat-level
|
|
72
|
+
content can be canon. Audience decides the file; maturity is an attribute of a line inside it, and
|
|
73
|
+
promotion to canon can happen at any altitude.
|
|
74
|
+
|
|
75
|
+
### Tooling caught up
|
|
76
|
+
|
|
77
|
+
- `compose.py --field` composes one frontmatter field up a chain.
|
|
78
|
+
- `compose.py --prefer` treats `--name` as a precedence list resolved per level, so a tree
|
|
79
|
+
mid-rename walks instead of reading as broken, and the map names which file answered.
|
|
80
|
+
- `scaffold.sh` was **generating the superseded design** — `work) FILES=(INTENT.md NOTES.md)` —
|
|
81
|
+
for a day after the docs changed. Docs that lie are annoying; tools that lie rebuild what you
|
|
82
|
+
removed. **Check what generates a convention before what describes it.**
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
## Known gaps
|
|
87
|
+
|
|
88
|
+
- The walk map renders a **shelf** and a real **gap** identically (`✗ absent`). It wants a third
|
|
89
|
+
state; until then correct-and-expected screams as loudly as a genuine hole.
|
|
90
|
+
- The topology tree has no configuration key, so a shipped script cannot resolve it portably the
|
|
91
|
+
way the work tree resolves from `workspace.root`.
|
|
92
|
+
- `LEARNED` distillation has a designed trigger (deposit boundaries) and no implementation.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Revision guide — for agents improving this skill
|
|
2
|
+
|
|
3
|
+
Authored in one sitting by the seat that held the full design context
|
|
4
|
+
(product-team generation 4, 2026-08-09, owner-ordered sole authorship to avoid dilution).
|
|
5
|
+
Revise freely WITHIN these boundaries; the authoring seat (or its successor)
|
|
6
|
+
checks every change.
|
|
7
|
+
|
|
8
|
+
## LOAD-BEARING — do not change the meaning (wording tweaks fine)
|
|
9
|
+
- Two trees + uniform-filename law (one name per chain; folder=context; path=instance).
|
|
10
|
+
- The axis (template/learned) + per-chain amendment clocks.
|
|
11
|
+
- The trace laws: read-receipts-not-recitation · report-broken-links-never-obey ·
|
|
12
|
+
chains inform, never enforce.
|
|
13
|
+
- The trace principle + its taught failure mode (§5): identical scheduled prompts decay and idle seats accumulate ritual — teach the principle, allow scheduling where context fits; the due-check script is the preferred gate, not a law.
|
|
14
|
+
- LEARNED size is SOFT guidance (attention budget + Deuteronomy warning as a taught antipattern) — never reintroduce a hard cap.
|
|
15
|
+
- Composed views generated-never-edited; approvals that freeze content record the hash of a render (§7). Plain language — no 'seal'/'fold' jargon; those were seat-local terms and are banned from this skill.
|
|
16
|
+
- Placement rule (§8) + the dual-home interim rule (ROLLOUT.md): do NOT drain skills before the registry.
|
|
17
|
+
- Seeding-as-audit + never-bulk-seed + wave pacing (all in ROLLOUT.md).
|
|
18
|
+
- The write principles (§6, exactly two — resist re-complicating them into protocol tables; an over-specified write protocol was cut from v1 for breaking the model's own cheap-to-update law).
|
|
19
|
+
- "fleet" not "host".
|
|
20
|
+
|
|
21
|
+
## IMPROVABLE — expected revision surface
|
|
22
|
+
- Script robustness (portability: `date -r` vs `stat -f` is macOS-flavored;
|
|
23
|
+
Linux needs `stat -c %Y`; add tests).
|
|
24
|
+
- Template wording, more worked examples, a rendered example LEARNED.md.
|
|
25
|
+
- scaffold.sh ergonomics (node discovery from a rig spec instead of --node args).
|
|
26
|
+
- compose.py: ordering options, front-matter-aware rendering, seal-hash helper.
|
|
27
|
+
- Frontmatter/metadata conformance to the skill-factory's current schema.
|
|
28
|
+
|
|
29
|
+
## PROCESS
|
|
30
|
+
1. Propose changes as a diff (queue item to the authoring seat).
|
|
31
|
+
2. Load-bearing changes need the authoring seat's explicit OK before landing.
|
|
32
|
+
3. When this skill ships to source (target: 0.5.1 skill+scripts, doc 0.5.4),
|
|
33
|
+
the shipped copy is generic: keep host-specific anything OUT (placement law —
|
|
34
|
+
host specifics live in the tree this skill bootstraps, never in the skill).
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# ROADMAP — what gets formalized in product code, and when
|
|
2
|
+
|
|
3
|
+
SKILL.md teaches the model as it works TODAY (markdown + scripts only). This
|
|
4
|
+
file tracks what later ships in OpenRig product code. Verbose on purpose;
|
|
5
|
+
none of this belongs in the SOP.
|
|
6
|
+
|
|
7
|
+
| Piece | Interim (now) | Formalization target |
|
|
8
|
+
|---|---|---|
|
|
9
|
+
| The skill + scripts themselves | this folder, host-level projection | ship with 0.5.1 (zero product code — skill and scripts only; every new install gets the fallback-design version) |
|
|
10
|
+
| Work-triggered trace | manual + trace-due.sh under watchdog | 0.5.4 — the drift-correction spec (FROZEN) formalizes the trigger on the per-seat usage series and the delivery as durable queue items |
|
|
11
|
+
| STEERING→INTENT naming | files renamed at rollout; pointer files at old names | 0.5.4 — conform-amendment to the frozen spec's steering-substrate unit (its owner sweeps every narrative surface) |
|
|
12
|
+
| Seat scaffolds + boot order | scaffold.sh + convention (read SOP/LEARNED before any handover packet) | 0.5.4–0.5.5 — seat-create scaffolds the pair; launcher/boot integration |
|
|
13
|
+
| SPEC render + lock semantics | new work may fragment; compose.py renders; locks hash the render by convention | 0.5.5 — `rig scope spec render <node>`; plan-lock records the render hash natively (a lock-semantics change; needs its own spec) |
|
|
14
|
+
| Render verb family + trunk diff | compose.py / trunk-diff.sh | 0.5.5 — `rig render <tree> <node>` |
|
|
15
|
+
| Hot/cold skill pool | de-facto hot tier (profile-selected ambient projection); cold = context packs + library, separate indexes | 0.6 — one registry, multi-source cold pool, per-seat tier assignment in specs; THE DRAIN of mis-shelved skill content into the trees happens here, not before |
|
|
16
|
+
| Compaction-restore + handover restore-map | today: full-context salvage (crude blunt instrument) + rich packet; dual-rail per owner ruling 2026-08-10 | 0.5.4 REVISIT (owner-directed): once the ontology walk works live, the restore map SHRINKS — ontology rebuilds via the seat's own trace (SOP/LEARNED/INTENT chains), so restore artifacts reduce to slim SESSION NOTES carrying the earned nuance/epistemology the files can't (judgment traces, in-flight reasoning). Old machinery retires only after migration + demonstrated confidence, per the dual-rail ruling. |
|
|
17
|
+
| The Operating Model document | the workspace artifact + this skill | 0.5.4 — ships in source as the operating-model doc; absorbs/supersedes sdlc-conventions.md and the overlapping parts of mission-slice-sop |
|
|
18
|
+
| PROGRESS roll-up | already shipped machinery + re-surfacing spec | 0.5.2 (in build) — proof-item checkbox as the single mark level |
|
|
19
|
+
|
|
20
|
+
Release-ladder context at the time of writing: 0.5.1 = test system
|
|
21
|
+
(stabilization, at its cut) · 0.5.2 = human layer · 0.5.3 = maintenance/
|
|
22
|
+
dogfood of 0.5.2 · 0.5.4 = drift-correction system · later = renders,
|
|
23
|
+
registry. The ladder is the design authority's; entries here move when it moves.
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
# ROLLOUT — adopting the Operating Model on a live fleet
|
|
2
|
+
|
|
3
|
+
This file is deliberately verbose. It is the adoption plan, the interim
|
|
4
|
+
practices, and the reasoning — everything time-bound that does NOT belong in
|
|
5
|
+
SKILL.md (which teaches the model itself, timelessly).
|
|
6
|
+
|
|
7
|
+
## Why a rollout plan exists at all
|
|
8
|
+
|
|
9
|
+
This model was designed after a measured failure: several consecutive
|
|
10
|
+
generations of critical seats onboarded through handover documents alone and
|
|
11
|
+
each lost most of the operational knowledge of its predecessor — without
|
|
12
|
+
knowing it (the Dunning-Kruger shape: the loss is invisible from inside).
|
|
13
|
+
The fleet also has real rate limits: fifty seats reading a large skill
|
|
14
|
+
simultaneously is a provider incident, not a rollout. Both facts shape
|
|
15
|
+
everything below.
|
|
16
|
+
|
|
17
|
+
## The three pieces
|
|
18
|
+
|
|
19
|
+
1. **The markdown** — files must exist before anyone can walk them.
|
|
20
|
+
2. **The rolling upgrade** — seats adopt in small waves, top-down.
|
|
21
|
+
3. **The enforcement floor** — watchdog-fired due-checks keep the trace habit
|
|
22
|
+
alive without any new product code.
|
|
23
|
+
|
|
24
|
+
## Piece 1 — the markdown layer (create/rename/map; migrate nothing finished)
|
|
25
|
+
|
|
26
|
+
- **Rule zero: no migration of finished work.** Completed missions, closed
|
|
27
|
+
specs, historical notes stay untouched forever. The model starts with work
|
|
28
|
+
IN FLIGHT and everything new.
|
|
29
|
+
- **Renames:** the old `STEERING.md` files become `INTENT.md` (same content,
|
|
30
|
+
new name — "steering" predated the fleet's settled use of the word intent).
|
|
31
|
+
Leave a one-line pointer file at the old name for one transition period.
|
|
32
|
+
The frozen drift-correction spec (0.5.4) refers to the steering substrate;
|
|
33
|
+
its owner amends the naming there (see ROADMAP.md).
|
|
34
|
+
- **Mappings, not moves:** today's standalone slice PRD IS the slice-level
|
|
35
|
+
`SPEC.md`, as-is, no edits. `MISSION_NOTES.md` keeps serving every mission
|
|
36
|
+
that already uses it; new missions start with `NOTES.md`.
|
|
37
|
+
- **Creation:** `scripts/scaffold.sh` places missing chain files as UNSEEDED
|
|
38
|
+
templates. It never overwrites, never deletes.
|
|
39
|
+
- **Topology-tree root, RULED (pm-lead wave-1 review, 2026-08-10):** the
|
|
40
|
+
canonical on-disk root for topology chain files is the existing rig home —
|
|
41
|
+
`shared-docs/rigs/<rig>/` — so a seat's files live at
|
|
42
|
+
`shared-docs/rigs/<rig>/seats/<seat>/`. That shelf already holds each rig's
|
|
43
|
+
`rig.yaml`, rig-level `CULTURE.md`, and `state/`, so the chain composes with
|
|
44
|
+
what exists instead of minting a parallel tree. Seat instances never live
|
|
45
|
+
inside this skill's directory (the skill is distribution canon, not runtime
|
|
46
|
+
state; the two early seeds that diverged were reconciled here: pm-openrig's
|
|
47
|
+
provisional placement confirmed, pm-lead's moved to match).
|
|
48
|
+
- **Seat files:** created by scaffold, but their CONTENT is seeded only by the
|
|
49
|
+
protocol below — never mass-produced.
|
|
50
|
+
|
|
51
|
+
## Piece 2 — the rolling upgrade
|
|
52
|
+
|
|
53
|
+
**Wave order and why:** those who review others must hold the model first.
|
|
54
|
+
|
|
55
|
+
- **Wave 1 — coordinators:** the PMs, the operator agent, the oversight lead,
|
|
56
|
+
rig orchestrators. Small group, immediately; they will be reviewing every
|
|
57
|
+
later seed.
|
|
58
|
+
- **Wave 2 — the priority rig.** (At the time of writing: the build VM — the
|
|
59
|
+
current unblock focus.) Its orchestrator paces its own seats: a few at a
|
|
60
|
+
time, as their work allows, never all at once.
|
|
61
|
+
- **Wave 3 — the next rig.** (At the time of writing: the studio rig.)
|
|
62
|
+
- **Wave 4 — everyone else, on contact:** a seat reads the skill the first
|
|
63
|
+
time work reaches it under the model. No seat is interrupted just to read.
|
|
64
|
+
|
|
65
|
+
**Pacing law:** waves are small and self-paced BY DESIGN — this is a
|
|
66
|
+
rate-limit safety rule, not a preference. An orchestrator rolling its rig
|
|
67
|
+
staggers reads. If a wave would put more than a handful of seats into
|
|
68
|
+
simultaneous heavy reading, split the wave.
|
|
69
|
+
|
|
70
|
+
**The adoption receipt is the seed.** A seat has adopted when its
|
|
71
|
+
`LEARNED.md` v1 exists, written BY THAT SEAT in its own words (distilled from
|
|
72
|
+
whatever records it has — handover documents, its runtime memory, its queue
|
|
73
|
+
history), and reviewed by its orchestrator or PM. Reading without seeding is
|
|
74
|
+
not adoption; there is deliberately no other receipt to fake.
|
|
75
|
+
|
|
76
|
+
**Seeding doubles as the capability audit.** A seat that cannot write its own
|
|
77
|
+
MY JOB HERE section has just revealed precisely what its handover lineage
|
|
78
|
+
lost. That discovery is a SUCCESS of the rollout, not a failure — it converts
|
|
79
|
+
an invisible capability gap into a named, fixable one. Orchestrators: when a
|
|
80
|
+
seed comes back thin or confused, that seat needs re-onboarding against its
|
|
81
|
+
SOP, not a rewrite of its seed by someone else.
|
|
82
|
+
|
|
83
|
+
**Hierarchy-seeded exceptions:** empty seats, broken seats, and seats being
|
|
84
|
+
re-staffed get their files written by whoever is responsible for them, with
|
|
85
|
+
those lines marked as written-for-the-instance. The next real occupant
|
|
86
|
+
rewrites them in its own words as a first act.
|
|
87
|
+
|
|
88
|
+
## Piece 3 — the enforcement floor (no product code required)
|
|
89
|
+
|
|
90
|
+
Register a watchdog (or any scheduler) per adopted seat that fires
|
|
91
|
+
`scripts/trace-due.sh` on a modest cadence. The script no-ops silently unless
|
|
92
|
+
enough has actually changed since the seat's last trace, so the schedule can
|
|
93
|
+
be dumb while the action stays evidence-gated. When it reports DUE, the seat
|
|
94
|
+
runs the trace per SKILL.md §5 and stamps (`scripts/trace-stamp.sh`).
|
|
95
|
+
Schedulers, files, and two tiny scripts — that is the entire interim
|
|
96
|
+
enforcement system, and it degrades gracefully: if every scheduler dies, the
|
|
97
|
+
model still works, just without reminders.
|
|
98
|
+
|
|
99
|
+
## The dual-home interim (skills are NOT drained yet)
|
|
100
|
+
|
|
101
|
+
Much altitude-specific knowledge currently lives in the skill layer (pod
|
|
102
|
+
handbooks, seat SOPs, fleet doctrine) because the skill layer was the only
|
|
103
|
+
durable shelf that existed. The placement rule says that knowledge belongs in
|
|
104
|
+
the trees — AND the drain does not happen now. During rollout:
|
|
105
|
+
|
|
106
|
+
- existing skills remain exactly where they are and remain authoritative;
|
|
107
|
+
- the new tree files are built USING them as reference material;
|
|
108
|
+
- the same knowledge deliberately lives in both places for a while;
|
|
109
|
+
- the drain happens later, deliberately, when the unified skill registry
|
|
110
|
+
lands (see ROADMAP.md) — never as a side effect of the rollout.
|
|
111
|
+
|
|
112
|
+
## SOP authoring plan (owner-approved 2026-08-10; product team owns)
|
|
113
|
+
|
|
114
|
+
**Composition (owner-ruled 2026-08-10):** pod SOP = the general layer ·
|
|
115
|
+
seat SOP = a TYPE fragment, shared/projected across same-type seats (byte-
|
|
116
|
+
identical; occupant edits go to LEARNED, never the fragment; divergence is a
|
|
117
|
+
parity scream) · LEARNED = the lived instance. Fragments are authored per TYPE
|
|
118
|
+
(roughly ten fleet-wide), never per seat.
|
|
119
|
+
|
|
120
|
+
**Round 1 — type fragments, by the three-hands pattern:**
|
|
121
|
+
1. *Incumbents* of the type dump raw seat-truth to a `SOP-STASH-raw.md`
|
|
122
|
+
(facts as learned, not doctrine), including a **drift-check line**: which
|
|
123
|
+
skills they actually consult vs what their `agent.yaml` declares.
|
|
124
|
+
2. *A fresh one-shot author* (single-purpose agent, no continuity required —
|
|
125
|
+
all state lives in files, so the step is robust to handover/compaction
|
|
126
|
+
failures) distills the fragment from a **named reading list**, pinned at
|
|
127
|
+
dispatch with an existence check on every path:
|
|
128
|
+
exemplar fragments (the accepted product-manager fragment + the PM pod
|
|
129
|
+
layer) → the seat's `agents/<role>/agent.yaml` (its `uses.skills` list IS
|
|
130
|
+
the derived canon list) + `guidance/role.md` (the fragment's direct
|
|
131
|
+
ancestor — read AGE-STAMPED; where it disagrees with the STASH, record
|
|
132
|
+
drift, don't resolve) → the 2–4 declared team/role skills →
|
|
133
|
+
`state/onboarding/` material and ADRs where the rig has them → the STASH.
|
|
134
|
+
Constraints inline: ~1 page · type-level only (instance→LEARNED candidates,
|
|
135
|
+
rig-wide→pod/rig layer — the author routes, never dumps) · `Sources:` line ·
|
|
136
|
+
flag gaps, never invent.
|
|
137
|
+
3. *Type occupants verify* ("does this describe my job?") and the rig
|
|
138
|
+
orchestrator/PM holds the coherence + placement review.
|
|
139
|
+
**Criterion upgrade (from the wave-1 outside-lineage cold read, 2026-08-11):**
|
|
140
|
+
beyond voice/duties/scars/gaps, review for **SELF-CONSISTENCY** — does the
|
|
141
|
+
file obey its own stated rules? (the wave-1 misses were all files breaking
|
|
142
|
+
their own rule: cached doctrine beside a read-at-source rule; a volatile
|
|
143
|
+
snapshot beside a presence-check rule; an expiry with no trigger beside a
|
|
144
|
+
remembered-follow-up-is-not-a-mechanism rule) — and **POST-SEED ALIVENESS**:
|
|
145
|
+
a one-sitting seed legitimately wears the dated-ledger form, but reviewers
|
|
146
|
+
re-read at ~+2 weeks; a LEARNED that never gains a post-seed entry is a
|
|
147
|
+
monument, not a rail.
|
|
148
|
+
Old artifacts (role.md, agent.yaml, team skills) stay exactly where they
|
|
149
|
+
are and stay authoritative — dual-home until the deliberate drain.
|
|
150
|
+
Order: wave-2 build-VM types first, then oversight, kernel/ops, studio.
|
|
151
|
+
skills-architect spends ZERO tokens now (context-constrained + handover in
|
|
152
|
+
process); their batched consistency pass rides the 0.6 registry drain.
|
|
153
|
+
|
|
154
|
+
**Binding inputs registered for round-1 fragments** (owner-flagged content
|
|
155
|
+
that MUST land in the named fragment; a draft missing its binding input fails
|
|
156
|
+
review — this list is read at every one-shot dispatch and at every review):
|
|
157
|
+
- **DRIVER type (build VM)** — owner recurrence flag 2026-08-10 (~100th
|
|
158
|
+
correction, zero uptake while it lived only in chat): on the VM, the DEFAULT
|
|
159
|
+
for a runtime defect is the **inner loop** — ground → fix → upgrade the
|
|
160
|
+
daemon in place → test with your own eyes → iterate; ship-rigor once at the
|
|
161
|
+
end; rollback only for a VM that cannot work. The conveyor is not the
|
|
162
|
+
default for a one-mechanism defect.
|
|
163
|
+
- **ORCHESTRATOR type (build VM)** — same flag: before routing any defect
|
|
164
|
+
into the conveyor, ask first whether ONE grounded agent with its own
|
|
165
|
+
feedback loop can fix and verify it in place. Conveyor only for what ships
|
|
166
|
+
beyond the VM or touches locked contracts.
|
|
167
|
+
- **THE CHOOSER (owner root diagnosis, same conversation, addendum 2026-08-11):**
|
|
168
|
+
the incoherence under the recurrence is that every task gets the identical
|
|
169
|
+
SDLC regardless of shape. Carried as ONE principle, not a rubric: **default =
|
|
170
|
+
the lightest thing that could work** (one agent, own judgment, own feedback
|
|
171
|
+
loop); the conveyor must be EARNED by a stated one-line reason (ships beyond
|
|
172
|
+
VM / public / locked contract / security boundary / multi-hand scope); no
|
|
173
|
+
reason line = light path. The orchestrator fragment carries the triage
|
|
174
|
+
question; the driver fragment carries the inner loop. Deliberately NOT a
|
|
175
|
+
classification taxonomy — a taxonomy would be new ceremony.
|
|
176
|
+
- **SHARPER FORM (orch-advisor's self-seeded fold — use this shape):**
|
|
177
|
+
(1) SCAR-vs-LAW — a lesson stated only negatively teaches fear of one
|
|
178
|
+
mistake, and occupants drift back UP because ceremony always FEELS like
|
|
179
|
+
rigor at zero visible cost; the fragment must state the POSITIVE default
|
|
180
|
+
(light; conveyor earns entry with a reason line) because that is what makes
|
|
181
|
+
the choice decidable. (2) THE COROLLARY — a tier chosen correctly once does
|
|
182
|
+
not stay correct; the tier is a function of the atom, not a property the
|
|
183
|
+
atom keeps; RE-CHOOSE whenever the surface changes (specimen: P18 judged
|
|
184
|
+
conveyor-worthy with a config surface, descoped to mostly-deletion, old
|
|
185
|
+
tier = ceremony inherited by momentum). Both belong in the ORCHESTRATOR
|
|
186
|
+
fragment, verbatim-substance.
|
|
187
|
+
- **ALL-TYPES binding input (triple-confirmed 2026-08-11: dev50-driver ×4 in
|
|
188
|
+
one night, orch-advisor ×3, pm-openrig desk ×2): THE SCOPED-READ LAW —
|
|
189
|
+
"a scoped read that does not name its scope manufactures a false absence."**
|
|
190
|
+
Every list/show/ps/send resolves against SOME scope (rig, daemon, host,
|
|
191
|
+
registry, filter); a negative result is only evidence within the named
|
|
192
|
+
scope. Every seat-type fragment carries this; reviewers enforce it like the
|
|
193
|
+
chooser.
|
|
194
|
+
(Companion folds already in flight at the implicated seats' LEARNED files:
|
|
195
|
+
product planning done; operator a947ed35 and advisor 1f89e5d6 owner-directed.)
|
|
196
|
+
|
|
197
|
+
**Round 2 — ontology backfill per seat, pod, and rig (owner-directed
|
|
198
|
+
2026-08-10):** after a node's SOP/LEARNED pair exists, one deliberate
|
|
199
|
+
audit pass folds the rest of its scattered wisdom into the walkable layer:
|
|
200
|
+
- **Claude memory files** (`~/.claude/projects/*/memory/` per seat) — tribal
|
|
201
|
+
wisdom that is written but almost never re-read (the "learning banked, then
|
|
202
|
+
never consulted again" failure mode this model exists to kill). Each memory
|
|
203
|
+
item either folds into LEARNED/SOP at its altitude or is explicitly
|
|
204
|
+
left as session-scoped; LEARNED folds are executed by the seat itself
|
|
205
|
+
(self-seeded law), playbook-layer folds by the fragment's owner.
|
|
206
|
+
- **openrig-work core** — doctrines, `conventions/`, and skills content that
|
|
207
|
+
is really seat/pod/rig practice — same routing, same dual-home rule:
|
|
208
|
+
originals stay in place and authoritative; the trees gain the walkable copy;
|
|
209
|
+
the drain stays a later deliberate act.
|
|
210
|
+
|
|
211
|
+
## Current status (update this section as waves complete)
|
|
212
|
+
|
|
213
|
+
- Design locked by the owner: 2026-08-09.
|
|
214
|
+
- Skill authored (sole-context authorship) and projected on the primary host:
|
|
215
|
+
2026-08-09. VM projection: operator's leg, with wave 2.
|
|
216
|
+
- Wave 1 COMPLETE 2026-08-10: all five coordinator seats seeded + reviewed
|
|
217
|
+
(pm-openrig, pm-lead, watch-lead, pm-studiobox, operator-agent). Wave 2
|
|
218
|
+
(build VM) released the same day; its orchestrator paces.
|
|
219
|
+
- First SOPs exist: PM pod layer + product-manager type fragment
|
|
220
|
+
(projected to both product-PM seats) + program-manager type fragment.
|
|
221
|
+
- STEERING→INTENT rename: openrig-platform done (owner) · factory anchor +
|
|
222
|
+
openrig-work root done 2026-08-10 (pointers at old names) · studio-boxes =
|
|
223
|
+
pm-studiobox's to execute · idea-ledger-gstack pending its owner.
|
|
224
|
+
- The factory is unparked (wave-1 adoption complete).
|
|
225
|
+
- NAMING RULED (owner, 2026-08-11): PLAYBOOK.md -> **SOP.md** fleet-wide
|
|
226
|
+
(names are prompts; SOP = the consult-and-follow trigger, factory-native).
|
|
227
|
+
All seven existing files renamed with one-transition pointers at old names;
|
|
228
|
+
LEARNED keeps its name (it is the maturity PIPELINE, and the low-friction
|
|
229
|
+
write-prompt is load-bearing). Projection recipes are **maps** (codemaps,
|
|
230
|
+
the name's prior holder, retire into this system). The corpus/canon
|
|
231
|
+
distribution program = skill **openrig-corpus-canon** (design of record:
|
|
232
|
+
product/DESIGN-context-distribution-2026-08-10.html); round-2's
|
|
233
|
+
hand-fold-canon leg is SUPERSEDED by it — round-2's lived-side leg
|
|
234
|
+
(claude-memory -> LEARNED, seat-executed) continues unchanged.
|