@openrig/cli 0.5.5 → 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/plugins/openrig-core/hooks/scripts/refocus.cjs +81 -4
- 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 +24 -25
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +5 -12
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +36 -117
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +9 -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/scripts/trace-to-root.py +50 -7
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +29 -9
- 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 +4 -1
- package/daemon/context-packs/onboarding-width/public-reference-material.md +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +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/SKILL.md +15 -21
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +4 -3
- 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 +15 -2
- package/daemon/context-packs/world-example/your-world.md +19 -2
- 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/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 +8 -2
- package/daemon/dist/db/all-migrations.js.map +1 -1
- 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/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/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/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-subsystem.d.ts +6 -2
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.js +5 -3
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts +9 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +32 -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/daemon/dist/domain/gateway/slack/config.d.ts +3 -2
- package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/config.js +20 -4
- package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +34 -6
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +60 -9
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +12 -5
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +10 -5
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.js +46 -19
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts +29 -6
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.js +41 -3
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +9 -3
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +132 -12
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +10 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +286 -11
- package/daemon/dist/domain/gateway/slack/slack-subsystem.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 +45 -48
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +1 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/daemon/dist/domain/parked-query.js +1 -0
- package/daemon/dist/domain/parked-query.js.map +1 -1
- 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.map +1 -1
- package/daemon/dist/domain/queue-pickup.js +5 -0
- package/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +55 -18
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +387 -83
- 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 +24 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +161 -24
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- 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 +20 -2
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +187 -15
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.d.ts +16 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +52 -3
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- 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/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 +4 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +14 -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/scope-audit.d.ts +5 -2
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +3 -3
- package/daemon/dist/domain/scope/scope-audit.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/types.d.ts +26 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.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 +24 -0
- 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 +40 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +112 -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/workspace-doctor.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +2 -4
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/index.d.ts +9 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +24 -1
- package/daemon/dist/index.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/gateway.js +1 -1
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +22 -11
- 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.js +6 -6
- package/daemon/dist/routes/scope-audit.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.map +1 -1
- package/daemon/dist/server.js +5 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +194 -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 +8 -13
- 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/release-boundary.md +88 -0
- package/daemon/docs/reference/sdlc-conventions.md +42 -69
- 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/agent-startup-and-context-ingestion/SKILL.md +1 -1
- 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/pm/requirements-writer/SKILL.md +15 -21
- 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 +2 -2
- 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/context.d.ts.map +1 -1
- package/dist/commands/context.js +12 -1
- package/dist/commands/context.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/ps.d.ts +4 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +15 -7
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +40 -11
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.d.ts +2 -0
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +24 -2
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +4 -2
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +3 -0
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/watchdog.d.ts.map +1 -1
- package/dist/commands/watchdog.js +64 -9
- package/dist/commands/watchdog.js.map +1 -1
- package/dist/cross-host-target.js +1 -1
- package/dist/cross-host-target.js.map +1 -1
- package/dist/host-registry.d.ts +2 -2
- package/dist/host-registry.js +2 -2
- package/dist/lib/scope/scope-audit.d.ts +4 -1
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +3 -3
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +8 -0
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +18 -0
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +1 -1
- package/dist/lib/scope-templates/backlog-tech-debt.md +1 -1
- package/dist/lib/scope-templates/bug-fix.md +1 -1
- package/dist/lib/scope-templates/capability-delta.md +1 -0
- package/dist/lib/scope-templates/placeholder.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +1 -1
- package/dist/lib/scope-templates/research.md +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 +8 -2
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
- 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/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/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/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-subsystem.d.ts +6 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +5 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +9 -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 +32 -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 +3 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +20 -4
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +34 -6
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +60 -9
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +12 -5
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +10 -5
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +46 -19
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts +29 -6
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +41 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +9 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +132 -12
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +286 -11
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.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 +45 -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 +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -1
- 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.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +5 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +55 -18
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +387 -83
- 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 +24 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +161 -24
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- 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 +20 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +187 -15
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +16 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +52 -3
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- 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/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 +4 -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 +14 -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/scope-audit.d.ts +5 -2
- 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 +3 -3
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.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/types.d.ts +26 -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/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 +24 -0
- 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 +40 -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 +112 -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/workspace-doctor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +2 -4
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +24 -1
- package/node_modules/@openrig/daemon/dist/index.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/gateway.js +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.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 +22 -11
- 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.js +6 -6
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.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.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +5 -0
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +194 -5
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +5 -1
- package/package.json +1 -1
- package/tui/dist/demo-data.js +2 -2
- package/tui/dist/demo-data.js.map +1 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/CHANGELOG.md +0 -92
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/REVISION-GUIDE.md +0 -34
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROADMAP.md +0 -23
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/ROLLOUT.md +0 -234
- 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/specs/agents/shared/skills/core/attention-queue/SKILL.md +0 -264
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
# SDLC conventions — the markdown control plane
|
|
2
2
|
|
|
3
|
-
> **
|
|
4
|
-
>
|
|
5
|
-
>
|
|
6
|
-
>
|
|
7
|
-
> THIS repo document is the living SSOT for the SDLC conventions going
|
|
8
|
-
> forward**; the corrective spec is the historical design record. Scaffold
|
|
9
|
-
> templates, the advisory scope audit, the `mission-slice-sop` skill, and the
|
|
10
|
-
> shipped bootstrap overlay all point HERE — they must not restate this
|
|
11
|
-
> document in full (restatement is how drift is born).
|
|
3
|
+
> **Source of truth:** this repo document is the living SSOT for the SDLC
|
|
4
|
+
> conventions. Scaffold templates, the advisory scope audit, the
|
|
5
|
+
> `mission-slice-sop` skill, and the shipped bootstrap overlay all point HERE —
|
|
6
|
+
> they must not restate this document in full (restatement is how drift is born).
|
|
12
7
|
|
|
13
8
|
OpenRig is a software factory the human steers from a high altitude. The human
|
|
14
9
|
records intent; agents turn intent into a plan, the plan into a build, the
|
|
@@ -18,47 +13,41 @@ conventions define "well-formed." Everything here is **advisory / fail-open
|
|
|
18
13
|
for agents**: nothing below blocks a write; the audit records and advises.
|
|
19
14
|
|
|
20
15
|
|
|
21
|
-
## WHERE YOU ARE DECIDES WHICH LOOP YOU RUN — the VM inner loop vs the host outer loop
|
|
22
|
-
|
|
23
|
-
The parent host's SDLC was being applied wholesale to the VM. **They are different worlds with
|
|
24
|
-
different responsibilities**, and conflating them is what turned this document into friction.
|
|
25
|
-
|
|
26
|
-
| | **INNER LOOP — the VM** | **OUTER LOOP — the parent host** |
|
|
27
|
-
|---|---|---|
|
|
28
|
-
| **question it answers** | *does it actually work?* | *does what was delivered match what was intended?* |
|
|
29
|
-
| **method** | ground → fix → upgrade in place → **run it and look** → iterate | intent-vs-delivered comparison, commit-message review, privacy/leak scrub, release management, publish |
|
|
30
|
-
| **definition of done** | to the best of our knowledge the code is **completely functional and works**, and needs **no heavy refactoring** to be release-ready | the release is shippable and honest |
|
|
31
|
-
| **ceremony** | **Part A only.** Part B is not the default here. | **Part B applies.** The release itself earns it. |
|
|
32
|
-
|
|
33
|
-
**WHY the ceremony belongs there and not here — the rule that makes this self-enforcing:** the
|
|
34
|
-
proof ceremony is a **protocol for transmitting confidence to someone who was not there.**
|
|
35
|
-
Plan-lock, proof contracts, C1 drops and intent-vs-delivered all exist so a reader who did NOT
|
|
36
|
-
watch the work happen can verify that it did. On the host that is exactly the situation, so the
|
|
37
|
-
artifacts must carry the confidence. **On the VM the builder IS there** — they ran it and looked at
|
|
38
|
-
it. Running the ceremony there re-encodes, at high cost, something already known, for an audience
|
|
39
|
-
standing in the room.
|
|
40
|
-
|
|
41
|
-
**WHERE A FIX GOES — go where the validation is POSSIBLE, not where the ceremony lives:**
|
|
42
|
-
|
|
43
|
-
- **Needs a live daemon to verify → the VM.** That is the only place it CAN be verified. (Worked
|
|
44
|
-
example: proving the ACTIVITY telemetry was really fixed required cutting the runtime over and
|
|
45
|
-
reading real values; no amount of host-side review could establish it.)
|
|
46
|
-
- **Verifiable by reading — docs, comment scrubs, message hygiene → the host.**
|
|
47
|
-
|
|
48
|
-
**The VM's north star for a release:** hand the host code that, to the best of our knowledge, is
|
|
49
|
-
completely functional and works. Not a proof pack. **Effect-verified functionality.**
|
|
50
|
-
|
|
51
|
-
|
|
52
16
|
## HOW TO READ THIS DOCUMENT — two parts, and only one of them is the default
|
|
53
17
|
|
|
54
18
|
| | applies | contents |
|
|
55
19
|
|---|---|---|
|
|
56
20
|
| **PART A — THE SIMPLE SDLC** | **ALWAYS. This is the default.** | artifact conventions, proportionality, the advisory audit, the honesty rails |
|
|
57
|
-
| **PART B — THE RIGOROUS OVERLAY** | **ONLY when the
|
|
21
|
+
| **PART B — THE RIGOROUS OVERLAY** | **ONLY when the human operator, or an orchestrator relaying that decision, ASSIGNS the heavy path to a NAMED piece of work** | the proof-contract format, the two locks, C1 proof drops, the locked role contracts |
|
|
58
22
|
|
|
59
23
|
**You may not select Part B for yourself.** If you believe something earns it, say so in ONE
|
|
60
24
|
sentence and continue on Part A until told otherwise. Part A corresponds to the `mission-slice-sop`
|
|
61
|
-
skill; Part B
|
|
25
|
+
skill; Part B is defined below and applies only when assigned.
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
## THE COMPONENT MENU — this document is a menu, not a pipeline
|
|
29
|
+
|
|
30
|
+
The SDLC is assembled from **components chosen per mission**, not a single mandated flow.
|
|
31
|
+
This document describes the components and carries recommendations; a mission (or the team
|
|
32
|
+
running it) picks per phase. Multiple valid options can exist for the same phase — choosing
|
|
33
|
+
one does not deprecate the others. Nothing below deletes or overrides an existing component.
|
|
34
|
+
|
|
35
|
+
| phase | components available today |
|
|
36
|
+
|---|---|
|
|
37
|
+
| **PRODUCT / MISSION PREPARATION** | **The product-management pass** — the layer above planning, run by the advisor/PM seat before planners touch a mission. The build is a lossy compression pipeline (PM intent → planner spec → builder code); nothing leaks downward by proximity, so this pass grounds in the raw sources, synthesizes ONE scope of record, presents owner decisions decision-ready, mints slices at plan time, deposits the full design contract INLINE in each design-bearing spec (owner words verbatim, settled decisions, evidence, shape of done, anti-goals), routes the complete reading list and internet-research assignments from the spec itself, frames each slice's planning-dial rung with its reason, and rereads every spec as the narrow downstream reader. The measuring stick: SPEC.md alone, plus what it explicitly routes to, reproduces the intent in a reader with none of the author's context. Full reference: `product-management-pass.md`. |
|
|
38
|
+
| **PLAN** | **The planning dial** — planning rigor is a spectrum chosen per piece: P0 mini-requirements and pointers (simple, reversible work) · P1 an authored spec with a proof contract (the default) · P2 plus a research round before the spec freezes, run BEFORE build dispatch · P3 plus an adversarial pass by a non-author, judged against product goals, landing amendments with proof-contract teeth · P4 plus a blind from-scratch design diffed against priors before proceeding. Dial up by what the piece is, exactly as build care is priced below. Full reference: `planning-dial.md`. |
|
|
39
|
+
| **BUILD** | **Part A, the simple flow** (below — the default) · **the wave model** — slices build in parallel in disjoint file territories, an integrator merges serially, and independent review fires once per wave (two reviewers with different vantages, never the writers; fix rounds re-earn verdicts at one final revision; per-slice discipline stays failing-test-first and verify-by-effect). The wave IS the care dial: what shares a wave decides how much review each piece gets · **Part B, the rigorous overlay** (below — only when assigned). These combine: a wave can carry one Part-B piece. Full wave reference: `wave-sdlc.md`. |
|
|
40
|
+
| **DISPATCH DATA** | **The execution-data conventions (S27)** — three tiny data disciplines that make execution state derivable instead of hand-tabulated, consumed by `rig view show execution`. **EC-1, edges in frontmatter:** every open slice carries its hard edges in `depends_on:` (an inline JSON array; an explicit `[]` is a statement, absence is INDETERMINATE); soft/serialization edges are one machine-readable Territory line, exactly `SOFT-AFTER: [ids] — reason`. **EC-2, wave-as-data:** wave composition + review model live on a durable queue row tagged `wave-map` + `format:wave-map-v1` whose body carries one fenced ```json block (`{format:"wave-map-v1", mission, waves:[{id, slices, serialized_order?, review_model?}]}`) — composition only, never status labels (status derives at read time); the planning dial recorded at lock surfaces as the frontmatter field `approved-spec-dial:` beside the approve stamp. **EC-3, dispatch names the worktree:** build batons carry the exact body line `worktree_path=<path>` from dispatch onward — it is Q1's join key; batons without it join by naming only and the view marks them `fragile_join`. Existing batons are never rewritten. |
|
|
41
|
+
| **RELEASE** | The release ceremony conventions (publication identity, honest release notes) and the CAPABILITY-DELTA LIFECYCLE LAW: each release's delta is authored at the fence, bound to the exact published cut; canon absorbs its named items; the canon header then names the delta, which expires it — verify the expiry fired, and never cite an expired delta. Full statement: `release-boundary.md` §6. |
|
|
42
|
+
| **BOUNDARY** | **The release boundary** — housekeeping run once per fence so the next release starts clean: seats reset or re-primed per their continuity needs, memory distilled (keep what changed a decision recently), every queue swept by destination and dispositioned, substrate torn down, boards frozen as records, a clean-box baseline captured. A checklist of judgment guides, not gates. Full reference: `release-boundary.md`. |
|
|
43
|
+
|
|
44
|
+
> Full reference documents for each component (graduated 2026-08-28): the
|
|
45
|
+
> product-management pass — `product-management-pass.md` · the
|
|
46
|
+
> planning dial — `planning-dial.md` · the wave model — `wave-sdlc.md` · the release
|
|
47
|
+
> boundary (including the capability-delta lifecycle law) — `release-boundary.md` ·
|
|
48
|
+
> the mission install — `mission-install.md` (lands with its own slice). The
|
|
49
|
+
> summaries above remain the one-glance description; this document remains the SSOT
|
|
50
|
+
> pointer for the whole menu.
|
|
62
51
|
|
|
63
52
|
# PART A — THE SIMPLE SDLC (applies always)
|
|
64
53
|
|
|
@@ -92,7 +81,7 @@ Each slice directory carries:
|
|
|
92
81
|
- **`## Intent`** — the recorded intent, verbatim. The UI projects this
|
|
93
82
|
text as the INTENT section.
|
|
94
83
|
- **`## Mini-requirements`** — the concise, one-glance requirement tier
|
|
95
|
-
(numbered list). This is the
|
|
84
|
+
(numbered list). This is the human operator's first structured catchpoint;
|
|
96
85
|
approval starts here.
|
|
97
86
|
- **`## Proof contract`** — a checkbox list of promised deliverables (see
|
|
98
87
|
§3). The UI's DELIVERED section pairs each item with its proof.
|
|
@@ -149,21 +138,9 @@ either being wrong (for example, one over the frontmatter block and one over
|
|
|
149
138
|
the whole file). Coverage is what makes a cited hash verifiable rather than
|
|
150
139
|
merely impressive.
|
|
151
140
|
|
|
152
|
-
**
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
- **path:** `artifact-cross-citation-path-plus-lineage.md` (internal authoring convention — not shipped in this public repo)
|
|
157
|
-
- **anchor:** *A cited hash STATES ITS COVERAGE — span is part of the definition*
|
|
158
|
-
(2026-08-08)
|
|
159
|
-
- **hash:** `sha256 14d9a273d542648ab1e0a82c7fd98e8a8c59cb02a83be76b8af9abfb717b34d2`
|
|
160
|
-
— **coverage: WHOLE FILE, bytes as stored, INCLUDING the trailing newline**
|
|
161
|
-
(0x0a terminal byte verified), 229 lines, as-of 2026-08-08.
|
|
162
|
-
|
|
163
|
-
The **path + anchor is the AUTHORITY**; the whole-file hash **DATES** the
|
|
164
|
-
citation. That artifact is a living doc: the hash goes stale at the next
|
|
165
|
-
legitimate append, the anchor does not — the CURRENT-line convention applied to
|
|
166
|
-
a citation.
|
|
141
|
+
**Use path + anchor as the authority and a whole-file hash only to date the
|
|
142
|
+
citation.** The address survives legitimate content changes; the digest does not.
|
|
143
|
+
|
|
167
144
|
## A4. When implementation finds the intent rested on something that does not exist
|
|
168
145
|
|
|
169
146
|
A slice's intent can only be honoured to the extent its assumptions hold. Sometimes implementation
|
|
@@ -217,16 +194,15 @@ reported as unknown, not failure.
|
|
|
217
194
|
emits an intent-bearing `SPEC.md` + `NOTES.md`. Core emits only this
|
|
218
195
|
mode-neutral shape; mode plugins add richer material through the extension
|
|
219
196
|
seam rather than teaching core a mode.
|
|
220
|
-
- **
|
|
221
|
-
|
|
222
|
-
teaches **Part B**, the assigned overlay. Assigned-only, never self-selected.
|
|
197
|
+
- **Skill**: `mission-slice-sop` teaches **Part A**, the light default. **Part B**
|
|
198
|
+
is defined below and applies only when assigned — never self-selected.
|
|
223
199
|
- **Bootstrap**: the shipped agent overlay points fresh seats at the skill
|
|
224
200
|
and this document at boot.
|
|
225
201
|
|
|
226
202
|
# PART B — THE RIGOROUS OVERLAY (assigned only)
|
|
227
203
|
|
|
228
|
-
> **ENTRY CONDITION:** everything below applies **only** when the
|
|
229
|
-
> explicitly relaying
|
|
204
|
+
> **ENTRY CONDITION:** everything below applies **only** when the human operator — or an orchestrator
|
|
205
|
+
> explicitly relaying that decision — has assigned the heavy path to a **named** piece of work.
|
|
230
206
|
> If you arrived here without an assignment, stop and use Part A.
|
|
231
207
|
>
|
|
232
208
|
> **Rails:** the locks are **two, and only two**. Nothing here authorizes a second gate round on
|
|
@@ -346,9 +322,6 @@ an append-only pile where the human can't tell final from superseded.
|
|
|
346
322
|
|
|
347
323
|
## Scratch-daemon hermeticity: the DB a scratch daemon opens is the one you named
|
|
348
324
|
|
|
349
|
-
*(Desk-ruled 2026-08-25, row qitem-20260825005846-7960f4dd; 0.5.3-era doctrine — a harness rule,
|
|
350
|
-
not product behavior.)*
|
|
351
|
-
|
|
352
325
|
A scratch daemon launch **strips the inherited environment's `OPENRIG_DB` and names an explicit
|
|
353
326
|
scratch DB path under the scratch `OPENRIG_HOME`** — both halves, every launch:
|
|
354
327
|
|
|
@@ -364,6 +337,6 @@ the scratch context read or wrote state it never owned, and whether anything vis
|
|
|
364
337
|
luck, not hermeticity.
|
|
365
338
|
|
|
366
339
|
**The discriminator that keeps this rule honest:** an explicit `OPENRIG_DB` still WINS by design
|
|
367
|
-
(`daemon-db-path.ts
|
|
368
|
-
|
|
369
|
-
anything: strip what you did not choose, then choose.
|
|
340
|
+
(`daemon-db-path.ts`) — deliberate split-path configuration remains legitimate and
|
|
341
|
+
untouched. This rule governs **inheritance into scratch contexts**, where nobody
|
|
342
|
+
decided anything: strip what you did not choose, then choose.
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
# The wave SDLC — parallel build, wave-level review, composition as the care dial
|
|
2
|
+
|
|
3
|
+
Graduated 2026-08-28 from the working playbook of the team that proved it live; the
|
|
4
|
+
team-specific custody mechanics stay in that team's playbook. Lock stamps in this
|
|
5
|
+
model are ADDITIVE: approval appends metadata and never rewrites authored bytes, so
|
|
6
|
+
a candidate's identity survives its own approval.
|
|
7
|
+
|
|
8
|
+
## The model in one paragraph
|
|
9
|
+
|
|
10
|
+
Slices build IN PARALLEL across every build-class seat, each in a DISJOINT FILE
|
|
11
|
+
TERRITORY, each merged serially by one integrator the moment its candidate freezes
|
|
12
|
+
with builder-proven receipts. Independent review happens ONCE PER WAVE over the wave's
|
|
13
|
+
whole accumulated range — two reviewers with different vantages (ideally different
|
|
14
|
+
runtimes), never the writers — and their findings drive fix rounds that re-earn both
|
|
15
|
+
verdicts at the round's final revision. Checks stay per-slice (failing-test-first
|
|
16
|
+
proof, verify-by-effect, honest receipts); rounds happen per-wave.
|
|
17
|
+
|
|
18
|
+
## The mechanics
|
|
19
|
+
|
|
20
|
+
1. **PLAN:** wave entries in the plan of record; the planner shapes specs; the plan
|
|
21
|
+
authority locks them. Every slice gets a real workspace or proof has no home.
|
|
22
|
+
2. **DISPATCH:** batons fan out with EXCLUSIVE file territories. THE BRIEF IS THE
|
|
23
|
+
UNIT: every assignment carries the goal, the acceptance criteria, the complete
|
|
24
|
+
context routes (exact paths), the territory — and this standing grant: "Navigate
|
|
25
|
+
the implementation yourself: derive what you need, research, spawn readers,
|
|
26
|
+
decide your own build order. Ask when stuck; the orchestrator is here to help."
|
|
27
|
+
DEFAULT SCOPE IS THE WHOLE SPEC, built in one sustained run to ONE frozen
|
|
28
|
+
candidate. Handing out anything smaller requires naming the reason on the brief
|
|
29
|
+
itself (an unresolved decision, a live territory conflict, a genuine
|
|
30
|
+
fork-in-the-road risk) — an unexplained small chunk is a dispatch defect.
|
|
31
|
+
Territory overlap = serialize. Conflict discovered mid-build = STOP AND RULE.
|
|
32
|
+
Why: the builder holds the spec and the code; decisions about how to build
|
|
33
|
+
belong where the building context lives. Detailed sequencing instructions were
|
|
34
|
+
scaffolding when models were weak; today they are a cage, and per-command
|
|
35
|
+
routing is the failure mode, not diligence.
|
|
36
|
+
THE BRIEF IS A MAP, NOT THE TERRITORY. Distillation is welcome — for a minimal
|
|
37
|
+
slice the brief may honestly be richer than the spec — but it is never the
|
|
38
|
+
receiver's ONLY context: the builder's first act is self-onboarding from the
|
|
39
|
+
routed reading list (the mission-install pattern at slice scale), then checking
|
|
40
|
+
the map against the ground it actually stands on. Nobody knows the ground floor
|
|
41
|
+
better than the builder; the wide angle lives a layer up. When the ground
|
|
42
|
+
disagrees with the map, that is a finding to raise — not a reason to follow
|
|
43
|
+
the map off a cliff.
|
|
44
|
+
3. **BUILD:** failing-test-first against a pristine base with committed final test
|
|
45
|
+
bytes; freeze a single candidate revision; receipts cite the FINAL revision
|
|
46
|
+
(re-earned after any rebase).
|
|
47
|
+
4. **MERGE:** integrator-only, serially, verified at source each time (candidate
|
|
48
|
+
parent equals pre-merge tip; changed files equal declared territory). Merge
|
|
49
|
+
announcements are REBASE TRIGGERS for every open candidate.
|
|
50
|
+
5. **WAVE REVIEW:** fires when the wave's build completes. Two independent reviewers,
|
|
51
|
+
base-scoped at the tip, writers excluded from reviewing their own work. The two
|
|
52
|
+
gates ask DIFFERENT questions — does the structure hold, versus does each claim
|
|
53
|
+
survive contact with source. That is the design, not redundancy.
|
|
54
|
+
Reviewers also review for DRIFT, not only defects: does the built thing still
|
|
55
|
+
match the acceptance criteria the brief stated — is this still the doghouse the
|
|
56
|
+
owner asked for, or did locally-defensible steps accrete toward a moon base?
|
|
57
|
+
Plot-loss is a first-class finding with the same standing as a logic defect.
|
|
58
|
+
Reviews also DISPOSE each miss by cause: CONTEXT-GAP — the spec or its routes
|
|
59
|
+
lacked what the moment needed (a planning finding; the fix lands in the spec) —
|
|
60
|
+
versus JUDGMENT-GAP — the context was there and the call was wrong (a builder
|
|
61
|
+
finding; the fix is a check). One word in the verdict artifact. The rate this
|
|
62
|
+
produces is the calibration the dispatch shape tunes on.
|
|
63
|
+
6. **FIX ROUNDS:** findings become forward-fix candidates (merges stand; merged is
|
|
64
|
+
not running). One re-review pass per round re-earns both legs at the final
|
|
65
|
+
revision. Narrow rechecks for narrow corrections.
|
|
66
|
+
7. **SEAL:** both legs clear at one revision = wave sealed; the next slot opens.
|
|
67
|
+
|
|
68
|
+
## THE WAVE IS THE CARE DIAL
|
|
69
|
+
|
|
70
|
+
Wave COMPOSITION is the control surface for how carefully a piece is handled: a
|
|
71
|
+
large, complicated, or load-bearing slice gets a wave OF ITS OWN (its review ceremony
|
|
72
|
+
fires for it alone); a big piece can even split across waves. This decouples what an
|
|
73
|
+
older model conflated: mission and slice workspaces stay flexible organizational
|
|
74
|
+
containers; waves are the separate layer that sequences work, assigns it, and prices
|
|
75
|
+
its handling care. Care is a per-piece property, never a per-mission one.
|
|
76
|
+
|
|
77
|
+
## When to use it
|
|
78
|
+
|
|
79
|
+
Many small-to-medium, root-caused, evidence-backed slices; enough seats to
|
|
80
|
+
parallelize; territories that partition cleanly; an integrator who can merge serially
|
|
81
|
+
and verify fast.
|
|
82
|
+
|
|
83
|
+
## When NOT to use it
|
|
84
|
+
|
|
85
|
+
Design-uncertain or shared-region work (one slice, classic two-leg review, or a
|
|
86
|
+
design session first). Anything irreversible within the hour (publish, cutover,
|
|
87
|
+
destructive operations) — that is the heavy path. And when no independent non-writing
|
|
88
|
+
reviewers exist: nothing ever self-reviews; without them the wave gate is theater.
|
|
89
|
+
|
|
90
|
+
## Failure modes, with the mitigations that worked (dated observations, 2026-08)
|
|
91
|
+
|
|
92
|
+
- **Freeze-merge races:** a candidate freezes seconds before a merge moves the tip.
|
|
93
|
+
Mitigation: zero-overlap restack with content-identity proof (stable patch-id) in
|
|
94
|
+
an isolated worktree; builder-side self-catch on merge announcements.
|
|
95
|
+
- **Evidence theater:** a failing test that fails for the wrong reason reads
|
|
96
|
+
identical to a real one. Mitigation: reviewers re-derive the failures
|
|
97
|
+
independently; false characterizations retire to a correction history, never a
|
|
98
|
+
silent rewrite.
|
|
99
|
+
- **Presence-not-absence tests:** asserting the true line exists while the false
|
|
100
|
+
line still prints. Rule: pin the ABSENCE of the false claim in every encoding.
|
|
101
|
+
- **Phantom checkout status:** merge-by-reference leaves a shared checkout's index
|
|
102
|
+
stale. Never build or commit from a shared checkout; sync its index at fences.
|
|
103
|
+
|
|
104
|
+
## Measured outcome from the proving run (dated, one team, 2026-08)
|
|
105
|
+
|
|
106
|
+
Eight slices plus five fix candidates plus two addenda built and merged in ~2.5 hours
|
|
107
|
+
across five writing seats; two wave passes plus three fix-round passes replaced ~20
|
|
108
|
+
per-slice review rounds. Defect yield went UP: the reviewers' findings never
|
|
109
|
+
overlapped once across three consecutive verdicts, and the builders' green suites had
|
|
110
|
+
missed every one of them — wave-level review sees cross-slice seams per-slice review
|
|
111
|
+
structurally cannot. Correction latency: one live defect went found→root-caused→
|
|
112
|
+
specced→locked→built→merged in 24 minutes, because no review round stood between a
|
|
113
|
+
locked spec and a building seat.
|
|
@@ -16,10 +16,10 @@ destructive_class: [delete_everything, drop_persistent_store, reset_or_discard_v
|
|
|
16
16
|
The everyday software-factory posture for INTERACTIVE dev. Routine work runs without prompts; the consequential outward and history-rewriting acts defer to the human.
|
|
17
17
|
|
|
18
18
|
- **default_posture: allow** — routine dev (toolchain, arbitrary shell, install deps, scoped file deletion, network, topology) runs without a prompt.
|
|
19
|
-
- **allow: [push_to_remote]** — routine `git push` is allowed (pinned explicitly; the
|
|
20
|
-
- **ask: [create_pr, publish_package, merge_or_release, force_push]** — outward/release/history-rewriting acts ASK the human. **ASK ≠ deny**: OpenRig bakes no block; ASK = defer to the human, the
|
|
19
|
+
- **allow: [push_to_remote]** — routine `git push` is allowed (pinned explicitly; the policy design rejects gating push as a default).
|
|
20
|
+
- **ask: [create_pr, publish_package, merge_or_release, force_push]** — outward/release/history-rewriting acts ASK the human. **ASK ≠ deny**: OpenRig bakes no block; ASK = defer to the human, the policy's explicit beyond-floor default. `force_push` is additionally best-effort on Claude (prefix rules can't reliably split `git push --force`), so ASK is the honest disposition, not a can't-enforce deny.
|
|
21
21
|
- **destructive_class → ask** — `delete_everything`, `drop_persistent_store`, `reset_or_discard_vcs` default to ASK, never a silent block (best-effort-safe).
|
|
22
22
|
|
|
23
23
|
**INTERACTIVE-dev posture:** an `ask` freezes an autonomous seat by design — autonomous fleets use Open or YOLO, not Standard.
|
|
24
24
|
|
|
25
|
-
**FLOOR (always on, flag surface):** Claude `acceptEdits` + Codex `workspace-write` (the edit/sandbox floor); Pi `--no-approve` is a resource-TRUST posture, not a permission floor (Pi has no permission surface). **Translation is the skill's job** (harness-neutral intent → per-harness format, caveated).
|
|
25
|
+
**FLOOR (always on, flag surface):** Claude `acceptEdits` + Codex `workspace-write` (the edit/sandbox floor); Pi `--no-approve` is a resource-TRUST posture, not a permission floor (Pi has no permission surface). **Translation is the skill's job** (harness-neutral intent → per-harness format, caveated).
|
|
@@ -11,10 +11,15 @@ description: Full-bypass posture — the flag-surface YOLO opt-in. Everything ru
|
|
|
11
11
|
|
|
12
12
|
The maximum-permissive built-in. The seat runs the harness with its full-bypass launch flag: Claude `--dangerously-skip-permissions`, Codex full-bypass, Pi `--approve`. Nothing prompts; nothing is denied. Use only for fully-trusted autonomous work where any pause is unacceptable.
|
|
13
13
|
|
|
14
|
-
**APPLICATION is deterministic, NOT skill-translated.** YOLO is a `surface: flag`
|
|
14
|
+
**APPLICATION is deterministic, NOT skill-translated.** YOLO is a `surface: flag`
|
|
15
|
+
policy: it resolves to a stable launch flag and is applied directly by the runtime
|
|
16
|
+
flag-surface opt-in. The `applying-a-permission-policy` skill does **NOT** translate
|
|
17
|
+
this policy; it points at that setting. The flag surface is stable enough for
|
|
18
|
+
deterministic code, so it does not pay the skill-indirection tax.
|
|
15
19
|
|
|
16
20
|
**Config policies are MOOT when YOLO is on.** The full-bypass launch flag overrides any Claude prefix rules / Codex posture, so an attached config-surface policy (Locked/Standard/Open) has no effect while YOLO is active. Pick YOLO OR a config policy, not both.
|
|
17
21
|
|
|
18
22
|
**Guardrails come from skills + starter markdown, not permission-blocking** — a YOLO seat is bounded by what its skills and operating context tell it to do, since the permission layer imposes nothing.
|
|
19
23
|
|
|
20
|
-
**Naming
|
|
24
|
+
**Naming:** YOLO names the full-bypass posture plainly; the picker presents all four
|
|
25
|
+
named postures (Locked / Standard / Open / YOLO) uniformly.
|
|
@@ -102,7 +102,7 @@ culture / pod / member / operator) handles the layering.
|
|
|
102
102
|
|
|
103
103
|
## See also
|
|
104
104
|
|
|
105
|
-
- `mission-slice-sop` skill — the universal operating procedure for working a mission/slice (the canonical
|
|
105
|
+
- `mission-slice-sop` skill — the universal operating procedure for working a mission/slice (the canonical PROGRESS/PROOF/MISSION_NOTES/MISSION_BRIEF files); every agent should reach for it at startup, so this general reading contract points at it here (do NOT duplicate the SOP into seat-specific startup files).
|
|
106
106
|
- `writing-skills-for-openrig` skill — authoring discipline for skill content (what doesn't belong in startup)
|
|
107
107
|
- `forming-an-openrig-mental-model` skill — orientation for new agents
|
|
108
108
|
- `session-compaction-and-restore` skill — restore-time startup ingestion
|
|
@@ -30,11 +30,8 @@ operator pattern (`ssh <host> rig <cmd>`) with declared host identity,
|
|
|
30
30
|
explicit cross-host invocation path, preserved `--verify` semantics, and
|
|
31
31
|
4 named failure modes.
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
read-through/tunnel entries such as `your-vm` and `your-other-vm`. Use the
|
|
36
|
-
host registry entry as ground truth for transport shape, and use
|
|
37
|
-
`conventions/multi-host-naming/README.md` for host-id naming. HTTP entries
|
|
33
|
+
The live host registry may contain SSH or HTTP read-through/tunnel entries.
|
|
34
|
+
Use each registry entry as ground truth for transport shape. HTTP entries
|
|
38
35
|
require `url` plus exactly one of `bearer_file` or `bearer_env`.
|
|
39
36
|
|
|
40
37
|
**v0 is CLI-side shell-out only — `packages/daemon/` is NOT touched.**
|
|
@@ -73,24 +70,20 @@ differs from the interactive verbs (`send`/`capture`/`ps`/`whoami`):
|
|
|
73
70
|
|
|
74
71
|
## Host registry shape (`~/.openrig/hosts.yaml`)
|
|
75
72
|
|
|
76
|
-
Host ids
|
|
77
|
-
|
|
78
|
-
physical hosts such as `your-vm`, local OpenRig development VMs such as
|
|
79
|
-
`your-vm`, persistent product VMs such as `your-other-vm`, and VPS hosts such
|
|
80
|
-
as `your-vps`. Keep old aliases during migration until no live routing
|
|
81
|
-
depends on them.
|
|
73
|
+
Host ids must be non-empty and unique. Choose stable, operator-meaningful ids
|
|
74
|
+
that describe the destination without depending on transient network details.
|
|
82
75
|
|
|
83
76
|
```yaml
|
|
84
77
|
hosts:
|
|
85
78
|
- id: a-test-vm
|
|
86
79
|
transport: ssh # v0 supports "ssh" only
|
|
87
80
|
target: a-test-vm.local # DNS name, SSH config alias, or IP
|
|
88
|
-
user:
|
|
81
|
+
user: example-user # optional
|
|
89
82
|
notes: "Tart VM" # optional
|
|
90
83
|
- id: laptop-b
|
|
91
84
|
transport: ssh
|
|
92
85
|
target: laptop-b.tail-scale-net
|
|
93
|
-
user:
|
|
86
|
+
user: example-user
|
|
94
87
|
```
|
|
95
88
|
|
|
96
89
|
Validation rules:
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: messaging-the-human
|
|
3
|
+
description: "Use when a human decision, access grant, external action, or escalation must survive the operator's absence, or when an orchestrator or PM has a judgment-worthy update for the operator."
|
|
4
|
+
metadata:
|
|
5
|
+
cli_surfaces_referenced:
|
|
6
|
+
- gateway human add
|
|
7
|
+
- gateway human list
|
|
8
|
+
- queue block
|
|
9
|
+
- queue handoff
|
|
10
|
+
- queue transitions
|
|
11
|
+
- send
|
|
12
|
+
openrig:
|
|
13
|
+
stage: provisional
|
|
14
|
+
audience: all agents
|
|
15
|
+
sibling_skills:
|
|
16
|
+
- queue-handoff
|
|
17
|
+
- human-in-the-loop
|
|
18
|
+
- openrig-user
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
# Messaging the Human
|
|
22
|
+
|
|
23
|
+
The human is an addressable participant, but their attention is scarce and they
|
|
24
|
+
may not be at a terminal. Anything that must survive their absence needs a
|
|
25
|
+
durable queue row; the gateway turns the human blocker on that row into the
|
|
26
|
+
external notification.
|
|
27
|
+
|
|
28
|
+
Any seat may contact the human directly for a real escalation. Orchestrators
|
|
29
|
+
and product managers may also send updates they judge the human would want to
|
|
30
|
+
know. Do not add a routing intermediary merely because of your role.
|
|
31
|
+
|
|
32
|
+
## The supported route
|
|
33
|
+
|
|
34
|
+
First discover the registered human identity. Never invent or remember an
|
|
35
|
+
address:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
rig gateway human list --json
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Use `humans[].entityId` to derive the durable blocker as `<entityId>@host`.
|
|
42
|
+
The entity id must use the human-seat prefix (`human` or `human-...`); if it
|
|
43
|
+
does not, stop and repair the registration rather than guessing. The returned
|
|
44
|
+
`humans[].address` is the gateway delivery address, not the `--on` value. If no
|
|
45
|
+
unambiguous registered human is returned, stop: registration is lifecycle work
|
|
46
|
+
(`rig gateway human add --help`), not an address to guess.
|
|
47
|
+
|
|
48
|
+
Keep the work row owned by the agent who must resume it, then park that row on
|
|
49
|
+
the registered human:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
rig queue block <qitem-id> --on <entityId>@host \
|
|
53
|
+
--summary "<decision owed>" \
|
|
54
|
+
--evidence-ref "<durable artifact the human should judge>" \
|
|
55
|
+
--continuation "<what resumes after the answer>"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
The gateway resolves the registered human to the configured connector, sends
|
|
59
|
+
the Slack notification, and records its receipt on the same row. Confirm the
|
|
60
|
+
effect from the append-only history:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
rig queue transitions <qitem-id>
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
The row is the obligation and the audit trail. Slack is the attention leg. A
|
|
67
|
+
reply resolves the durable blocker and wakes the row owner; it does not create
|
|
68
|
+
a second private work stream.
|
|
69
|
+
|
|
70
|
+
## When to use it
|
|
71
|
+
|
|
72
|
+
Escalate directly when only the human can supply the missing capability:
|
|
73
|
+
|
|
74
|
+
- a decision or irreversible judgment only they own;
|
|
75
|
+
- access, credentials, authority, or capacity only they can grant;
|
|
76
|
+
- an external action only they can perform;
|
|
77
|
+
- a security-class or provider/model-fallback event they need to know about.
|
|
78
|
+
|
|
79
|
+
Orchestrators and product managers may additionally send meaningful milestone,
|
|
80
|
+
environment, or completion updates. Prefer signal over routine narration.
|
|
81
|
+
|
|
82
|
+
## Boundaries
|
|
83
|
+
|
|
84
|
+
- `rig send` sends text to an agent's terminal. It is not the Slack route and
|
|
85
|
+
does not create a durable human obligation.
|
|
86
|
+
- An unregistered or ambiguous human identity must fail loudly. Register or
|
|
87
|
+
repair the identity; never downgrade it to an agent seat or a guessed
|
|
88
|
+
`@external` address.
|
|
89
|
+
- Agent-to-agent work that needs closure uses `rig queue handoff`, not this
|
|
90
|
+
human-blocker path.
|
|
91
|
+
- Deferred work that is not imminent belongs in the mission workspace, not on
|
|
92
|
+
the queue.
|
|
93
|
+
|
|
94
|
+
## Writing the escalation
|
|
95
|
+
|
|
96
|
+
Lead with what is blocked and the exact decision or action needed. Point at the
|
|
97
|
+
durable evidence instead of pasting a second copy, and name the continuation so
|
|
98
|
+
the system can resume the right work when the answer arrives.
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: openrig-skills
|
|
3
|
+
description: "Use when you're operating OpenRig and need the right skill or context for fleet recovery, seat handover, new-seat orientation, a watchdog wake, cross-host reach to an agent on another machine, rig packaging, an OpenRig upgrade, systematic debugging, queue triage, or implementation planning; also use when you don't know what applies or nothing is projected on cold boot."
|
|
4
|
+
allowed-tools: Bash(rig:*)
|
|
5
|
+
metadata:
|
|
6
|
+
openrig:
|
|
7
|
+
stage: shipped
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# OpenRig skills — the index (start here)
|
|
11
|
+
|
|
12
|
+
You're running inside OpenRig. OpenRig ships a set of **skills** — small documents that tell you *when* to do something and *how*. This file is the map: what ships, when to reach for each, and how to load it. If you don't know which skill applies, or nothing is projected into your context, **start here.**
|
|
13
|
+
|
|
14
|
+
## How OpenRig context works (30 seconds)
|
|
15
|
+
|
|
16
|
+
Skills are **progressive disclosure**: a skill's *name + description* sit in your context ambiently (the "hot tier"); its *body* loads only when you open it. So you don't pre-read everything — you pattern-match a skill's "when" to your moment, then open just that one. This file is the index over the whole shipped set. (For the full model of building/operating agent software, open `software-for-agents`.)
|
|
17
|
+
|
|
18
|
+
Every row below names **how to reach the skill** — already-hot, or an exact load path. No row is a dead end.
|
|
19
|
+
|
|
20
|
+
## Loading an entry on demand — `rig context get`
|
|
21
|
+
|
|
22
|
+
Don't guess a file path or a name. Go **ask → ref → load** in three steps:
|
|
23
|
+
|
|
24
|
+
1. **Discover** — run `rig context list` for every shipped entry's **ref** and name. The *when* for
|
|
25
|
+
each is the index below (or `rig context list --json`, which carries each entry's purpose) — match
|
|
26
|
+
your moment there.
|
|
27
|
+
2. **Select** — match your moment to a row's *when* and take its **ref**. Refs are canonical full paths
|
|
28
|
+
that mirror the library layout — `skills/<namespace>/<name>` (e.g. `skills/core/rig-lifecycle`,
|
|
29
|
+
`skills/process/systematic-debugging`). A unique bare name (e.g. `watchdog`) also resolves; any
|
|
30
|
+
slash-bearing ref is an exact lookup and fails loud if it does not exist.
|
|
31
|
+
3. **Load** — `rig context get skills/<namespace>/<name>`:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
rig context get skills/core/rig-lifecycle
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The router itself is available through both forms it teaches:
|
|
38
|
+
`rig context get openrig-skills` and `rig context get skills/core/openrig-skills`.
|
|
39
|
+
|
|
40
|
+
The content is served **from the installed CLI**, so what you load always matches your running version —
|
|
41
|
+
no path-guessing, no frozen-fork drift. (The daemon assembles the same bundle `rig context preview`
|
|
42
|
+
shows an operator — `get` is the agent-facing pull.)
|
|
43
|
+
|
|
44
|
+
## The index
|
|
45
|
+
|
|
46
|
+
> Membership rule (`layout.skills[*].edges.length > 0`): every public skill with at least one product edge in the generated edge layout appears exactly once in this index; no other skill appears.
|
|
47
|
+
|
|
48
|
+
### Always loaded — the universal spine (open its body when its moment hits)
|
|
49
|
+
These are auto-delivered to every rig; their name+description are already in your context. Open the body when the "when" matches.
|
|
50
|
+
|
|
51
|
+
- **forming-an-openrig-mental-model** — first boot, or you're unsure how the pieces fit. The runtime mental model.
|
|
52
|
+
- **openrig-operating-model** — you do not know where context or work belongs, or you are about to duplicate knowledge. The two-tree placement and trace-to-root model.
|
|
53
|
+
- **openrig-user** — you need a `rig` CLI command (send / queue / ps / whoami / scope / broadcast). The daily CLI surface.
|
|
54
|
+
- **applying-a-permission-policy** — a rig or seat has a permission policy attached, or you're setting one up: translate it into the live harness configuration.
|
|
55
|
+
- **claude-compaction-restore** — you just compacted (Claude). Restore from durable evidence before resuming real work.
|
|
56
|
+
- **delegating-work** — deciding who should do a task: you, a spawned subagent, or a durable peer seat that already holds the context.
|
|
57
|
+
- **session-compaction-and-restore** — preparing for, or recovering from, compaction (any runtime). The write- and read-side protocol.
|
|
58
|
+
- **queue-handoff** — you're passing durable work to another seat or ending your turn. The queue is the work ledger, not chat.
|
|
59
|
+
- **refocusing** — a long-running seat may have lost the product outcome, crossed a major boundary, or compacted and needs a fresh path-based trace.
|
|
60
|
+
- **seat-continuity-and-handover** — handing your seat's work across a restart or to another owner.
|
|
61
|
+
- **orienting-to-an-inherited-seat** — you just inherited an existing seat through a planned handover and need to verify its identity, state, and testimony.
|
|
62
|
+
- **retiring-and-inheriting-a-seat** — you're planning a seat transition and need to retire the current occupant into a fresh successor without losing continuity.
|
|
63
|
+
- **mission-slice-sop** — you're working a mission/slice (the SDLC: intent → mini-requirements + proof contract → build → QA → proof). The operating manual.
|
|
64
|
+
- **messaging-the-human** — composing a message to the human. Plain language, no insider jargon.
|
|
65
|
+
- **software-for-agents** — you want the full first-load model of how agent software is built and operated here.
|
|
66
|
+
- **openrig-skills** — this index (you're reading it). Always loaded; the entry point to everything below.
|
|
67
|
+
|
|
68
|
+
### Load when your role or task calls for it (repo-shipped, profile-selected)
|
|
69
|
+
These ship in the OpenRig repo and reach a seat when its profile selects them. To use one, select it in your profile's `uses.skills`, or open it directly at `packages/daemon/specs/agents/shared/skills/core/<skill>/SKILL.md`.
|
|
70
|
+
|
|
71
|
+
- **openrig-architect** — authoring a rig or topology (NOT for changing OpenRig itself — that's `openrig-builder`).
|
|
72
|
+
- **openrig-cmux** — driving the `cmux` terminal provider.
|
|
73
|
+
- **openrig-herdr** — opening/managing seat terminals via the default proof-gated provider.
|
|
74
|
+
- **agent-startup-and-context-ingestion** — a seat is booting and ingesting its startup context.
|
|
75
|
+
- **topology-mutation-and-seat-management** — adding, removing, renaming seats or otherwise mutating rig topology.
|
|
76
|
+
- **rig-lifecycle** — rig up / down / pause / resume lifecycle operations.
|
|
77
|
+
- **rig-bundles-and-shareable-artifacts** — packaging or installing a rig bundle / shareable artifact.
|
|
78
|
+
- **cross-host-rig-commands** — reaching seats or queues on another host (`--host`).
|
|
79
|
+
- **openrig-upgrade** — upgrading OpenRig or the daemon.
|
|
80
|
+
- **agent-starters** — composing an agent's starter context / priming packs.
|
|
81
|
+
- **specification-system** — authoring or reading AgentSpecs and rig specs.
|
|
82
|
+
- **human-in-the-loop** — deciding when to involve the human vs. proceed on your own authority.
|
|
83
|
+
- **watchdog** — monitoring or recovering a seat (health, restore, stuck state).
|
|
84
|
+
- **session-source-fork** — forking a session's source/context.
|
|
85
|
+
- **context-engineering** — designing context systems. Provisional and non-normative: current OpenRig skills, explicit rulings, and measured practice outrank it on any conflict.
|
|
86
|
+
|
|
87
|
+
Pod handbooks (load when you're in that pod):
|
|
88
|
+
- **orchestration-team** — you're orchestrating a rig: dispatching, monitoring, keeping the loop moving.
|
|
89
|
+
- **development-team** — you're on the dev pod: building and shipping product changes.
|
|
90
|
+
- **review-team** — you're reviewing: fresh scrutiny, anti-slop, empirical verification.
|
|
91
|
+
- **oversight-team** — you're in an oversight pod: monitor boundaries and route findings without taking over the work.
|
|
92
|
+
|
|
93
|
+
Product-management craft (load when shaping/reviewing work):
|
|
94
|
+
- **requirements-writer** — turning intent into clear requirements.
|
|
95
|
+
- **plan-review** — reviewing a plan before it's built.
|
|
96
|
+
- **exec-summary** — writing a decision-ready summary for a human.
|
|
97
|
+
- **office-hours** — running a structured advisory / decision session.
|
|
98
|
+
- **context-builder** — assembling the context a task or seat needs.
|
|
99
|
+
- **backlog-capture** — capturing and shaping backlog items.
|
|
100
|
+
- **ui-mockup** — producing a UI mockup for a slice.
|
|
101
|
+
|
|
102
|
+
### Vendored craft — load when you're coding (ships with upstream provenance)
|
|
103
|
+
General engineering skills OpenRig ships as vendored copies. Open when the task matches; they carry "modified by OpenRig" provenance.
|
|
104
|
+
|
|
105
|
+
- **test-driven-development** — implementing a feature or bugfix: write the failing test first.
|
|
106
|
+
- **verification-before-completion** — about to claim done / passing / fixed: run the check and read the output first.
|
|
107
|
+
- **systematic-debugging** — debugging: find the root cause before the fix.
|
|
108
|
+
- **writing-plans** — writing an implementation plan.
|
|
109
|
+
- **executing-plans** — working through a written plan.
|
|
110
|
+
- **brainstorming** — divergent ideation before converging.
|
|
111
|
+
- **using-superpowers** — discovering and using the vendored "superpowers" skill set.
|
|
112
|
+
- **agent-browser** — driving a browser (screenshot / screencast) from an agent.
|
|
113
|
+
- **frontend-design** — designing frontend / UI.
|
|
114
|
+
- **dogfood** — web-QA / dogfooding a shipped UI.
|
|
115
|
+
|
|
116
|
+
## Need more than what ships here?
|
|
117
|
+
|
|
118
|
+
This index covers the **shipped** surface. A dev host carries far more (factory, architecture, PM-craft, studio skills) reached through the host's own routers/codemaps — if you're on a builder host and need something not listed above, that deeper routing is the next hop, not a wall. (Host-scale routing is the subject of the context-routing architecture doc; at product scale, this one file is the whole map.)
|