@openrig/cli 0.5.4 → 0.5.6
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/continuity/apprentice-cutover.md +19 -0
- package/daemon/assets/continuity/apprentice-prepare.md +17 -0
- 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 +271 -124
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +3 -3
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +4 -9
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +82 -118
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +20 -26
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +397 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +572 -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 +11 -6
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +1 -12
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +15 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +4 -16
- 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 +264 -0
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +26 -6
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +3 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-evidence-toolkit.md +32 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-successor-seat-cutover.md +256 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/orchestrator-role.md +40 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +9 -4
- package/daemon/assets/vm-preview-fixtures/README.md +16 -38
- package/daemon/assets/vm-preview-fixtures/workflows/sample-basic-loop.yaml +4 -5
- package/daemon/context-packs/onboarding-width/manifest.yaml +14 -0
- package/daemon/context-packs/{world/install/reference-material.md → onboarding-width/public-reference-material.md} +5 -27
- 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 +2 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +6 -13
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +98 -0
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +10 -0
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +118 -0
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +10 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +19 -75
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/watchdog/SKILL.md +4 -10
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +2 -1
- package/daemon/context-packs/world-example/manifest.yaml +21 -0
- package/daemon/context-packs/world-example/your-world.md +54 -0
- package/daemon/context-packs/world-public/boundaries.md +33 -0
- package/daemon/context-packs/world-public/build-your-world.md +84 -0
- package/daemon/context-packs/world-public/claims.yaml +205 -0
- package/daemon/context-packs/world-public/manifest.yaml +59 -0
- package/daemon/context-packs/world-public/start-here.md +51 -0
- package/daemon/context-packs/world-public/verify-world.sh +522 -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/context-pack-taxonomy-surface.d.ts +2 -0
- package/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
- package/daemon/dist/context-pack-taxonomy-surface.js +6 -0
- package/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
- package/daemon/dist/db/all-migrations.d.ts +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +12 -2
- 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/db/migrations/074_context_usage_watchdog.d.ts +4 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +44 -0
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -0
- package/daemon/dist/domain/active-occupant.js +72 -0
- package/daemon/dist/domain/active-occupant.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/agent-manifest.d.ts +6 -0
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +77 -15
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/agent-resolver.d.ts +11 -0
- package/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/agent-resolver.js +55 -0
- package/daemon/dist/domain/agent-resolver.js.map +1 -1
- 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/bundle-context-packs-router.d.ts +9 -2
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.js +18 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js +13 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
- package/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
- package/daemon/dist/domain/continuity-policy-materializer.js +290 -0
- package/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
- package/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
- package/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
- package/daemon/dist/domain/continuity-stack-packets.js +99 -0
- package/daemon/dist/domain/continuity-stack-packets.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/execution-view.d.ts +39 -0
- package/daemon/dist/domain/execution-view.d.ts.map +1 -0
- package/daemon/dist/domain/execution-view.js +707 -0
- package/daemon/dist/domain/execution-view.js.map +1 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
- package/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
- package/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/destination-resolver.js +52 -0
- package/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
- package/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
- package/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/dispatcher.js +9 -2
- package/daemon/dist/domain/gateway/dispatcher.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 +84 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js +151 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +118 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +282 -1
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/config.d.ts +11 -7
- package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/config.js +28 -10
- 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 +48 -9
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound.js +66 -14
- 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 +57 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +103 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +58 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js +99 -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 +129 -0
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-api.js +236 -0
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +53 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +267 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +31 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +473 -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/graph-projection.d.ts +6 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +6 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +41 -3
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +65 -48
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +82 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -0
- package/daemon/dist/domain/parked-query.js +127 -0
- package/daemon/dist/domain/parked-query.js.map +1 -0
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +12 -5
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
- package/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
- package/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
- package/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
- package/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
- package/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
- package/daemon/dist/domain/policies/delivery-deferral.js +153 -0
- package/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
- package/daemon/dist/domain/policies/types.d.ts +8 -0
- package/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +4 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +58 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
- package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
- package/daemon/dist/domain/provider/provider-signals.js +64 -0
- package/daemon/dist/domain/provider/provider-signals.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +7 -5
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +19 -32
- package/daemon/dist/domain/ps-projection.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 +72 -0
- package/daemon/dist/domain/queue-pickup.js.map +1 -0
- package/daemon/dist/domain/queue-repository.d.ts +93 -28
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +626 -90
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/daemon/dist/domain/queue-retention.js +8 -2
- package/daemon/dist/domain/queue-retention.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +100 -0
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
- package/daemon/dist/domain/queue-stuck-sweep.js +485 -0
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
- package/daemon/dist/domain/queue-transition-log.d.ts +10 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +49 -11
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +114 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wake-ladder.js +705 -0
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts +53 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.js +129 -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/restore-check-service.js +1 -1
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +88 -15
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +37 -19
- package/daemon/dist/domain/restore-plan-preview.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-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +10 -9
- package/daemon/dist/domain/rig-expansion-service.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 +21 -3
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +74 -4
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +7 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +32 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +32 -4
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/scope/node-file.d.ts +8 -0
- package/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
- package/daemon/dist/domain/scope/node-file.js +18 -0
- package/daemon/dist/domain/scope/node-file.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 +46 -4
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +79 -94
- 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/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +6 -0
- package/daemon/dist/domain/snapshot-capture.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 +59 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-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 +5 -1
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +65 -2
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +47 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +115 -6
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.js +3 -2
- package/daemon/dist/domain/watchdog-scheduler.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 +22 -26
- 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 +38 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +122 -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/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +9 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +61 -1
- package/daemon/dist/routes/bundles.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 +25 -12
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.js +38 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +73 -14
- 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/routes/views.d.ts.map +1 -1
- package/daemon/dist/routes/views.js +4 -1
- package/daemon/dist/routes/views.js.map +1 -1
- package/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/daemon/dist/routes/watchdog.js +40 -3
- package/daemon/dist/routes/watchdog.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 +30 -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 +227 -5
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +4 -4
- package/daemon/docs/reference/agent-state-taxonomy.md +101 -0
- package/daemon/docs/reference/chain-file-convention.md +2 -2
- package/daemon/docs/reference/knowledge-maturity.md +123 -0
- package/daemon/docs/reference/lore-routing.md +173 -0
- package/daemon/docs/reference/mission-install.md +194 -0
- package/daemon/docs/reference/planning-dial.md +55 -0
- package/daemon/docs/reference/product-management-pass.md +139 -0
- package/daemon/docs/reference/project-workspace.md +22 -14
- package/daemon/docs/reference/refocus-channel.md +27 -14
- package/daemon/docs/reference/release-boundary.md +88 -0
- package/daemon/docs/reference/sdlc-conventions.md +66 -82
- package/daemon/docs/reference/wave-sdlc.md +113 -0
- package/daemon/policies/builtin/standard.policy.md +3 -3
- package/daemon/policies/builtin/yolo.policy.md +7 -2
- package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +6 -13
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +98 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +118 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +19 -75
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -10
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +1 -1
- package/daemon/substance-surfaces.json +8 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/broadcast.d.ts.map +1 -1
- package/dist/commands/broadcast.js +6 -1
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/capture.js +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 +12 -1
- package/dist/commands/context.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/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +9 -13
- package/dist/commands/expand.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 +14 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +27 -8
- 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 +284 -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 +3 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +37 -16
- 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 +77 -189
- 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 +4 -1
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/watchdog.d.ts.map +1 -1
- package/dist/commands/watchdog.js +64 -8
- 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 +6 -5
- 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/host-registry.d.ts +2 -2
- package/dist/host-registry.js +2 -2
- 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 +46 -4
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +79 -94
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +26 -14
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +78 -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 +4 -2
- package/dist/lib/scope-templates/backlog-tech-debt.md +4 -2
- package/dist/lib/scope-templates/bug-fix.md +4 -2
- package/dist/lib/scope-templates/capability-delta.md +61 -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 +4 -2
- package/dist/lib/scope-templates/proof.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +4 -2
- package/dist/lib/scope-templates/research.md +4 -2
- 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/context-pack-taxonomy-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js +6 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +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 +12 -2
- 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/db/migrations/074_context_usage_watchdog.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +44 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +72 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.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/agent-manifest.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js +77 -15
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js +55 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js.map +1 -1
- 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/bundle-context-packs-router.d.ts +9 -2
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +13 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js +290 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.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/execution-view.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +707 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js +52 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js +9 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.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 +84 -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 +151 -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 +118 -1
- 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 +282 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +45 -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 +78 -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 +141 -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 +197 -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 +57 -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 +103 -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 +58 -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 +99 -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 +129 -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 +236 -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 +53 -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 +267 -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 +31 -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 +473 -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/graph-projection.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.js +6 -0
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +41 -3
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +65 -48
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +82 -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 +127 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js +12 -5
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js +153 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +58 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js +64 -0
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts +7 -5
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.js +19 -32
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.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 +72 -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 +93 -28
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +626 -90
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +8 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +100 -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 +485 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +49 -11
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +114 -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 +705 -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 +53 -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 +129 -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/restore-check-service.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +88 -15
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +37 -19
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.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-expansion-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js +10 -9
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.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 +21 -3
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js +74 -4
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +7 -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 +32 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +32 -4
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.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 +46 -4
- 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 +79 -94
- 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/snapshot-capture.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +6 -0
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.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 +59 -4
- 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 +5 -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 +65 -2
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +47 -1
- 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 +115 -6
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js +3 -2
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.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 +22 -26
- 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 +38 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +122 -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/agent-images.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/agent-images.js +9 -0
- package/node_modules/@openrig/daemon/dist/routes/agent-images.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.js +61 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.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 +25 -12
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +38 -2
- package/node_modules/@openrig/daemon/dist/routes/rigs.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 +73 -14
- 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/routes/views.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js +4 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js +40 -3
- package/node_modules/@openrig/daemon/dist/routes/watchdog.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 +30 -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 +227 -5
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +9 -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/demo-data.js +2 -2
- package/tui/dist/demo-data.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/skills/core/attention-queue/SKILL.md +0 -264
- package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +0 -9
- 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/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +0 -264
- 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
package/dist/commands/scope.js
CHANGED
|
@@ -7,18 +7,18 @@
|
|
|
7
7
|
// mission/slice frontmatter per §1 of that convention.
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import path from "node:path";
|
|
10
|
-
import { execFileSync } from "node:child_process";
|
|
11
10
|
import { Command } from "commander";
|
|
12
11
|
import { DaemonClient } from "../client.js";
|
|
13
12
|
import { attestationLineage } from "../lib/scope/attestation-lineage.js";
|
|
14
13
|
import { getDaemonStatus, getDaemonUrl, statusGuardMessage } from "../daemon-lifecycle.js";
|
|
15
14
|
import { realDeps } from "./daemon.js";
|
|
16
15
|
import { CLOSE_REASONS, MISSION_TEMPLATE_KINDS, SLICE_TEMPLATE_KINDS, STAGE_VALUES, ScopeCliError, } from "../lib/scope/types.js";
|
|
17
|
-
import { DEFAULT_PROJECT_PREFIX, inferMissionDotId, isMissionDotId, nextEscapeBandOrdinal, sliceIdFromMission, } from "../lib/scope/dot-id.js";
|
|
18
|
-
import { ensureMissionId, ensureMissionIdPersisted, findMission, resolveNodeFile, findSlice,
|
|
19
|
-
import {
|
|
16
|
+
import { DEFAULT_PROJECT_PREFIX, inferMissionDotId, isMissionDotId, isSliceDotId, nextEscapeBandOrdinal, sliceIdFromMission, } from "../lib/scope/dot-id.js";
|
|
17
|
+
import { buildMissionDependencyGraph, ensureMissionId, ensureMissionIdPersisted, findMission, resolveNodeFile, findSlice, listMissions, listSlices, moveSlice, nextSliceNN, NOTES_FILE_PRECEDENCE, pad2, readFrontmatter, resolveNotesFile, resolveMissionsRoot, splitFrontmatter, todayDateISO, updateFrontmatter, } from "../lib/scope/scope-fs.js";
|
|
18
|
+
import { renderCapabilityDeltaTemplate, renderNotesTemplate, renderMissionProgressTemplate, renderMissionTemplate, renderSliceProofTemplate, renderSliceProgressTemplate, renderSliceTemplate, titleFromSlug, } from "../lib/scope/templates.js";
|
|
20
19
|
import { addProgressRow, DEFAULT_PROGRESS_SECTION, parseStatus, PROGRESS_STATUSES, setProgressRow, } from "../lib/scope/progress-edit.js";
|
|
21
20
|
import { deriveScopeTrust } from "../lib/scope/trust.js";
|
|
21
|
+
import { capabilityDeltaExpiryFindings } from "../lib/scope/capability-delta.js";
|
|
22
22
|
function makeStdout() {
|
|
23
23
|
return { write: (text) => process.stdout.write(text) };
|
|
24
24
|
}
|
|
@@ -192,11 +192,13 @@ function buildSliceShowCommand() {
|
|
|
192
192
|
// ---------------------------------------------------------------------
|
|
193
193
|
function buildSliceCreateCommand() {
|
|
194
194
|
return new Command("create")
|
|
195
|
-
.description("Create a new slice
|
|
195
|
+
.description("Create a new slice with SPEC.md, PROGRESS.md, PROOF.md, and proof/. Conventions SSOT: docs/reference/sdlc-conventions.md (installed: $OPENRIG_HOME/reference/sdlc-conventions.md).")
|
|
196
196
|
.argument("<mission>", "Mission name")
|
|
197
197
|
.argument("<slug>", "Short slug (becomes the folder name's suffix)")
|
|
198
198
|
.option("--template <kind>", `Template: ${SLICE_TEMPLATE_KINDS.join(" | ")}`, "placeholder")
|
|
199
199
|
.option("--title <text>", "Display title (defaults to titlecased slug)")
|
|
200
|
+
.option("--intent <text>", "Authored intent stored in SPEC.md frontmatter (defaults to title)")
|
|
201
|
+
.option("--depends-on <dot-id...>", "Advisory build-order dependencies on sibling slice dot-IDs")
|
|
200
202
|
.option("--readme-only", "Write progress_rail: readme-only in README frontmatter instead of scaffolding PROGRESS.md")
|
|
201
203
|
.option("--json", "Machine-readable output")
|
|
202
204
|
.action(async (missionName, rawSlug, opts, command) => {
|
|
@@ -238,6 +240,17 @@ function buildSliceCreateCommand() {
|
|
|
238
240
|
}
|
|
239
241
|
const id = sliceIdFromMission(missionId, nn);
|
|
240
242
|
const title = opts.title ?? titleFromSlug(slug);
|
|
243
|
+
const intent = opts.intent ?? title;
|
|
244
|
+
const dependsOn = Array.isArray(opts.dependsOn) ? [...new Set(opts.dependsOn)] : [];
|
|
245
|
+
for (const dependency of dependsOn) {
|
|
246
|
+
if (!isSliceDotId(dependency) || !dependency.startsWith(`${missionId}.`)) {
|
|
247
|
+
throw new ScopeCliError({
|
|
248
|
+
fact: `Dependency "${dependency}" is not a sibling slice dot-ID under ${missionId}.`,
|
|
249
|
+
consequence: "Slice not created.",
|
|
250
|
+
action: `Use a sibling ID shaped like ${missionId}.<n>, or omit --depends-on.`,
|
|
251
|
+
});
|
|
252
|
+
}
|
|
253
|
+
}
|
|
241
254
|
const createdDate = todayDateISO();
|
|
242
255
|
const body = renderSliceTemplate(kind, {
|
|
243
256
|
id,
|
|
@@ -246,20 +259,10 @@ function buildSliceCreateCommand() {
|
|
|
246
259
|
mission: mission.name,
|
|
247
260
|
title,
|
|
248
261
|
created_date: createdDate,
|
|
262
|
+
intent,
|
|
263
|
+
depends_on: dependsOn,
|
|
249
264
|
});
|
|
250
265
|
const proofBody = renderSliceProofTemplate({ id, title });
|
|
251
|
-
// OPR.0.4.4.23 — every template kind also scaffolds the
|
|
252
|
-
// IMPLEMENTATION-PRD skeleton (convention sections + elastic-middle
|
|
253
|
-
// note): the PRD is what the Living Notes UI's proof-contract join
|
|
254
|
-
// reads, so a slice without one doesn't project its DELIVERED pairing.
|
|
255
|
-
const prdBody = renderImplementationPrdTemplate({
|
|
256
|
-
id,
|
|
257
|
-
slice_number: pad2(nn),
|
|
258
|
-
slug,
|
|
259
|
-
mission: mission.name,
|
|
260
|
-
title,
|
|
261
|
-
created_date: createdDate,
|
|
262
|
-
});
|
|
263
266
|
fs.mkdirSync(sliceAbs, { recursive: true });
|
|
264
267
|
fs.mkdirSync(path.join(sliceAbs, "proof"), { recursive: true });
|
|
265
268
|
// New scaffolds author SPEC.md; existing README-backed nodes are never rewritten.
|
|
@@ -275,7 +278,6 @@ function buildSliceCreateCommand() {
|
|
|
275
278
|
fs.writeFileSync(progressPath, renderSliceProgressTemplate(title), "utf8");
|
|
276
279
|
}
|
|
277
280
|
fs.writeFileSync(path.join(sliceAbs, "PROOF.md"), proofBody, "utf8");
|
|
278
|
-
fs.writeFileSync(path.join(sliceAbs, "IMPLEMENTATION-PRD.md"), prdBody, "utf8");
|
|
279
281
|
const payload = {
|
|
280
282
|
ok: true,
|
|
281
283
|
slice: {
|
|
@@ -474,7 +476,7 @@ function buildSliceMoveCommand() {
|
|
|
474
476
|
// ---------------------------------------------------------------------
|
|
475
477
|
function buildMissionLsCommand() {
|
|
476
478
|
return new Command("ls")
|
|
477
|
-
.description("List missions (top-level folders with README.md)")
|
|
479
|
+
.description("List missions (top-level folders with SPEC.md or a legacy README.md)")
|
|
478
480
|
.option("--json", "Machine-readable output")
|
|
479
481
|
.action(async (opts, command) => {
|
|
480
482
|
const out = makeStdout();
|
|
@@ -540,7 +542,7 @@ function buildMissionShowCommand() {
|
|
|
540
542
|
out.write(` closed slices: ${mission.closedSliceCount}\n`);
|
|
541
543
|
out.write(` path: ${mission.absPath}\n`);
|
|
542
544
|
if (readme) {
|
|
543
|
-
out.write(
|
|
545
|
+
out.write(`\n--- ${path.basename(mission.readmePath)} ---\n`);
|
|
544
546
|
out.write(readme);
|
|
545
547
|
if (!readme.endsWith("\n"))
|
|
546
548
|
out.write("\n");
|
|
@@ -559,7 +561,10 @@ function buildMissionCreateCommand() {
|
|
|
559
561
|
.option("--template <kind>", `Template: ${MISSION_TEMPLATE_KINDS.join(" | ")} (auto when name matches release-X.Y.Z)`, "")
|
|
560
562
|
.option("--id <dot-id>", "Explicit dot-ID. Overrides name-pattern inference.")
|
|
561
563
|
.option("--title <text>", "Display title (defaults to titlecased name)")
|
|
562
|
-
.option("--
|
|
564
|
+
.option("--intent <text>", "Authored intent stored in SPEC.md frontmatter (defaults to title)")
|
|
565
|
+
.option("--depends-on <dot-id...>", "Advisory build-order dependencies on sibling mission dot-IDs")
|
|
566
|
+
.option("--no-notes", "Skip NOTES.md scaffolding")
|
|
567
|
+
.option("--no-mission-notes", "Deprecated alias for --no-notes")
|
|
563
568
|
.option("--json", "Machine-readable output")
|
|
564
569
|
.action(async (rawName, opts, command) => {
|
|
565
570
|
const out = makeStdout();
|
|
@@ -619,15 +624,22 @@ function buildMissionCreateCommand() {
|
|
|
619
624
|
const ordinal = nextEscapeBandOrdinal(peers.map((p) => p.id));
|
|
620
625
|
id = inferMissionDotId(name, ordinal);
|
|
621
626
|
}
|
|
622
|
-
// Resolve titles + render templates
|
|
623
|
-
// effects
|
|
624
|
-
//
|
|
625
|
-
// OPENRIG_MISSION_NOTES_TEMPLATE_PATH used to throw AFTER
|
|
626
|
-
// mkdirSync + README write, leaking a half-created mission dir
|
|
627
|
-
// that future `mission create <same-name>` would reject as
|
|
628
|
-
// already-existing). Rendering MISSION_NOTES first means a
|
|
629
|
-
// stale env-var fails before any disk mutation.
|
|
627
|
+
// Resolve titles + render templates before any filesystem side
|
|
628
|
+
// effects. A stale current or legacy notes-template override must
|
|
629
|
+
// fail before mkdir, or it leaks a half-created mission directory.
|
|
630
630
|
const title = opts.title ?? titleFromSlug(name.replace(/^release-/, ""));
|
|
631
|
+
const intent = opts.intent ?? title;
|
|
632
|
+
const dependsOn = Array.isArray(opts.dependsOn) ? [...new Set(opts.dependsOn)] : [];
|
|
633
|
+
const project = id.split(".")[0];
|
|
634
|
+
for (const dependency of dependsOn) {
|
|
635
|
+
if (!isMissionDotId(dependency) || dependency.split(".")[0] !== project) {
|
|
636
|
+
throw new ScopeCliError({
|
|
637
|
+
fact: `Dependency "${dependency}" is not a sibling mission dot-ID in project ${project}.`,
|
|
638
|
+
consequence: "Mission not created.",
|
|
639
|
+
action: `Use a mission ID shaped like ${project}.<version>, or omit --depends-on.`,
|
|
640
|
+
});
|
|
641
|
+
}
|
|
642
|
+
}
|
|
631
643
|
const releaseVersion = isReleaseName ? name.replace(/^release-/, "") : "";
|
|
632
644
|
const readmeBody = renderMissionTemplate(templateKind, {
|
|
633
645
|
id,
|
|
@@ -636,18 +648,30 @@ function buildMissionCreateCommand() {
|
|
|
636
648
|
title,
|
|
637
649
|
created_date: todayDateISO(),
|
|
638
650
|
release_version: releaseVersion,
|
|
651
|
+
intent,
|
|
652
|
+
depends_on: dependsOn,
|
|
639
653
|
});
|
|
640
|
-
let
|
|
641
|
-
if (opts.missionNotes !== false) {
|
|
642
|
-
|
|
654
|
+
let notesRendered = null;
|
|
655
|
+
if (opts.notes !== false && opts.missionNotes !== false) {
|
|
656
|
+
notesRendered = renderNotesTemplate({
|
|
643
657
|
mission_id: id,
|
|
644
658
|
mission_name: title,
|
|
645
659
|
created_date: todayDateISO(),
|
|
646
660
|
});
|
|
647
|
-
missionNotesRendered = { rendered: r.rendered, resolvedFrom: r.resolvedFrom };
|
|
648
661
|
}
|
|
649
662
|
const progressBody = renderMissionProgressTemplate(title);
|
|
650
|
-
const
|
|
663
|
+
const capabilityDeltaBody = isReleaseName
|
|
664
|
+
? renderCapabilityDeltaTemplate({
|
|
665
|
+
id,
|
|
666
|
+
slug: name,
|
|
667
|
+
mission: name,
|
|
668
|
+
title,
|
|
669
|
+
created_date: todayDateISO(),
|
|
670
|
+
release_version: releaseVersion,
|
|
671
|
+
intent,
|
|
672
|
+
depends_on: dependsOn,
|
|
673
|
+
})
|
|
674
|
+
: null;
|
|
651
675
|
// All renders succeeded — safe to touch the filesystem.
|
|
652
676
|
fs.mkdirSync(absPath, { recursive: true });
|
|
653
677
|
fs.mkdirSync(path.join(absPath, "slices"), { recursive: true });
|
|
@@ -656,14 +680,16 @@ function buildMissionCreateCommand() {
|
|
|
656
680
|
fs.writeFileSync(readmePath, readmeBody, "utf8");
|
|
657
681
|
const progressPath = path.join(absPath, "PROGRESS.md");
|
|
658
682
|
fs.writeFileSync(progressPath, progressBody, "utf8");
|
|
659
|
-
const
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
683
|
+
const capabilityDeltaPath = capabilityDeltaBody
|
|
684
|
+
? path.join(absPath, `CAPABILITY-DELTA-v${releaseVersion}.md`)
|
|
685
|
+
: null;
|
|
686
|
+
if (capabilityDeltaPath && capabilityDeltaBody) {
|
|
687
|
+
fs.writeFileSync(capabilityDeltaPath, capabilityDeltaBody, "utf8");
|
|
688
|
+
}
|
|
689
|
+
let notesPath = null;
|
|
690
|
+
if (notesRendered) {
|
|
691
|
+
notesPath = path.join(absPath, "NOTES.md");
|
|
692
|
+
fs.writeFileSync(notesPath, notesRendered.rendered, "utf8");
|
|
667
693
|
}
|
|
668
694
|
const humanLines = [
|
|
669
695
|
`Created mission ${name}`,
|
|
@@ -671,8 +697,13 @@ function buildMissionCreateCommand() {
|
|
|
671
697
|
` template: ${templateKind}`,
|
|
672
698
|
` path: ${absPath}`,
|
|
673
699
|
];
|
|
674
|
-
if (
|
|
675
|
-
humanLines.push(`
|
|
700
|
+
if (notesPath) {
|
|
701
|
+
humanLines.push(` notes: ${notesPath} (template: ${notesRendered?.resolvedFrom})`);
|
|
702
|
+
}
|
|
703
|
+
if (capabilityDeltaPath)
|
|
704
|
+
humanLines.push(` capability delta: ${capabilityDeltaPath}`);
|
|
705
|
+
if (notesRendered?.resolvedFrom === "legacy-env") {
|
|
706
|
+
humanLines.push(" advisory: OPENRIG_MISSION_NOTES_TEMPLATE_PATH is deprecated; use OPENRIG_NOTES_TEMPLATE_PATH");
|
|
676
707
|
}
|
|
677
708
|
emit(out, {
|
|
678
709
|
ok: true,
|
|
@@ -682,9 +713,12 @@ function buildMissionCreateCommand() {
|
|
|
682
713
|
template: templateKind,
|
|
683
714
|
path: absPath,
|
|
684
715
|
readmePath,
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
716
|
+
notesPath,
|
|
717
|
+
capabilityDeltaPath,
|
|
718
|
+
notesResolvedFrom: notesRendered?.resolvedFrom ?? null,
|
|
719
|
+
advisories: notesRendered?.resolvedFrom === "legacy-env"
|
|
720
|
+
? ["OPENRIG_MISSION_NOTES_TEMPLATE_PATH is deprecated; use OPENRIG_NOTES_TEMPLATE_PATH"]
|
|
721
|
+
: [],
|
|
688
722
|
},
|
|
689
723
|
}, json, humanLines);
|
|
690
724
|
}
|
|
@@ -693,38 +727,62 @@ function buildMissionCreateCommand() {
|
|
|
693
727
|
}
|
|
694
728
|
});
|
|
695
729
|
}
|
|
730
|
+
function buildMissionGraphCommand() {
|
|
731
|
+
return new Command("graph")
|
|
732
|
+
.description("Show advisory sibling build-order edges and the current ready set")
|
|
733
|
+
.argument("<mission>", "Mission name")
|
|
734
|
+
.option("--json", "Machine-readable output")
|
|
735
|
+
.action(async (missionName, opts, command) => {
|
|
736
|
+
const out = makeStdout();
|
|
737
|
+
const json = Boolean(opts.json);
|
|
738
|
+
try {
|
|
739
|
+
const missionsRoot = resolveMissionsRoot({ override: getOpts(command).workspace });
|
|
740
|
+
const graph = buildMissionDependencyGraph(findMission(missionsRoot, missionName));
|
|
741
|
+
emit(out, { ok: true, graph }, json, [
|
|
742
|
+
`Ready: ${graph.ready.join(", ") || "(none)"}`,
|
|
743
|
+
...graph.waiting.map((row) => `Waiting: ${row.id} on ${row.on.join(", ")}`),
|
|
744
|
+
...graph.advisories.map((row) => `Advisory: ${row.id}${row.dependency ? ` -> ${row.dependency}` : ""}: ${row.message}`),
|
|
745
|
+
]);
|
|
746
|
+
}
|
|
747
|
+
catch (err) {
|
|
748
|
+
fail(err, json, out);
|
|
749
|
+
}
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
function buildResolveNotesCommand() {
|
|
753
|
+
return new Command("resolve-notes")
|
|
754
|
+
.description("Resolve the readable mission notes file for an absolute work-node directory")
|
|
755
|
+
.argument("<absolute-work-node-dir>", "Absolute mission or slice directory")
|
|
756
|
+
.option("--json", "Machine-readable JSON output")
|
|
757
|
+
.action((workNodeDir, opts) => {
|
|
758
|
+
const out = makeStdout();
|
|
759
|
+
const json = Boolean(opts.json);
|
|
760
|
+
try {
|
|
761
|
+
if (!path.isAbsolute(workNodeDir)) {
|
|
762
|
+
throw new ScopeCliError({
|
|
763
|
+
fact: `Work-node directory must be absolute: ${workNodeDir}`,
|
|
764
|
+
consequence: "Mission notes cannot be resolved from an ambiguous location.",
|
|
765
|
+
action: "Pass the absolute mission or slice directory.",
|
|
766
|
+
});
|
|
767
|
+
}
|
|
768
|
+
const resolution = resolveNotesFile(workNodeDir);
|
|
769
|
+
emit(out, { ok: true, resolution }, json, [
|
|
770
|
+
resolution
|
|
771
|
+
? `${resolution.name}: ${resolution.path}`
|
|
772
|
+
: `No readable mission notes at ${workNodeDir}`,
|
|
773
|
+
]);
|
|
774
|
+
}
|
|
775
|
+
catch (err) {
|
|
776
|
+
fail(err, json, out);
|
|
777
|
+
}
|
|
778
|
+
});
|
|
779
|
+
}
|
|
696
780
|
// ---------------------------------------------------------------------
|
|
697
781
|
// Audit (B2 — read-only scope audit)
|
|
698
782
|
// ---------------------------------------------------------------------
|
|
699
|
-
/**
|
|
700
|
-
* Files changed by the most recent commit (revision basis: HEAD), returned as
|
|
701
|
-
* ABSOLUTE resolved paths. Returns null when there is NO git context — the dir
|
|
702
|
-
* is not inside a repo, HEAD does not resolve (e.g. a fresh repo with no
|
|
703
|
-
* commits), or the git command fails. Callers then leave the
|
|
704
|
-
* committed-without-PROGRESS classifier inputs UNDEFINED, so the check stays
|
|
705
|
-
* inert: no false-green (we never assume "PROGRESS untouched" without evidence)
|
|
706
|
-
* and no false-positive (we never fire when we cannot see the commit).
|
|
707
|
-
*/
|
|
708
|
-
function gitHeadTouchedAbsPaths(dir) {
|
|
709
|
-
const topLevel = gitTopLevel(dir);
|
|
710
|
-
if (!topLevel)
|
|
711
|
-
return null;
|
|
712
|
-
try {
|
|
713
|
-
const out = execFileSync("git", ["-C", topLevel, "show", "--name-only", "--pretty=format:", "HEAD"], { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] });
|
|
714
|
-
const abs = out
|
|
715
|
-
.split(/\r?\n/)
|
|
716
|
-
.map((line) => line.trim())
|
|
717
|
-
.filter((line) => line.length > 0)
|
|
718
|
-
.map((rel) => path.resolve(topLevel, rel));
|
|
719
|
-
return new Set(abs);
|
|
720
|
-
}
|
|
721
|
-
catch {
|
|
722
|
-
return null;
|
|
723
|
-
}
|
|
724
|
-
}
|
|
725
783
|
function buildAuditCommand() {
|
|
726
784
|
return new Command("audit")
|
|
727
|
-
.description("Read-only scope audit: flag
|
|
785
|
+
.description("Read-only scope audit: flag scope findings and show the advisory dependency graph")
|
|
728
786
|
.requiredOption("--mission <name>", "Mission to audit")
|
|
729
787
|
.option("--json", "Machine-readable JSON output")
|
|
730
788
|
.action(async (opts, command) => {
|
|
@@ -740,11 +798,23 @@ function buildAuditCommand() {
|
|
|
740
798
|
}
|
|
741
799
|
const missionReadme = resolveNodeFile(missionDir) ?? path.join(missionDir, "SPEC.md");
|
|
742
800
|
const missionProgress = path.join(missionDir, "PROGRESS.md");
|
|
743
|
-
const
|
|
744
|
-
const
|
|
801
|
+
const missionNotesResolution = resolveNotesFile(missionDir);
|
|
802
|
+
const missionNotesPath = missionNotesResolution?.path
|
|
803
|
+
?? path.join(missionDir, NOTES_FILE_PRECEDENCE[0]);
|
|
745
804
|
const missionReadmeExists = fs.existsSync(missionReadme);
|
|
746
805
|
const missionProgressExists = fs.existsSync(missionProgress);
|
|
747
|
-
const
|
|
806
|
+
const auditMission = missionReadmeExists
|
|
807
|
+
? findMission(missionsRoot, missionName)
|
|
808
|
+
: {
|
|
809
|
+
name: missionName,
|
|
810
|
+
absPath: missionDir,
|
|
811
|
+
readmePath: null,
|
|
812
|
+
frontmatter: {},
|
|
813
|
+
id: null,
|
|
814
|
+
activeSliceCount: 0,
|
|
815
|
+
closedSliceCount: 0,
|
|
816
|
+
};
|
|
817
|
+
const graph = buildMissionDependencyGraph(auditMission);
|
|
748
818
|
let missionResult;
|
|
749
819
|
if (!missionReadmeExists && missionProgressExists) {
|
|
750
820
|
missionResult = {
|
|
@@ -753,8 +823,8 @@ function buildAuditCommand() {
|
|
|
753
823
|
kind: "orphan_progress",
|
|
754
824
|
severity: "high",
|
|
755
825
|
path: missionDir,
|
|
756
|
-
message: `PROGRESS.md exists but no README.md (orphan progress rail, no backing scope item)`,
|
|
757
|
-
remediation: `Add
|
|
826
|
+
message: `PROGRESS.md exists but no SPEC.md or legacy README.md (orphan progress rail, no backing scope item)`,
|
|
827
|
+
remediation: `Add SPEC.md with frontmatter id, or remove the orphan PROGRESS.md`,
|
|
758
828
|
}],
|
|
759
829
|
frontmatterError: null,
|
|
760
830
|
};
|
|
@@ -771,22 +841,16 @@ function buildAuditCommand() {
|
|
|
771
841
|
readmeOnlyMarker: false,
|
|
772
842
|
isActiveRelease: true,
|
|
773
843
|
level: "mission",
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
missionBriefContent: missionBriefExists ? fs.readFileSync(missionBrief, "utf-8") : null,
|
|
777
|
-
missionNotesExists: fs.existsSync(missionNotes),
|
|
778
|
-
missionNotesPath: missionNotes,
|
|
844
|
+
missionNotesResolution,
|
|
845
|
+
missionNotesPath,
|
|
779
846
|
});
|
|
780
847
|
}
|
|
781
848
|
const missionShadow = shadowedNodeFileFinding(missionDir, "mission");
|
|
782
849
|
if (missionShadow)
|
|
783
850
|
missionResult.findings.push(missionShadow);
|
|
851
|
+
missionResult.findings.push(...capabilityDeltaExpiryFindings(missionDir));
|
|
784
852
|
const slicesDir = path.join(missionDir, "slices");
|
|
785
853
|
const dogfoodEvidenceRoot = defaultDogfoodEvidenceRoot(missionsRoot);
|
|
786
|
-
// Git-derived input for the committed-without-PROGRESS check (CLI-only).
|
|
787
|
-
// Revision basis = the most recent commit (HEAD). null when git context
|
|
788
|
-
// is unavailable → the check is left inert per-slice below.
|
|
789
|
-
const headTouched = gitHeadTouchedAbsPaths(missionDir);
|
|
790
854
|
const sliceResults = [];
|
|
791
855
|
if (fs.existsSync(slicesDir)) {
|
|
792
856
|
for (const entry of fs.readdirSync(slicesDir)) {
|
|
@@ -807,8 +871,8 @@ function buildAuditCommand() {
|
|
|
807
871
|
kind: "orphan_progress",
|
|
808
872
|
severity: "high",
|
|
809
873
|
path: sliceDir,
|
|
810
|
-
message: `PROGRESS.md exists but no README.md (orphan progress rail, no backing scope item)`,
|
|
811
|
-
remediation: `Add
|
|
874
|
+
message: `PROGRESS.md exists but no SPEC.md or legacy README.md (orphan progress rail, no backing scope item)`,
|
|
875
|
+
remediation: `Add SPEC.md with frontmatter id, or remove the orphan PROGRESS.md`,
|
|
812
876
|
}],
|
|
813
877
|
frontmatterError: null,
|
|
814
878
|
},
|
|
@@ -831,23 +895,6 @@ function buildAuditCommand() {
|
|
|
831
895
|
const sliceReadmeContent = fs.readFileSync(sliceReadme, "utf-8");
|
|
832
896
|
const sliceFm = extractFrontmatterRaw(sliceReadmeContent);
|
|
833
897
|
const readmeOnlyMarker = sliceFm !== null && /^progress_rail\s*:\s*readme-only/m.test(sliceFm);
|
|
834
|
-
// committed-without-PROGRESS inputs (CLI-only; inert when git is
|
|
835
|
-
// unavailable — leave both undefined so the check does not fire).
|
|
836
|
-
// Normalize to realpath so a symlinked workspace (e.g. macOS
|
|
837
|
-
// /var → /private/var) still matches git's realpath'd output.
|
|
838
|
-
let sliceTouchedByRecentCommit;
|
|
839
|
-
let progressTouchedByRecentCommit;
|
|
840
|
-
if (headTouched) {
|
|
841
|
-
let realSliceDir = sliceDir;
|
|
842
|
-
try {
|
|
843
|
-
realSliceDir = fs.realpathSync(sliceDir);
|
|
844
|
-
}
|
|
845
|
-
catch { /* keep sliceDir */ }
|
|
846
|
-
const slicePrefix = realSliceDir.endsWith(path.sep) ? realSliceDir : realSliceDir + path.sep;
|
|
847
|
-
const realSliceProgress = path.join(realSliceDir, "PROGRESS.md");
|
|
848
|
-
sliceTouchedByRecentCommit = [...headTouched].some((p) => p === realSliceDir || p.startsWith(slicePrefix));
|
|
849
|
-
progressTouchedByRecentCommit = headTouched.has(realSliceProgress);
|
|
850
|
-
}
|
|
851
898
|
const sliceResult = classifyScopeItem({
|
|
852
899
|
id: null,
|
|
853
900
|
path: sliceDir,
|
|
@@ -862,12 +909,11 @@ function buildAuditCommand() {
|
|
|
862
909
|
proofDirPath: proofDir,
|
|
863
910
|
proofDirHasEntries: directoryHasEntries(proofDir),
|
|
864
911
|
hasProofPacket: hasProofPacketForSlice(dogfoodEvidenceRoot, entry),
|
|
865
|
-
sliceTouchedByRecentCommit,
|
|
866
|
-
progressTouchedByRecentCommit,
|
|
867
912
|
// OPR.0.4.4.19 FR-10 backstop inputs.
|
|
868
913
|
proofArtifacts: listProofArtifactsForAudit(proofDir),
|
|
869
914
|
implementationPrdExists: fs.existsSync(path.join(sliceDir, "IMPLEMENTATION-PRD.md")),
|
|
870
915
|
// OPR.0.4.4.23 convention-section advisory inputs.
|
|
916
|
+
nodeFileName: path.basename(sliceReadme),
|
|
871
917
|
readmeContent: sliceReadmeContent,
|
|
872
918
|
implementationPrdContent: fs.existsSync(path.join(sliceDir, "IMPLEMENTATION-PRD.md"))
|
|
873
919
|
? fs.readFileSync(path.join(sliceDir, "IMPLEMENTATION-PRD.md"), "utf-8")
|
|
@@ -907,6 +953,7 @@ function buildAuditCommand() {
|
|
|
907
953
|
// OPR.0.5.0.18 — amendment lineage (present only when re-stamped).
|
|
908
954
|
...(s.attestations ? { attestations: s.attestations } : {}),
|
|
909
955
|
})),
|
|
956
|
+
graph,
|
|
910
957
|
totalFindings: allFindings.length,
|
|
911
958
|
}, null, 2));
|
|
912
959
|
out.write("\n");
|
|
@@ -916,7 +963,14 @@ function buildAuditCommand() {
|
|
|
916
963
|
}
|
|
917
964
|
out.write(`Scope audit: ${missionName}\n`);
|
|
918
965
|
out.write(`Mission rail: ${missionResult.railStatus}\n`);
|
|
919
|
-
out.write(`Slices: ${sliceResults.length} total\n
|
|
966
|
+
out.write(`Slices: ${sliceResults.length} total\n`);
|
|
967
|
+
out.write(`Ready: ${graph.ready.join(", ") || "(none)"}\n`);
|
|
968
|
+
for (const row of graph.waiting)
|
|
969
|
+
out.write(`Waiting: ${row.id} on ${row.on.join(", ")}\n`);
|
|
970
|
+
for (const row of graph.advisories) {
|
|
971
|
+
out.write(`Advisory: ${row.id}${row.dependency ? ` -> ${row.dependency}` : ""}: ${row.message}\n`);
|
|
972
|
+
}
|
|
973
|
+
out.write("\n");
|
|
920
974
|
// OPR.0.5.0.18 — amendment lineage: a re-stamped slice shows the
|
|
921
975
|
// CURRENT attestation + prior-count (the append-only audit rows
|
|
922
976
|
// reconstruct the full history; this is the at-a-glance surface).
|
|
@@ -1228,9 +1282,9 @@ function buildSliceStageCommand() {
|
|
|
1228
1282
|
const slice = findSlice(missionsRoot, slicePath, opts.mission ?? null);
|
|
1229
1283
|
if (!slice.readmePath) {
|
|
1230
1284
|
throw new ScopeCliError({
|
|
1231
|
-
fact: `Slice ${slice.name} has no README.md.`,
|
|
1232
|
-
consequence: "Stage is a frontmatter field
|
|
1233
|
-
action: "Create the slice
|
|
1285
|
+
fact: `Slice ${slice.name} has no SPEC.md or legacy README.md.`,
|
|
1286
|
+
consequence: "Stage is a work-node frontmatter field; nothing to write.",
|
|
1287
|
+
action: "Create the slice with `rig scope slice create` before setting its stage.",
|
|
1234
1288
|
});
|
|
1235
1289
|
}
|
|
1236
1290
|
applyStage(slice.readmePath, stage, opts.successor);
|
|
@@ -1262,9 +1316,9 @@ function buildMissionStageCommand() {
|
|
|
1262
1316
|
const mission = findMission(missionsRoot, missionName);
|
|
1263
1317
|
if (!mission.readmePath) {
|
|
1264
1318
|
throw new ScopeCliError({
|
|
1265
|
-
fact: `Mission ${mission.name} has no README.md.`,
|
|
1266
|
-
consequence: "Stage is a frontmatter field
|
|
1267
|
-
action: "Create the mission
|
|
1319
|
+
fact: `Mission ${mission.name} has no SPEC.md or legacy README.md.`,
|
|
1320
|
+
consequence: "Stage is a work-node frontmatter field; nothing to write.",
|
|
1321
|
+
action: "Create the mission with `rig scope mission create` before setting its stage.",
|
|
1268
1322
|
});
|
|
1269
1323
|
}
|
|
1270
1324
|
applyStage(mission.readmePath, stage, opts.successor);
|
|
@@ -1296,9 +1350,9 @@ function buildSliceVerifiedCommand() {
|
|
|
1296
1350
|
const slice = findSlice(missionsRoot, slicePath, opts.mission ?? null);
|
|
1297
1351
|
if (!slice.readmePath) {
|
|
1298
1352
|
throw new ScopeCliError({
|
|
1299
|
-
fact: `Slice ${slice.name} has no README.md.`,
|
|
1300
|
-
consequence: "verified is a frontmatter field
|
|
1301
|
-
action: "Create the slice
|
|
1353
|
+
fact: `Slice ${slice.name} has no SPEC.md or legacy README.md.`,
|
|
1354
|
+
consequence: "verified is a work-node frontmatter field; nothing to write.",
|
|
1355
|
+
action: "Create the slice with `rig scope slice create` before stamping verified.",
|
|
1302
1356
|
});
|
|
1303
1357
|
}
|
|
1304
1358
|
const verified = `${todayDateISO()} against ${source}`;
|
|
@@ -1327,9 +1381,9 @@ function buildMissionVerifiedCommand() {
|
|
|
1327
1381
|
const mission = findMission(missionsRoot, missionName);
|
|
1328
1382
|
if (!mission.readmePath) {
|
|
1329
1383
|
throw new ScopeCliError({
|
|
1330
|
-
fact: `Mission ${mission.name} has no README.md.`,
|
|
1331
|
-
consequence: "verified is a frontmatter field
|
|
1332
|
-
action: "Create the mission
|
|
1384
|
+
fact: `Mission ${mission.name} has no SPEC.md or legacy README.md.`,
|
|
1385
|
+
consequence: "verified is a work-node frontmatter field; nothing to write.",
|
|
1386
|
+
action: "Create the mission with `rig scope mission create` before stamping verified.",
|
|
1333
1387
|
});
|
|
1334
1388
|
}
|
|
1335
1389
|
const verified = `${todayDateISO()} against ${source}`;
|
|
@@ -1359,16 +1413,34 @@ function mapLegacyStatusToStage(status) {
|
|
|
1359
1413
|
return "provisional";
|
|
1360
1414
|
return "wip";
|
|
1361
1415
|
}
|
|
1362
|
-
/**
|
|
1363
|
-
*
|
|
1364
|
-
*
|
|
1365
|
-
|
|
1416
|
+
/** Preserve a malformed value before repair replaces it with the conformant
|
|
1417
|
+
* representation. A pre-existing preservation key means a prior repair has
|
|
1418
|
+
* already recorded a different original; refusing is the only lossless move. */
|
|
1419
|
+
function preserveMalformedFrontmatterValue(frontmatter, updates, key) {
|
|
1420
|
+
if (!Object.prototype.hasOwnProperty.call(frontmatter, key))
|
|
1421
|
+
return;
|
|
1422
|
+
const preservedKey = `repair-original-${key.replaceAll("_", "-")}`;
|
|
1423
|
+
if (Object.prototype.hasOwnProperty.call(frontmatter, preservedKey)) {
|
|
1424
|
+
throw new ScopeCliError({
|
|
1425
|
+
fact: `${key} is malformed and ${preservedKey} already exists.`,
|
|
1426
|
+
consequence: "Repair refused rather than overwrite either authored value.",
|
|
1427
|
+
action: `Resolve ${key} manually and retain ${preservedKey} as the prior-value record, then re-run repair.`,
|
|
1428
|
+
});
|
|
1429
|
+
}
|
|
1430
|
+
updates[preservedKey] = frontmatter[key];
|
|
1431
|
+
}
|
|
1432
|
+
/** Idempotently conform a scope README's mandatory frontmatter. Adds absent
|
|
1433
|
+
* fields and replaces malformed ones only after preserving their values under
|
|
1434
|
+
* repair-original-* keys. A valid id/stage/verified is never touched.
|
|
1435
|
+
* `mintId` is called only when `id` is absent or malformed (it may persist a
|
|
1436
|
+
* parent id per §1 lazy adoption). */
|
|
1366
1437
|
function conformReadmeFrontmatter(readmePath, mintId) {
|
|
1367
1438
|
const fm = readFrontmatter(readmePath);
|
|
1368
1439
|
const updates = {};
|
|
1369
1440
|
let idAdded = null;
|
|
1370
|
-
const hasId = typeof fm.id === "string" && fm.id.length > 0;
|
|
1441
|
+
const hasId = typeof fm.id === "string" && fm.id.trim().length > 0;
|
|
1371
1442
|
if (!hasId) {
|
|
1443
|
+
preserveMalformedFrontmatterValue(fm, updates, "id");
|
|
1372
1444
|
const minted = mintId();
|
|
1373
1445
|
if (minted) {
|
|
1374
1446
|
idAdded = minted;
|
|
@@ -1376,12 +1448,16 @@ function conformReadmeFrontmatter(readmePath, mintId) {
|
|
|
1376
1448
|
}
|
|
1377
1449
|
}
|
|
1378
1450
|
let stageAdded = null;
|
|
1379
|
-
|
|
1451
|
+
const hasStage = typeof fm.stage === "string" && STAGE_VALUES.includes(fm.stage);
|
|
1452
|
+
if (!hasStage) {
|
|
1453
|
+
preserveMalformedFrontmatterValue(fm, updates, "stage");
|
|
1380
1454
|
stageAdded = mapLegacyStatusToStage(fm.status);
|
|
1381
1455
|
updates.stage = stageAdded;
|
|
1382
1456
|
}
|
|
1383
1457
|
let verifiedAdded = null;
|
|
1384
|
-
|
|
1458
|
+
const hasVerified = typeof fm.verified === "string" && fm.verified.trim().length > 0;
|
|
1459
|
+
if (!hasVerified) {
|
|
1460
|
+
preserveMalformedFrontmatterValue(fm, updates, "verified");
|
|
1385
1461
|
verifiedAdded = `${todayDateISO()} against backfill (rig scope repair)`;
|
|
1386
1462
|
updates.verified = verifiedAdded;
|
|
1387
1463
|
}
|
|
@@ -1424,11 +1500,16 @@ function buildSliceRepairCommand() {
|
|
|
1424
1500
|
const json = Boolean(opts.json);
|
|
1425
1501
|
try {
|
|
1426
1502
|
const missionsRoot = resolveMissionsRoot({ override: getOpts(command).workspace });
|
|
1427
|
-
const
|
|
1503
|
+
const legacySlice = findSlice(missionsRoot, slicePath, opts.mission ?? null);
|
|
1504
|
+
const specPath = ensureCurrentSpec(legacySlice.absPath, legacySlice.readmePath, legacySlice.name);
|
|
1505
|
+
const slice = findSlice(missionsRoot, legacySlice.absPath, opts.mission ?? null);
|
|
1428
1506
|
const result = backfillScopeProgress(slice.absPath, "slice");
|
|
1429
|
-
const frontmatter =
|
|
1430
|
-
? conformReadmeFrontmatter(
|
|
1507
|
+
const frontmatter = specPath
|
|
1508
|
+
? conformReadmeFrontmatter(specPath, mintSliceIdClosure(slice, missionsRoot))
|
|
1431
1509
|
: { idAdded: null, stageAdded: null, verifiedAdded: null, changed: false };
|
|
1510
|
+
if (specPath)
|
|
1511
|
+
ensureConventionFrontmatter(specPath, slice.name);
|
|
1512
|
+
ensureSliceProofSurface(slice.absPath, readFrontmatter(specPath ?? "").id, slice.name);
|
|
1432
1513
|
emit(out, { ok: true, result, frontmatter }, json, [
|
|
1433
1514
|
`${result.created ? "Backfilled" : "Skipped"} ${slice.name}: ${result.reason}`,
|
|
1434
1515
|
...(result.path ? [` path: ${result.path}`] : []),
|
|
@@ -1450,6 +1531,8 @@ function buildMissionRepairCommand() {
|
|
|
1450
1531
|
const json = Boolean(opts.json);
|
|
1451
1532
|
try {
|
|
1452
1533
|
const missionsRoot = resolveMissionsRoot({ override: getOpts(command).workspace });
|
|
1534
|
+
const legacyMission = findMission(missionsRoot, missionName);
|
|
1535
|
+
const missionSpec = ensureCurrentSpec(legacyMission.absPath, legacyMission.readmePath, legacyMission.name);
|
|
1453
1536
|
const mission = findMission(missionsRoot, missionName);
|
|
1454
1537
|
const results = [];
|
|
1455
1538
|
results.push(backfillScopeProgress(mission.absPath, "mission"));
|
|
@@ -1465,15 +1548,21 @@ function buildMissionRepairCommand() {
|
|
|
1465
1548
|
// the mission id), then each slice (child ids derive from the now-
|
|
1466
1549
|
// persisted parent id).
|
|
1467
1550
|
const conformed = [];
|
|
1468
|
-
if (
|
|
1469
|
-
const fm = conformReadmeFrontmatter(
|
|
1551
|
+
if (missionSpec) {
|
|
1552
|
+
const fm = conformReadmeFrontmatter(missionSpec, () => ensureMissionId(mission, missionsRoot));
|
|
1553
|
+
ensureConventionFrontmatter(missionSpec, mission.name);
|
|
1470
1554
|
conformed.push({ scope: "mission", name: mission.name, frontmatter: fm });
|
|
1471
1555
|
}
|
|
1472
1556
|
const freshMission = findMission(missionsRoot, mission.name);
|
|
1557
|
+
ensureMissionNotesSurface(freshMission.absPath, freshMission);
|
|
1473
1558
|
for (const slice of listSlices(freshMission, "all")) {
|
|
1474
|
-
|
|
1559
|
+
const specPath = ensureCurrentSpec(slice.absPath, slice.readmePath, slice.name);
|
|
1560
|
+
if (!specPath)
|
|
1475
1561
|
continue;
|
|
1476
|
-
const fm = conformReadmeFrontmatter(
|
|
1562
|
+
const fm = conformReadmeFrontmatter(specPath, mintSliceIdClosure(slice, missionsRoot));
|
|
1563
|
+
ensureConventionFrontmatter(specPath, slice.name);
|
|
1564
|
+
backfillScopeProgress(slice.absPath, "slice");
|
|
1565
|
+
ensureSliceProofSurface(slice.absPath, readFrontmatter(specPath).id, slice.name);
|
|
1477
1566
|
conformed.push({ scope: "slice", name: slice.name, frontmatter: fm });
|
|
1478
1567
|
}
|
|
1479
1568
|
const created = results.filter((r) => r.created);
|
|
@@ -1489,6 +1578,63 @@ function buildMissionRepairCommand() {
|
|
|
1489
1578
|
}
|
|
1490
1579
|
});
|
|
1491
1580
|
}
|
|
1581
|
+
/** Add the current authored node beside a legacy README without touching the
|
|
1582
|
+
* legacy file. Existing SPEC bytes stay in place. */
|
|
1583
|
+
function ensureCurrentSpec(dir, nodePath, fallbackName) {
|
|
1584
|
+
const specPath = path.join(dir, "SPEC.md");
|
|
1585
|
+
if (fs.existsSync(specPath))
|
|
1586
|
+
return specPath;
|
|
1587
|
+
if (!nodePath || !fs.existsSync(nodePath))
|
|
1588
|
+
return null;
|
|
1589
|
+
fs.copyFileSync(nodePath, specPath);
|
|
1590
|
+
ensureConventionFrontmatter(specPath, fallbackName);
|
|
1591
|
+
return specPath;
|
|
1592
|
+
}
|
|
1593
|
+
function ensureConventionFrontmatter(specPath, fallbackName) {
|
|
1594
|
+
const content = fs.readFileSync(specPath, "utf8");
|
|
1595
|
+
const { frontmatter, body } = splitFrontmatter(content);
|
|
1596
|
+
const h2Intent = /^## Intent\s*\n+([\s\S]*?)(?=\n## |$)/m.exec(body)?.[1]?.trim();
|
|
1597
|
+
const h1 = /^#\s+(.+)$/m.exec(body)?.[1]?.trim();
|
|
1598
|
+
const updates = {};
|
|
1599
|
+
if (!(typeof frontmatter.intent === "string" && frontmatter.intent.trim().length > 0)) {
|
|
1600
|
+
preserveMalformedFrontmatterValue(frontmatter, updates, "intent");
|
|
1601
|
+
updates.intent = h2Intent && !/^\[.*\]$/.test(h2Intent)
|
|
1602
|
+
? h2Intent
|
|
1603
|
+
: h1 ?? titleFromSlug(fallbackName.replace(/^\d+-/, ""));
|
|
1604
|
+
}
|
|
1605
|
+
if (!Array.isArray(frontmatter.depends_on)) {
|
|
1606
|
+
preserveMalformedFrontmatterValue(frontmatter, updates, "depends_on");
|
|
1607
|
+
updates.depends_on = [];
|
|
1608
|
+
}
|
|
1609
|
+
if (Object.keys(updates).length > 0)
|
|
1610
|
+
updateFrontmatter(specPath, updates);
|
|
1611
|
+
}
|
|
1612
|
+
function ensureMissionNotesSurface(dir, mission) {
|
|
1613
|
+
const notesPath = path.join(dir, NOTES_FILE_PRECEDENCE[0]);
|
|
1614
|
+
const resolved = resolveNotesFile(dir);
|
|
1615
|
+
if (resolved?.name === NOTES_FILE_PRECEDENCE[0])
|
|
1616
|
+
return;
|
|
1617
|
+
if (resolved) {
|
|
1618
|
+
fs.copyFileSync(resolved.path, notesPath);
|
|
1619
|
+
return;
|
|
1620
|
+
}
|
|
1621
|
+
const rendered = renderNotesTemplate({
|
|
1622
|
+
mission_id: mission.id ?? mission.name,
|
|
1623
|
+
mission_name: typeof mission.frontmatter.intent === "string" ? mission.frontmatter.intent : mission.name,
|
|
1624
|
+
created_date: todayDateISO(),
|
|
1625
|
+
});
|
|
1626
|
+
fs.writeFileSync(notesPath, rendered.rendered, "utf8");
|
|
1627
|
+
}
|
|
1628
|
+
function ensureSliceProofSurface(dir, rawId, fallbackName) {
|
|
1629
|
+
fs.mkdirSync(path.join(dir, "proof"), { recursive: true });
|
|
1630
|
+
const proofPath = path.join(dir, "PROOF.md");
|
|
1631
|
+
if (fs.existsSync(proofPath))
|
|
1632
|
+
return;
|
|
1633
|
+
fs.writeFileSync(proofPath, renderSliceProofTemplate({
|
|
1634
|
+
id: typeof rawId === "string" ? rawId : fallbackName,
|
|
1635
|
+
title: titleFromSlug(fallbackName.replace(/^\d+-/, "")),
|
|
1636
|
+
}), "utf8");
|
|
1637
|
+
}
|
|
1492
1638
|
// ---------------------------------------------------------------------
|
|
1493
1639
|
// Approve (OPR.0.4.4.19 FR-9)
|
|
1494
1640
|
// ---------------------------------------------------------------------
|
|
@@ -1663,12 +1809,14 @@ export function scopeCommand() {
|
|
|
1663
1809
|
mission.addCommand(buildMissionLsCommand());
|
|
1664
1810
|
mission.addCommand(buildMissionShowCommand());
|
|
1665
1811
|
mission.addCommand(buildMissionCreateCommand());
|
|
1812
|
+
mission.addCommand(buildMissionGraphCommand());
|
|
1666
1813
|
mission.addCommand(buildMissionProgressCommand());
|
|
1667
1814
|
mission.addCommand(buildMissionRepairCommand());
|
|
1668
1815
|
mission.addCommand(buildMissionStageCommand());
|
|
1669
1816
|
mission.addCommand(buildMissionVerifiedCommand());
|
|
1670
1817
|
mission.addCommand(buildApproveCommand("mission"));
|
|
1671
1818
|
cmd.addCommand(mission);
|
|
1819
|
+
cmd.addCommand(buildResolveNotesCommand());
|
|
1672
1820
|
cmd.addCommand(buildAuditCommand());
|
|
1673
1821
|
return cmd;
|
|
1674
1822
|
}
|