@openrig/cli 0.5.4 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/continuity/apprentice-cutover.md +19 -0
- package/daemon/assets/continuity/apprentice-prepare.md +17 -0
- package/daemon/assets/guidance/openrig-start.md +7 -0
- package/daemon/assets/onboarding/01-world-and-purpose.md +52 -0
- package/daemon/assets/onboarding/02-self-and-competent-action.md +57 -0
- package/daemon/assets/plugins/openrig-core/README.md +5 -2
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +3 -12
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +5 -12
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +271 -124
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +3 -3
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +0 -0
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +4 -9
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +82 -118
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +20 -26
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +397 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/compose.py +572 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/scaffold.sh +34 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-due.sh +32 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trace-stamp.sh +5 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/scripts/trunk-diff.sh +18 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/LEARNED.md +40 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/NOTES.md +9 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/PLAYBOOK.md +5 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SOP.md +24 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/templates/SPEC.md +54 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +11 -6
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +1 -12
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +15 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +4 -16
- package/daemon/assets/plugins/openrig-core/skills/refocusing/SKILL.md +31 -0
- package/daemon/assets/plugins/openrig-core/skills/refocusing/references/refocus.md +22 -0
- package/daemon/assets/plugins/openrig-core/skills/refocusing/scripts/trace-to-root.py +264 -0
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +26 -6
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +3 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-evidence-toolkit.md +32 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/apprentice-successor-seat-cutover.md +256 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/references/orchestrator-role.md +40 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +9 -4
- package/daemon/assets/vm-preview-fixtures/README.md +16 -38
- package/daemon/assets/vm-preview-fixtures/workflows/sample-basic-loop.yaml +4 -5
- package/daemon/context-packs/onboarding-width/manifest.yaml +14 -0
- package/daemon/context-packs/{world/install/reference-material.md → onboarding-width/public-reference-material.md} +5 -27
- package/daemon/context-packs/{world/install/what-you-can-do.md → onboarding-width/public-what-you-can-do.md} +13 -9
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +6 -13
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +98 -0
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +10 -0
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +118 -0
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +10 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +19 -75
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +2 -1
- package/daemon/context-packs/skills/core/watchdog/SKILL.md +4 -10
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +2 -1
- package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +2 -1
- package/daemon/context-packs/world-example/manifest.yaml +21 -0
- package/daemon/context-packs/world-example/your-world.md +54 -0
- package/daemon/context-packs/world-public/boundaries.md +33 -0
- package/daemon/context-packs/world-public/build-your-world.md +84 -0
- package/daemon/context-packs/world-public/claims.yaml +205 -0
- package/daemon/context-packs/world-public/manifest.yaml +59 -0
- package/daemon/context-packs/world-public/start-here.md +51 -0
- package/daemon/context-packs/world-public/verify-world.sh +522 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts +15 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +57 -0
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/context-pack-taxonomy-surface.d.ts +2 -0
- package/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
- package/daemon/dist/context-pack-taxonomy-surface.js +6 -0
- package/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
- package/daemon/dist/db/all-migrations.d.ts +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +12 -2
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/072_thread_seat_map.d.ts +3 -0
- package/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +1 -0
- package/daemon/dist/db/migrations/072_thread_seat_map.js +22 -0
- package/daemon/dist/db/migrations/072_thread_seat_map.js.map +1 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +3 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +1 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.js +21 -0
- package/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +1 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +4 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
- package/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
- package/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
- package/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +44 -0
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -0
- package/daemon/dist/domain/active-occupant.js +72 -0
- package/daemon/dist/domain/active-occupant.js.map +1 -0
- package/daemon/dist/domain/activity-taxonomy.d.ts +112 -0
- package/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -0
- package/daemon/dist/domain/activity-taxonomy.js +99 -0
- package/daemon/dist/domain/activity-taxonomy.js.map +1 -0
- package/daemon/dist/domain/agent-manifest.d.ts +6 -0
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +77 -15
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/agent-resolver.d.ts +11 -0
- package/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/agent-resolver.js +55 -0
- package/daemon/dist/domain/agent-resolver.js.map +1 -1
- package/daemon/dist/domain/bind-plan.d.ts +19 -0
- package/daemon/dist/domain/bind-plan.d.ts.map +1 -0
- package/daemon/dist/domain/bind-plan.js +25 -0
- package/daemon/dist/domain/bind-plan.js.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +9 -2
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.js +18 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
- package/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js +13 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
- package/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
- package/daemon/dist/domain/continuity-policy-materializer.js +290 -0
- package/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
- package/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
- package/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
- package/daemon/dist/domain/continuity-stack-packets.js +99 -0
- package/daemon/dist/domain/continuity-stack-packets.js.map +1 -0
- package/daemon/dist/domain/event-bus.d.ts +6 -0
- package/daemon/dist/domain/event-bus.d.ts.map +1 -1
- package/daemon/dist/domain/event-bus.js +15 -5
- package/daemon/dist/domain/event-bus.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts +39 -0
- package/daemon/dist/domain/execution-view.d.ts.map +1 -0
- package/daemon/dist/domain/execution-view.js +707 -0
- package/daemon/dist/domain/execution-view.js.map +1 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
- package/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
- package/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
- package/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/destination-resolver.js +52 -0
- package/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
- package/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
- package/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/dispatcher.js +9 -2
- package/daemon/dist/domain/gateway/dispatcher.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process-main.js +9 -0
- package/daemon/dist/domain/gateway/gateway-process-main.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-process.js +9 -0
- package/daemon/dist/domain/gateway/gateway-process.js.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +84 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js +151 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +118 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +282 -1
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
- package/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/config.d.ts +11 -7
- package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/config.js +28 -10
- package/daemon/dist/domain/gateway/slack/config.js.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound-admission.d.ts +1 -1
- package/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/inbound-admission.js.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound.d.ts +48 -9
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
- package/{dist → daemon/dist/domain/gateway}/slack/inbound.js +66 -14
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts +80 -0
- package/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/message.js +164 -0
- package/daemon/dist/domain/gateway/slack/message.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +57 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js +103 -0
- package/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +58 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js +99 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/secrets.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts +129 -0
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-api.js +236 -0
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +53 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.js +267 -0
- package/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +31 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +473 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +30 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +99 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +17 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.js +35 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +56 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js +103 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -0
- package/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/spawn-gateway.js +9 -0
- package/daemon/dist/domain/gateway/spawn-gateway.js.map +1 -1
- package/daemon/dist/domain/gateway/transport.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/transport.js +9 -0
- package/daemon/dist/domain/gateway/transport.js.map +1 -1
- package/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/daemon/dist/domain/graph-projection.js +6 -0
- package/daemon/dist/domain/graph-projection.js.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
- package/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +41 -3
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +65 -48
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +82 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -0
- package/daemon/dist/domain/parked-query.js +127 -0
- package/daemon/dist/domain/parked-query.js.map +1 -0
- package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/daemon/dist/domain/pod-bundle-assembler.js +12 -5
- package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
- package/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
- package/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
- package/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
- package/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
- package/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
- package/daemon/dist/domain/policies/delivery-deferral.js +153 -0
- package/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
- package/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
- package/daemon/dist/domain/policies/types.d.ts +8 -0
- package/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +4 -0
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +58 -0
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
- package/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
- package/daemon/dist/domain/provider/provider-signals.js +64 -0
- package/daemon/dist/domain/provider/provider-signals.js.map +1 -1
- package/daemon/dist/domain/ps-projection.d.ts +7 -5
- package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/daemon/dist/domain/ps-projection.js +19 -32
- package/daemon/dist/domain/ps-projection.js.map +1 -1
- package/daemon/dist/domain/queue-pickup.d.ts +38 -0
- package/daemon/dist/domain/queue-pickup.d.ts.map +1 -0
- package/daemon/dist/domain/queue-pickup.js +72 -0
- package/daemon/dist/domain/queue-pickup.js.map +1 -0
- package/daemon/dist/domain/queue-repository.d.ts +93 -28
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +626 -90
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/daemon/dist/domain/queue-retention.js +8 -2
- package/daemon/dist/domain/queue-retention.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +100 -0
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
- package/daemon/dist/domain/queue-stuck-sweep.js +485 -0
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
- package/daemon/dist/domain/queue-transition-log.d.ts +10 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +49 -11
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.d.ts +114 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wake-ladder.js +705 -0
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts +53 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.js +129 -0
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -0
- package/daemon/dist/domain/rebuild-priming-chain.d.ts +28 -0
- package/daemon/dist/domain/rebuild-priming-chain.d.ts.map +1 -0
- package/daemon/dist/domain/rebuild-priming-chain.js +71 -0
- package/daemon/dist/domain/rebuild-priming-chain.js.map +1 -0
- package/daemon/dist/domain/restore-check-service.js +1 -1
- package/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +88 -15
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +37 -19
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +3 -1
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +14 -8
- package/daemon/dist/domain/review/compose.js.map +1 -1
- package/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/daemon/dist/domain/review/gather.js +3 -1
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-expansion-service.js +10 -9
- package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +4 -0
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +21 -3
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +74 -4
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +7 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +32 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +32 -4
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/scope/node-file.d.ts +8 -0
- package/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
- package/daemon/dist/domain/scope/node-file.js +18 -0
- package/daemon/dist/domain/scope/node-file.js.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +6 -5
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +23 -20
- package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -5
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.js +6 -7
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.d.ts +1 -1
- package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.js +5 -4
- package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts +46 -4
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js +79 -94
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.js +7 -2
- package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +91 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +416 -1
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-handover-planner.d.ts +14 -0
- package/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-planner.js +14 -1
- package/daemon/dist/domain/seat-handover-planner.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +54 -1
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +162 -19
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/session-transport.js +1 -2
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +6 -0
- package/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +6 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +3 -3
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +59 -4
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +48 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts +5 -1
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +65 -2
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +47 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +115 -6
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.js +3 -2
- package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +4 -3
- package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js +56 -196
- package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/daemon/dist/domain/workspace/getting-started-narrative.js +1 -1
- package/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts +8 -11
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +22 -26
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/gateway-slack-surface.d.ts +4 -0
- package/daemon/dist/gateway-slack-surface.d.ts.map +1 -0
- package/daemon/dist/gateway-slack-surface.js +8 -0
- package/daemon/dist/gateway-slack-surface.js.map +1 -0
- package/daemon/dist/index.d.ts +38 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +122 -4
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/daemon/dist/lib/pane-envelope.js +8 -14
- package/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts +13 -0
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +186 -0
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/daemon/dist/routes/agent-images.js +9 -0
- package/daemon/dist/routes/agent-images.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +61 -1
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/config.js +2 -2
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +3 -0
- package/daemon/dist/routes/gateway.d.ts.map +1 -0
- package/daemon/dist/routes/gateway.js +46 -0
- package/daemon/dist/routes/gateway.js.map +1 -0
- package/daemon/dist/routes/health-summary.d.ts.map +1 -1
- package/daemon/dist/routes/health-summary.js +8 -0
- package/daemon/dist/routes/health-summary.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +25 -12
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.js +38 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +73 -14
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +15 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/views.d.ts.map +1 -1
- package/daemon/dist/routes/views.js +4 -1
- package/daemon/dist/routes/views.js.map +1 -1
- package/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/daemon/dist/routes/watchdog.js +40 -3
- package/daemon/dist/routes/watchdog.js.map +1 -1
- package/daemon/dist/server.d.ts +17 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +30 -4
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts +4 -0
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +227 -5
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +4 -4
- package/daemon/docs/reference/agent-state-taxonomy.md +101 -0
- package/daemon/docs/reference/chain-file-convention.md +2 -2
- package/daemon/docs/reference/knowledge-maturity.md +123 -0
- package/daemon/docs/reference/lore-routing.md +173 -0
- package/daemon/docs/reference/mission-install.md +194 -0
- package/daemon/docs/reference/planning-dial.md +55 -0
- package/daemon/docs/reference/product-management-pass.md +139 -0
- package/daemon/docs/reference/project-workspace.md +22 -14
- package/daemon/docs/reference/refocus-channel.md +27 -14
- package/daemon/docs/reference/release-boundary.md +88 -0
- package/daemon/docs/reference/sdlc-conventions.md +66 -82
- package/daemon/docs/reference/wave-sdlc.md +113 -0
- package/daemon/policies/builtin/standard.policy.md +3 -3
- package/daemon/policies/builtin/yolo.policy.md +7 -2
- package/daemon/specs/agents/shared/skills/core/cross-host-rig-commands/SKILL.md +6 -13
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +98 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +118 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +19 -75
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -10
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/find-polluter.sh +0 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/startup/context.md +1 -1
- package/daemon/substance-surfaces.json +8 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/broadcast.d.ts.map +1 -1
- package/dist/commands/broadcast.js +6 -1
- package/dist/commands/broadcast.js.map +1 -1
- package/dist/commands/capture.js +1 -1
- package/dist/commands/config-init-workspace.d.ts.map +1 -1
- package/dist/commands/config-init-workspace.js +32 -57
- package/dist/commands/config-init-workspace.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +5 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +12 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/daemon.d.ts.map +1 -1
- package/dist/commands/daemon.js +14 -4
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/expand.d.ts.map +1 -1
- package/dist/commands/expand.js +9 -13
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/gateway.d.ts +19 -1
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +157 -33
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/parked.d.ts +3 -0
- package/dist/commands/parked.d.ts.map +1 -0
- package/dist/commands/parked.js +83 -0
- package/dist/commands/parked.js.map +1 -0
- package/dist/commands/proof.d.ts +2 -1
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +8 -8
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/ps.d.ts +14 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +27 -8
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +31 -3
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +284 -136
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +40 -10
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts +3 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +37 -16
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/slack.d.ts +14 -28
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +77 -189
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/start.d.ts +3 -0
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +12 -5
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +11 -4
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/view.d.ts +4 -2
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +4 -1
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/watchdog.d.ts.map +1 -1
- package/dist/commands/watchdog.js +64 -8
- package/dist/commands/watchdog.js.map +1 -1
- package/dist/commands/workspace.js +1 -1
- package/dist/config-store.d.ts +15 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +60 -0
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-target.d.ts.map +1 -1
- package/dist/cross-host-target.js +6 -5
- package/dist/cross-host-target.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +45 -3
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +126 -0
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/host-registry.d.ts +2 -2
- package/dist/host-registry.js +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/capability-delta.d.ts +9 -0
- package/dist/lib/scope/capability-delta.d.ts.map +1 -0
- package/dist/lib/scope/capability-delta.js +73 -0
- package/dist/lib/scope/capability-delta.js.map +1 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts +4 -5
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.js +6 -7
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
- package/dist/lib/scope/scope-audit.d.ts +46 -4
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js +79 -94
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +26 -14
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +78 -29
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/scope/templates.d.ts +17 -17
- package/dist/lib/scope/templates.d.ts.map +1 -1
- package/dist/lib/scope/templates.js +35 -39
- package/dist/lib/scope/templates.js.map +1 -1
- package/dist/lib/scope-templates/backlog-deprecation.md +4 -2
- package/dist/lib/scope-templates/backlog-tech-debt.md +4 -2
- package/dist/lib/scope-templates/bug-fix.md +4 -2
- package/dist/lib/scope-templates/capability-delta.md +61 -0
- package/dist/lib/scope-templates/mission-placeholder.md +9 -40
- package/dist/lib/scope-templates/mission-progress.md +5 -6
- package/dist/lib/scope-templates/mission-release.md +9 -40
- package/dist/lib/scope-templates/notes.md +14 -0
- package/dist/lib/scope-templates/placeholder.md +4 -2
- package/dist/lib/scope-templates/proof.md +1 -1
- package/dist/lib/scope-templates/release-feature.md +4 -2
- package/dist/lib/scope-templates/research.md +4 -2
- package/dist/lib/scope-templates/slice-progress.md +4 -5
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts +15 -0
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +57 -0
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js +6 -0
- package/node_modules/@openrig/daemon/dist/context-pack-taxonomy-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js +12 -2
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js +22 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/072_thread_seat_map.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js +21 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/073_queue_transition_wakes.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js +11 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/074_context_usage_watchdog.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/075_context_usage_watchdog_generation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js +15 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/076_owner_notification_levels.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +44 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +72 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts +112 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/activity-taxonomy.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js +77 -15
- package/node_modules/@openrig/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js +55 -0
- package/node_modules/@openrig/daemon/dist/domain/agent-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.js +25 -0
- package/node_modules/@openrig/daemon/dist/domain/bind-plan.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts +9 -2
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js +10 -0
- package/node_modules/@openrig/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js +7 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-library-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +11 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +13 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts +88 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js +290 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-policy-materializer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts +65 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/continuity-stack-packets.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/event-bus.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/event-bus.js +15 -5
- package/node_modules/@openrig/daemon/dist/domain/event-bus.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +707 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts +60 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js +144 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/delivery-rules-engine.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts +20 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js +52 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/destination-resolver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js +9 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/dispatcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process-main.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-process.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +84 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +151 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +118 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +282 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts +32 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js +86 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/operator-delivery-engine.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js +78 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/config.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js +20 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound-admission.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +141 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +197 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts +80 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js +164 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/message.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts +57 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js +103 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/outbound-driver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +58 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js +73 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/secrets.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts +129 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js +236 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js +267 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-delivery.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +31 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +473 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +30 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +62 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +132 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +35 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +56 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +103 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/spawn-gateway.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js +9 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.js +6 -0
- package/node_modules/@openrig/daemon/dist/domain/graph-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-write-contract.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts +41 -3
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +65 -48
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +82 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js +127 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js +12 -5
- package/node_modules/@openrig/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js +99 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/context-usage-threshold.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts +54 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js +153 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-deferral.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js +94 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/delivery-digest-flush.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +65 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +244 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js +58 -0
- package/node_modules/@openrig/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts +20 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js +64 -0
- package/node_modules/@openrig/daemon/dist/domain/provider/provider-signals.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts +7 -5
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.js +19 -32
- package/node_modules/@openrig/daemon/dist/domain/ps-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts +38 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +72 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +93 -28
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +626 -90
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js +8 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-retention.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +100 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +485 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js +49 -11
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +114 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +705 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +129 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts +28 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js +71 -0
- package/node_modules/@openrig/daemon/dist/domain/rebuild-priming-chain.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-check-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +2 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +88 -15
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts +6 -2
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +37 -19
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js +14 -8
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js +3 -1
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js +10 -9
- package/node_modules/@openrig/daemon/dist/domain/rig-expansion-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js +21 -3
- package/node_modules/@openrig/daemon/dist/domain/rig-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js +74 -4
- package/node_modules/@openrig/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +32 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +32 -4
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +6 -5
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +23 -20
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +4 -5
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +6 -7
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +5 -4
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +46 -4
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js +79 -94
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +7 -2
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +91 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +416 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts +14 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js +14 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-planner.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +54 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +162 -19
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js +1 -2
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +6 -0
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +6 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +3 -3
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +59 -4
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js +48 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts +5 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js +65 -2
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +25 -6
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +115 -32
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +47 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +115 -6
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js +3 -2
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +4 -3
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js +56 -196
- package/node_modules/@openrig/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/getting-started-narrative.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts +8 -11
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +22 -26
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +8 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts +38 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +122 -4
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js +8 -14
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/routes/activity.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.js +186 -0
- package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/agent-images.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/agent-images.js +9 -0
- package/node_modules/@openrig/daemon/dist/routes/agent-images.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.js +61 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js +2 -2
- package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.js +46 -0
- package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health-summary.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/health-summary.js +8 -0
- package/node_modules/@openrig/daemon/dist/routes/health-summary.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +25 -12
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +38 -2
- package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +73 -14
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +15 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js +4 -1
- package/node_modules/@openrig/daemon/dist/routes/views.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js +40 -3
- package/node_modules/@openrig/daemon/dist/routes/watchdog.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +30 -4
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +227 -5
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +9 -1
- package/package.json +1 -1
- package/tui/dist/daemon-client.d.ts +5 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +17 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/demo-data.js +2 -2
- package/tui/dist/demo-data.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +12 -4
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/live-events.d.ts +21 -0
- package/tui/dist/live-events.d.ts.map +1 -0
- package/tui/dist/live-events.js +88 -0
- package/tui/dist/live-events.js.map +1 -0
- package/tui/dist/live.js +1 -1
- package/tui/dist/main.js +27 -8
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/refresh.d.ts +10 -1
- package/tui/dist/refresh.d.ts.map +1 -1
- package/tui/dist/refresh.js +22 -2
- package/tui/dist/refresh.js.map +1 -1
- package/daemon/context-packs/skills/core/attention-queue/SKILL.md +0 -264
- package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +0 -9
- package/daemon/context-packs/world/install/01-world-from-primitives.md +0 -97
- package/daemon/context-packs/world/install/02-permission-self-sleep.md +0 -141
- package/daemon/context-packs/world/install/03-what-this-is-for.md +0 -86
- package/daemon/context-packs/world/install/04-ontology.md +0 -790
- package/daemon/context-packs/world/install/05-harness-power-use.md +0 -355
- package/daemon/context-packs/world/install/06-a-competent-turn.md +0 -225
- package/daemon/context-packs/world/install/manifest.yaml +0 -125
- package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +0 -264
- package/dist/lib/scope-templates/mission-brief.md +0 -20
- package/dist/lib/scope-templates/mission-notes.md +0 -102
- package/dist/slack/config.d.ts.map +0 -1
- package/dist/slack/config.js.map +0 -1
- package/dist/slack/connector-server.d.ts +0 -31
- package/dist/slack/connector-server.d.ts.map +0 -1
- package/dist/slack/connector-server.js +0 -108
- package/dist/slack/connector-server.js.map +0 -1
- package/dist/slack/inbound-admission.d.ts.map +0 -1
- package/dist/slack/inbound-admission.js.map +0 -1
- package/dist/slack/inbound.d.ts.map +0 -1
- package/dist/slack/inbound.js.map +0 -1
- package/dist/slack/message.d.ts +0 -39
- package/dist/slack/message.d.ts.map +0 -1
- package/dist/slack/message.js +0 -88
- package/dist/slack/message.js.map +0 -1
- package/dist/slack/outbound.d.ts +0 -39
- package/dist/slack/outbound.d.ts.map +0 -1
- package/dist/slack/outbound.js +0 -63
- package/dist/slack/outbound.js.map +0 -1
- package/dist/slack/queue-bridge.d.ts +0 -61
- package/dist/slack/queue-bridge.d.ts.map +0 -1
- package/dist/slack/queue-bridge.js +0 -114
- package/dist/slack/queue-bridge.js.map +0 -1
- package/dist/slack/secrets.d.ts.map +0 -1
- package/dist/slack/secrets.js.map +0 -1
- package/dist/slack/slack-api.d.ts +0 -49
- package/dist/slack/slack-api.d.ts.map +0 -1
- package/dist/slack/slack-api.js +0 -110
- package/dist/slack/slack-api.js.map +0 -1
- package/dist/slack/slack-delivery.d.ts +0 -14
- package/dist/slack/slack-delivery.d.ts.map +0 -1
- package/dist/slack/slack-delivery.js +0 -28
- package/dist/slack/slack-delivery.js.map +0 -1
- package/dist/slack/state-store.d.ts.map +0 -1
- package/dist/slack/state-store.js.map +0 -1
- /package/{dist → daemon/dist/domain/gateway}/slack/inbound-admission.js +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/secrets.d.ts +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/secrets.js +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/state-store.d.ts +0 -0
- /package/{dist → daemon/dist/domain/gateway}/slack/state-store.js +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Policy, PolicyJob } from "./types.js";
|
|
2
|
+
export interface ContextUsageConditionSource {
|
|
3
|
+
measure(job: PolicyJob): number;
|
|
4
|
+
}
|
|
5
|
+
export declare function makeContextUsageThresholdPolicy(source?: ContextUsageConditionSource): Policy;
|
|
6
|
+
export declare const contextUsageThresholdPolicy: Policy;
|
|
7
|
+
//# sourceMappingURL=context-usage-threshold.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-usage-threshold.d.ts","sourceRoot":"","sources":["../../../src/domain/policies/context-usage-threshold.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAoB,SAAS,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,WAAW,2BAA2B;IAC1C,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,MAAM,CAAC;CACjC;AAMD,wBAAgB,+BAA+B,CAC7C,MAAM,GAAE,2BAAkD,GACzD,MAAM,CA8FR;AAED,eAAO,MAAM,2BAA2B,QAAoC,CAAC"}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { statSync } from "node:fs";
|
|
2
|
+
const transcriptByteSource = {
|
|
3
|
+
measure: (job) => statSync(job.watchedFilePath ?? "").size,
|
|
4
|
+
};
|
|
5
|
+
export function makeContextUsageThresholdPolicy(source = transcriptByteSource) {
|
|
6
|
+
return {
|
|
7
|
+
name: "context-usage-threshold",
|
|
8
|
+
async evaluate(job) {
|
|
9
|
+
if (!job.thresholdBytes) {
|
|
10
|
+
return { action: "terminal", reason: "threshold_invalid" };
|
|
11
|
+
}
|
|
12
|
+
if (!job.occupantGeneration) {
|
|
13
|
+
return {
|
|
14
|
+
action: "terminal",
|
|
15
|
+
reason: "occupant_generation_unresolved",
|
|
16
|
+
notes: { targetSession: job.target.session },
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
if (job.lastFiredGeneration === job.occupantGeneration) {
|
|
20
|
+
// Keep one post-fire receipt observation in history, then make the
|
|
21
|
+
// stable once-per-generation no-op quiet so a long-lived job does not
|
|
22
|
+
// append a row on every scheduler interval.
|
|
23
|
+
return {
|
|
24
|
+
action: "skip",
|
|
25
|
+
reason: job.lastEvaluationAt === job.lastFireAt
|
|
26
|
+
? "threshold_already_fired"
|
|
27
|
+
: "threshold_receipt_stable",
|
|
28
|
+
notes: {
|
|
29
|
+
occupantGeneration: job.occupantGeneration,
|
|
30
|
+
watchedFilePath: job.watchedFilePath,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
if (job.currentGenerationTranscriptPending) {
|
|
35
|
+
return {
|
|
36
|
+
action: "skip",
|
|
37
|
+
reason: "current_generation_transcript_pending",
|
|
38
|
+
notes: {
|
|
39
|
+
targetSession: job.target.session,
|
|
40
|
+
occupantGeneration: job.occupantGeneration,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
let observedBytes;
|
|
45
|
+
try {
|
|
46
|
+
observedBytes = source.measure(job);
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return {
|
|
50
|
+
action: "terminal",
|
|
51
|
+
reason: "watched_file_unresolved",
|
|
52
|
+
notes: {
|
|
53
|
+
watchedFilePath: job.watchedFilePath,
|
|
54
|
+
error: error instanceof Error ? error.message : String(error),
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
if (observedBytes < job.thresholdBytes) {
|
|
59
|
+
return {
|
|
60
|
+
action: "skip",
|
|
61
|
+
reason: "context_usage_below_threshold",
|
|
62
|
+
notes: {
|
|
63
|
+
observedBytes,
|
|
64
|
+
thresholdBytes: job.thresholdBytes,
|
|
65
|
+
watchedFilePath: job.watchedFilePath,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
if (job.requiresJobId && !job.requiredReceiptSatisfied) {
|
|
70
|
+
return {
|
|
71
|
+
action: "skip",
|
|
72
|
+
reason: job.requiredReceiptDeferred
|
|
73
|
+
? "required_watchdog_receipt_not_yet_eligible"
|
|
74
|
+
: "required_watchdog_receipt_missing",
|
|
75
|
+
notes: {
|
|
76
|
+
requiresJobId: job.requiresJobId,
|
|
77
|
+
occupantGeneration: job.occupantGeneration,
|
|
78
|
+
},
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
const reason = `${observedBytes} transcript bytes crossed the ${job.thresholdBytes}-byte threshold ` +
|
|
82
|
+
`for occupant ${job.occupantGeneration}.`;
|
|
83
|
+
return {
|
|
84
|
+
action: "send",
|
|
85
|
+
target: job.target,
|
|
86
|
+
message: job.message ?? `Context usage threshold crossed for ${job.target.session}. ${reason}`,
|
|
87
|
+
notes: {
|
|
88
|
+
reason,
|
|
89
|
+
observedBytes,
|
|
90
|
+
thresholdBytes: job.thresholdBytes,
|
|
91
|
+
watchedFilePath: job.watchedFilePath,
|
|
92
|
+
occupantGeneration: job.occupantGeneration,
|
|
93
|
+
},
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
export const contextUsageThresholdPolicy = makeContextUsageThresholdPolicy();
|
|
99
|
+
//# sourceMappingURL=context-usage-threshold.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-usage-threshold.js","sourceRoot":"","sources":["../../../src/domain/policies/context-usage-threshold.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { QueueRepository } from "../queue-repository.js";
|
|
2
|
+
import type { WatchdogJobsRepository } from "../watchdog-jobs-repository.js";
|
|
3
|
+
import type { Policy } from "./types.js";
|
|
4
|
+
export declare const DELIVERY_DEFERRAL_POLICY = "delivery-deferral";
|
|
5
|
+
export declare const DELIVERY_DEFERRAL_ARMED_PREFIX = "delivery-deferral-armed";
|
|
6
|
+
export declare const DELIVERY_DEFERRAL_FIRED_PREFIX = "delivery-deferral-fired";
|
|
7
|
+
export interface ArmDeliveryDeferralInput {
|
|
8
|
+
jobsRepo: WatchdogJobsRepository;
|
|
9
|
+
queueRepo: QueueRepository;
|
|
10
|
+
qitemId: string;
|
|
11
|
+
entityId: string;
|
|
12
|
+
minutes: number;
|
|
13
|
+
notificationKey?: string;
|
|
14
|
+
now?: Date;
|
|
15
|
+
}
|
|
16
|
+
/** Arm the one-shot deferral. Idempotent per notification key: an already-armed
|
|
17
|
+
* live deferral for the same episode is returned, never duplicated (the
|
|
18
|
+
* exactly-once half of AM-F3 — one delivery at T, never immediate-plus-deferred). */
|
|
19
|
+
export declare function armDeliveryDeferral(input: ArmDeliveryDeferralInput): {
|
|
20
|
+
jobId: string;
|
|
21
|
+
};
|
|
22
|
+
export interface FireDeliveryDeferralInput {
|
|
23
|
+
jobsRepo: WatchdogJobsRepository;
|
|
24
|
+
queueRepo: QueueRepository;
|
|
25
|
+
jobId: string;
|
|
26
|
+
/** R1 B-3: the EPISODE key rides the fire so the Slice 14 receipt lands
|
|
27
|
+
* current-episode-exact — never the bare-qitemId fallback. */
|
|
28
|
+
deliverInterrupt: (qitemId: string, notificationKey: string) => Promise<{
|
|
29
|
+
ok: boolean;
|
|
30
|
+
}>;
|
|
31
|
+
now?: Date;
|
|
32
|
+
}
|
|
33
|
+
/** Fire the deferral iff due — v3 (dual-rebind repair, R1 76a8cfd1 + R2
|
|
34
|
+
* 003f4786): the LOCKED contract is exactly-once at T+30, never zero, never
|
|
35
|
+
* two. The job stays ACTIVE (the redrive) until the episode's own posted
|
|
36
|
+
* receipt is OBSERVED on the row; only that observation writes the fired
|
|
37
|
+
* transition and the terminal state. Delivery rides a durable episode-stable
|
|
38
|
+
* decision id (`deferral:<key>`), so a replayed pending decision and a
|
|
39
|
+
* re-dispatch converge on one post; a death anywhere before the receipt
|
|
40
|
+
* leaves the ACTIVE job to redrive after reconstruction. */
|
|
41
|
+
export declare function fireDeliveryDeferralIfDue(input: FireDeliveryDeferralInput): Promise<{
|
|
42
|
+
fired: boolean;
|
|
43
|
+
}>;
|
|
44
|
+
/** Watchdog-engine policy wrapper (additionalPolicies injection, the
|
|
45
|
+
* parked-owner-consumer wiring precedent). The engine's scheduler cadence
|
|
46
|
+
* drives evaluation; the due arithmetic above owns the timing. */
|
|
47
|
+
export declare function makeDeliveryDeferralPolicy(deps: {
|
|
48
|
+
jobsRepo: WatchdogJobsRepository;
|
|
49
|
+
queueRepo: QueueRepository;
|
|
50
|
+
deliverInterrupt: (qitemId: string, notificationKey: string) => Promise<{
|
|
51
|
+
ok: boolean;
|
|
52
|
+
}>;
|
|
53
|
+
}): Policy;
|
|
54
|
+
//# sourceMappingURL=delivery-deferral.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-deferral.d.ts","sourceRoot":"","sources":["../../../src/domain/policies/delivery-deferral.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AAC7E,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAC5D,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AACxE,eAAO,MAAM,8BAA8B,4BAA4B,CAAC;AAExE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAUD;;sFAEsF;AACtF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAoCtF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd;mEAC+D;IAC/D,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACzF,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAgBD;;;;;;;6DAO6D;AAC7D,wBAAsB,yBAAyB,CAAC,KAAK,EAAE,yBAAyB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,CA4D7G;AAED;;mEAEmE;AACnE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE;IAC/C,QAAQ,EAAE,sBAAsB,CAAC;IACjC,SAAS,EAAE,eAAe,CAAC;IAC3B,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,EAAE,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CAC1F,GAAG,MAAM,CAcT"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
// OPR.0.5.6.1 AM-F1 — the 30-minute away-escalation deferral as a DEFERRED
|
|
2
|
+
// DELIVERY on the EXISTING watchdog substrate (SQLite is the schedule; no
|
|
3
|
+
// third timer engine, no setInterval anywhere here). The deferral is recorded
|
|
4
|
+
// AS A TRANSITION on the row (the S01 transitions-are-the-state pattern), the
|
|
5
|
+
// job is a ONE-SHOT (terminal after its single fire — deliberately not the
|
|
6
|
+
// repeating periodic-reminder shape), and a daemon restart mid-window changes
|
|
7
|
+
// nothing: a fresh repository over the same DB sees the same armed job and the
|
|
8
|
+
// same fire-at arithmetic (AM-F1 tooth: exactly once at T+30, never zero,
|
|
9
|
+
// never two).
|
|
10
|
+
export const DELIVERY_DEFERRAL_POLICY = "delivery-deferral";
|
|
11
|
+
export const DELIVERY_DEFERRAL_ARMED_PREFIX = "delivery-deferral-armed";
|
|
12
|
+
export const DELIVERY_DEFERRAL_FIRED_PREFIX = "delivery-deferral-fired";
|
|
13
|
+
/** Arm the one-shot deferral. Idempotent per notification key: an already-armed
|
|
14
|
+
* live deferral for the same episode is returned, never duplicated (the
|
|
15
|
+
* exactly-once half of AM-F3 — one delivery at T, never immediate-plus-deferred). */
|
|
16
|
+
export function armDeliveryDeferral(input) {
|
|
17
|
+
const key = input.notificationKey ?? input.qitemId;
|
|
18
|
+
const existing = input.jobsRepo.listActive().find((j) => j.policy === DELIVERY_DEFERRAL_POLICY && j.specYaml.includes(`notificationKey: "${key}"`));
|
|
19
|
+
if (existing)
|
|
20
|
+
return { jobId: existing.jobId };
|
|
21
|
+
const armedAt = (input.now ?? new Date()).toISOString();
|
|
22
|
+
const specYaml = [
|
|
23
|
+
"context:",
|
|
24
|
+
` qitemId: "${input.qitemId}"`,
|
|
25
|
+
` entityId: "${input.entityId}"`,
|
|
26
|
+
` minutes: ${input.minutes}`,
|
|
27
|
+
` armedAt: "${armedAt}"`,
|
|
28
|
+
` notificationKey: "${key}"`,
|
|
29
|
+
].join("\n");
|
|
30
|
+
const job = input.jobsRepo.register({
|
|
31
|
+
policy: DELIVERY_DEFERRAL_POLICY,
|
|
32
|
+
specYaml,
|
|
33
|
+
targetSession: `${input.entityId}@external`,
|
|
34
|
+
intervalSeconds: Math.max(60, input.minutes * 60),
|
|
35
|
+
registeredBySession: "daemon@kernel",
|
|
36
|
+
});
|
|
37
|
+
// Transitions ARE the state: the deferral is readable off the row after any restart.
|
|
38
|
+
input.queueRepo.update({
|
|
39
|
+
qitemId: input.qitemId,
|
|
40
|
+
actorSession: "daemon@kernel",
|
|
41
|
+
transitionNote: [
|
|
42
|
+
DELIVERY_DEFERRAL_ARMED_PREFIX,
|
|
43
|
+
`job_id=${job.jobId}`,
|
|
44
|
+
`fire_at=${new Date(Date.parse(armedAt) + input.minutes * 60_000).toISOString()}`,
|
|
45
|
+
`notification_key=${key}`,
|
|
46
|
+
`who=${input.entityId}`,
|
|
47
|
+
].join(" "),
|
|
48
|
+
});
|
|
49
|
+
return { jobId: job.jobId };
|
|
50
|
+
}
|
|
51
|
+
function parseContext(specYaml) {
|
|
52
|
+
const grab = (k) => {
|
|
53
|
+
const m = specYaml.match(new RegExp(`${k}:\\s*"?([^"\\n]+)"?`));
|
|
54
|
+
return m ? m[1] : null;
|
|
55
|
+
};
|
|
56
|
+
const qitemId = grab("qitemId");
|
|
57
|
+
const entityId = grab("entityId");
|
|
58
|
+
const minutes = grab("minutes");
|
|
59
|
+
const armedAt = grab("armedAt");
|
|
60
|
+
const notificationKey = grab("notificationKey");
|
|
61
|
+
if (!qitemId || !entityId || !minutes || !armedAt || !notificationKey)
|
|
62
|
+
return null;
|
|
63
|
+
return { qitemId, entityId, minutes: Number(minutes), armedAt, notificationKey };
|
|
64
|
+
}
|
|
65
|
+
/** Fire the deferral iff due — v3 (dual-rebind repair, R1 76a8cfd1 + R2
|
|
66
|
+
* 003f4786): the LOCKED contract is exactly-once at T+30, never zero, never
|
|
67
|
+
* two. The job stays ACTIVE (the redrive) until the episode's own posted
|
|
68
|
+
* receipt is OBSERVED on the row; only that observation writes the fired
|
|
69
|
+
* transition and the terminal state. Delivery rides a durable episode-stable
|
|
70
|
+
* decision id (`deferral:<key>`), so a replayed pending decision and a
|
|
71
|
+
* re-dispatch converge on one post; a death anywhere before the receipt
|
|
72
|
+
* leaves the ACTIVE job to redrive after reconstruction. */
|
|
73
|
+
export async function fireDeliveryDeferralIfDue(input) {
|
|
74
|
+
const job = input.jobsRepo.getById(input.jobId);
|
|
75
|
+
if (!job || job.state !== "active")
|
|
76
|
+
return { fired: false };
|
|
77
|
+
const ctx = parseContext(job.specYaml);
|
|
78
|
+
if (!ctx) {
|
|
79
|
+
input.jobsRepo.markTerminal(input.jobId, "delivery-deferral spec unparseable (fail closed, loudly terminal)");
|
|
80
|
+
return { fired: false };
|
|
81
|
+
}
|
|
82
|
+
const now = input.now ?? new Date();
|
|
83
|
+
const fireAt = Date.parse(ctx.armedAt) + ctx.minutes * 60_000;
|
|
84
|
+
if (now.getTime() < fireAt)
|
|
85
|
+
return { fired: false };
|
|
86
|
+
const notes = input.queueRepo.listTransitions(ctx.qitemId).map((t) => t.transitionNote ?? "");
|
|
87
|
+
// The episode's receipt is the ONLY completion evidence: observe -> fired -> terminal.
|
|
88
|
+
const receipted = notes.some((n) => n.startsWith("slack-owner-notification-posted ") && n.split(/\s+/).includes(`notification_key=${ctx.notificationKey}`));
|
|
89
|
+
if (receipted) {
|
|
90
|
+
if (!notes.some((n) => n.startsWith(DELIVERY_DEFERRAL_FIRED_PREFIX))) {
|
|
91
|
+
input.queueRepo.update({
|
|
92
|
+
qitemId: ctx.qitemId,
|
|
93
|
+
actorSession: "daemon@kernel",
|
|
94
|
+
transitionNote: [
|
|
95
|
+
DELIVERY_DEFERRAL_FIRED_PREFIX,
|
|
96
|
+
`job_id=${input.jobId}`,
|
|
97
|
+
`notification_key=${ctx.notificationKey}`,
|
|
98
|
+
`who=${ctx.entityId}`,
|
|
99
|
+
].join(" "),
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
input.jobsRepo.markTerminal(input.jobId, "delivery-deferral fired (receipt observed)");
|
|
103
|
+
return { fired: true };
|
|
104
|
+
}
|
|
105
|
+
// Distinct PENDING state (never terminal, never posted): the dispatch attempt
|
|
106
|
+
// is on the record while the job redrives.
|
|
107
|
+
if (!notes.some((n) => n.startsWith("delivery-deferral-dispatching"))) {
|
|
108
|
+
input.queueRepo.update({
|
|
109
|
+
qitemId: ctx.qitemId,
|
|
110
|
+
actorSession: "daemon@kernel",
|
|
111
|
+
transitionNote: `delivery-deferral-dispatching job_id=${input.jobId} notification_key=${ctx.notificationKey}`,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
try {
|
|
115
|
+
const delivery = await input.deliverInterrupt(ctx.qitemId, ctx.notificationKey);
|
|
116
|
+
if (!delivery.ok) {
|
|
117
|
+
input.queueRepo.update({
|
|
118
|
+
qitemId: ctx.qitemId,
|
|
119
|
+
actorSession: "daemon@kernel",
|
|
120
|
+
transitionNote: `delivery-deferral-attempt-failed job_id=${input.jobId} notification_key=${ctx.notificationKey}`,
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
// A death/throw mid-delivery: the job stays ACTIVE — reconstruction redrives.
|
|
126
|
+
input.queueRepo.update({
|
|
127
|
+
qitemId: ctx.qitemId,
|
|
128
|
+
actorSession: "daemon@kernel",
|
|
129
|
+
transitionNote: `delivery-deferral-attempt-failed job_id=${input.jobId} notification_key=${ctx.notificationKey} error=${e.message.slice(0, 120)}`,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
return { fired: false };
|
|
133
|
+
}
|
|
134
|
+
/** Watchdog-engine policy wrapper (additionalPolicies injection, the
|
|
135
|
+
* parked-owner-consumer wiring precedent). The engine's scheduler cadence
|
|
136
|
+
* drives evaluation; the due arithmetic above owns the timing. */
|
|
137
|
+
export function makeDeliveryDeferralPolicy(deps) {
|
|
138
|
+
return {
|
|
139
|
+
name: DELIVERY_DEFERRAL_POLICY,
|
|
140
|
+
async evaluate(job) {
|
|
141
|
+
const { fired } = await fireDeliveryDeferralIfDue({
|
|
142
|
+
jobsRepo: deps.jobsRepo,
|
|
143
|
+
queueRepo: deps.queueRepo,
|
|
144
|
+
jobId: job.jobId,
|
|
145
|
+
deliverInterrupt: deps.deliverInterrupt,
|
|
146
|
+
});
|
|
147
|
+
if (fired)
|
|
148
|
+
return { action: "terminal", reason: "delivery-deferral fired" };
|
|
149
|
+
return { action: "skip", reason: "not due" };
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=delivery-deferral.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-deferral.js","sourceRoot":"","sources":["../../../src/domain/policies/delivery-deferral.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { QueueRepository } from "../queue-repository.js";
|
|
2
|
+
import type { OwnerNotificationLevel } from "../queue-transition-log.js";
|
|
3
|
+
import type { Policy } from "./types.js";
|
|
4
|
+
export declare const DELIVERY_DIGEST_FLUSH_POLICY = "delivery-digest-flush";
|
|
5
|
+
interface RegistrySurfaceLike {
|
|
6
|
+
loadHumanRegistry: (home: string) => {
|
|
7
|
+
ok: boolean;
|
|
8
|
+
entities?: Array<{
|
|
9
|
+
entityId: string;
|
|
10
|
+
address: string;
|
|
11
|
+
}>;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export interface RunDeliveryDigestFlushInput {
|
|
15
|
+
queueRepo: QueueRepository;
|
|
16
|
+
registry: RegistrySurfaceLike;
|
|
17
|
+
home: string;
|
|
18
|
+
dispatch: (op: string, entityBindingRef: string, payload: unknown, opts?: {
|
|
19
|
+
decisionId?: string;
|
|
20
|
+
}) => {
|
|
21
|
+
ok: boolean;
|
|
22
|
+
error?: string;
|
|
23
|
+
};
|
|
24
|
+
window: "4h" | "daily";
|
|
25
|
+
minimumLevel?: OwnerNotificationLevel;
|
|
26
|
+
}
|
|
27
|
+
export declare function runDeliveryDigestFlush(input: RunDeliveryDigestFlushInput): Promise<{
|
|
28
|
+
dispatched: number;
|
|
29
|
+
members: number;
|
|
30
|
+
}>;
|
|
31
|
+
/** Watchdog-engine policy wrapper — the repeating window flush (digests recur;
|
|
32
|
+
* only the deferral is one-shot). */
|
|
33
|
+
export declare function makeDeliveryDigestFlushPolicy(deps: {
|
|
34
|
+
queueRepo: QueueRepository;
|
|
35
|
+
registry: RegistrySurfaceLike;
|
|
36
|
+
home: string;
|
|
37
|
+
dispatch: (op: string, entityBindingRef: string, payload: unknown, opts?: {
|
|
38
|
+
decisionId?: string;
|
|
39
|
+
}) => {
|
|
40
|
+
ok: boolean;
|
|
41
|
+
error?: string;
|
|
42
|
+
};
|
|
43
|
+
}): Policy;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=delivery-digest-flush.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-digest-flush.d.ts","sourceRoot":"","sources":["../../../src/domain/policies/delivery-digest-flush.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAE9D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,YAAY,CAAC;AAEtE,eAAO,MAAM,4BAA4B,0BAA0B,CAAC;AAEpE,UAAU,mBAAmB;IAC3B,iBAAiB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QACnC,EAAE,EAAE,OAAO,CAAC;QACZ,QAAQ,CAAC,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC;CACH;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACtI,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAED,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6DjI;AAED;sCACsC;AACtC,wBAAgB,6BAA6B,CAAC,IAAI,EAAE;IAClD,SAAS,EAAE,eAAe,CAAC;IAC3B,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK;QAAE,EAAE,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvI,GAAG,MAAM,CAUT"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
// OPR.0.5.6.1 mini-req 3 + AM-F1 — the C/D digest flush, v3 (dual-rebind
|
|
2
|
+
// repair, R1 76a8cfd1 + R2 003f4786): LOSSLESS and EXACTLY-ONCE by transport
|
|
3
|
+
// truth. Membership = the RECORDED message-time decision for the CURRENT
|
|
4
|
+
// episode (containment wrote it with live dials at decision time). The digest
|
|
5
|
+
// posts THROUGH THE GATEWAY on a durable episode-stable decision id
|
|
6
|
+
// (`digest:<stable-hash>`): the dispatch buffer redrives it until the real
|
|
7
|
+
// post succeeds, the delivered-store makes any replay/re-dispatch converge on
|
|
8
|
+
// one post, and the S14 retain-and-repair path owns the post/stamp crash
|
|
9
|
+
// boundary. Member receipts are stamped by the delivery seam ONLY AFTER the
|
|
10
|
+
// post — a transport failure leaves zero false receipts and every member
|
|
11
|
+
// flushable (the redrive is the recovery, never a silent loss).
|
|
12
|
+
import { createHash } from "node:crypto";
|
|
13
|
+
import { makeQueuePorts } from "../gateway/slack/queue-access.js";
|
|
14
|
+
import { OUTBOUND_OP } from "../gateway/slack/outbound-driver.js";
|
|
15
|
+
import { DispatchBuffer } from "../gateway/dispatch-buffer.js";
|
|
16
|
+
export const DELIVERY_DIGEST_FLUSH_POLICY = "delivery-digest-flush";
|
|
17
|
+
export async function runDeliveryDigestFlush(input) {
|
|
18
|
+
const reg = input.registry.loadHumanRegistry(input.home);
|
|
19
|
+
if (!reg.ok || !reg.entities || reg.entities.length === 0)
|
|
20
|
+
return { dispatched: 0, members: 0 };
|
|
21
|
+
const human = reg.entities[0];
|
|
22
|
+
const ports = makeQueuePorts(input.queueRepo, {
|
|
23
|
+
loadHumanRegistry: () => reg,
|
|
24
|
+
});
|
|
25
|
+
// The selection already drops receipted episodes — receipts exist only after
|
|
26
|
+
// a REAL post, so members remain flushable until transport truth.
|
|
27
|
+
const alerts = await ports.listHumanAlerts({ minimumLevel: input.minimumLevel ?? "NOTICE" });
|
|
28
|
+
// MEMBERSHIP EXCLUSIVITY (R1 HOLD c7818ceb): a member already riding a
|
|
29
|
+
// PENDING digest decision is IN FLIGHT — the durable buffer is the
|
|
30
|
+
// recovery-safe source of truth (no new state, no ordering window: a mint
|
|
31
|
+
// lost before enqueue leaves no pending entry, so its members stay
|
|
32
|
+
// mintable; an enqueued mint redrives to transport truth). Excluding
|
|
33
|
+
// in-flight members makes overlap structurally impossible, so a growing
|
|
34
|
+
// member set can never double-deliver the pending ones.
|
|
35
|
+
const inFlight = new Set();
|
|
36
|
+
try {
|
|
37
|
+
for (const d of new DispatchBuffer(input.home).pending()) {
|
|
38
|
+
if (!d.decisionId.startsWith("digest:"))
|
|
39
|
+
continue;
|
|
40
|
+
const mrs = d.payload?.memberReceipts ?? [];
|
|
41
|
+
for (const m of mrs)
|
|
42
|
+
if (m.notificationKey)
|
|
43
|
+
inFlight.add(m.notificationKey);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch { /* unreadable buffer: fail open to selection; the dispatcher's stable-id idempotence still guards the same-set case */ }
|
|
47
|
+
const members = alerts.filter((alert) => {
|
|
48
|
+
const key = alert.notificationKey ?? alert.qitemId;
|
|
49
|
+
if (inFlight.has(key))
|
|
50
|
+
return false;
|
|
51
|
+
return input.queueRepo.listTransitions(alert.qitemId).some((t) => t.transitionNote?.startsWith("delivery-decision: digest")
|
|
52
|
+
&& t.transitionNote.includes(`notification_key=${key}`)
|
|
53
|
+
&& t.transitionNote.includes(`window=${input.window}`));
|
|
54
|
+
});
|
|
55
|
+
if (members.length === 0)
|
|
56
|
+
return { dispatched: 0, members: 0 };
|
|
57
|
+
const memberReceipts = members.map((m) => ({
|
|
58
|
+
qitemId: m.qitemId,
|
|
59
|
+
notificationKey: m.notificationKey ?? m.qitemId,
|
|
60
|
+
level: m.ownerNotificationLevel ?? "RECORD",
|
|
61
|
+
kind: m.ownerNotificationKind ?? "unclassified",
|
|
62
|
+
}));
|
|
63
|
+
// Durable episode-stable identity: same member set + window -> same decision id.
|
|
64
|
+
const digestId = createHash("sha256")
|
|
65
|
+
.update(input.window + "|" + memberReceipts.map((m) => m.notificationKey).sort().join(","))
|
|
66
|
+
.digest("hex")
|
|
67
|
+
.slice(0, 16);
|
|
68
|
+
const payload = {
|
|
69
|
+
deliveryDigestPost: true,
|
|
70
|
+
digestId,
|
|
71
|
+
qitemId: memberReceipts[0].qitemId, // anchor row for transport-failure ledger writes
|
|
72
|
+
destinationSession: human.address,
|
|
73
|
+
summary: `Delivery digest (${input.window}) — ${members.length} item(s)`,
|
|
74
|
+
body: members.map((m) => `• ${m.summary ?? m.qitemId} [${m.qitemId}]`).join("\n"),
|
|
75
|
+
memberReceipts,
|
|
76
|
+
};
|
|
77
|
+
const res = input.dispatch(OUTBOUND_OP, human.address, payload, { decisionId: `digest:${digestId}` });
|
|
78
|
+
return { dispatched: res.ok ? 1 : 0, members: members.length };
|
|
79
|
+
}
|
|
80
|
+
/** Watchdog-engine policy wrapper — the repeating window flush (digests recur;
|
|
81
|
+
* only the deferral is one-shot). */
|
|
82
|
+
export function makeDeliveryDigestFlushPolicy(deps) {
|
|
83
|
+
return {
|
|
84
|
+
name: DELIVERY_DIGEST_FLUSH_POLICY,
|
|
85
|
+
async evaluate(job) {
|
|
86
|
+
const window = (job.context.window === "daily" ? "daily" : "4h");
|
|
87
|
+
const r = await runDeliveryDigestFlush({ ...deps, window });
|
|
88
|
+
if (r.dispatched > 0)
|
|
89
|
+
return { action: "skip", reason: `digest dispatched (${r.members} items)` };
|
|
90
|
+
return { action: "skip", reason: "nothing to flush" };
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=delivery-digest-flush.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delivery-digest-flush.js","sourceRoot":"","sources":["../../../src/domain/policies/delivery-digest-flush.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { Policy } from "./types.js";
|
|
2
|
+
import type { WatchdogHistoryEntry } from "../watchdog-history-log.js";
|
|
3
|
+
/** Structural view of the shipped SeatParkedDiagnosis (parked-query.ts). */
|
|
4
|
+
export interface ParkedSeatDiagnosisView {
|
|
5
|
+
sessionName: string;
|
|
6
|
+
parked: boolean | "indeterminate";
|
|
7
|
+
activity: {
|
|
8
|
+
value: string;
|
|
9
|
+
needsInput: {
|
|
10
|
+
count: number;
|
|
11
|
+
reason: string | null;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
obligations: {
|
|
15
|
+
items: Array<{
|
|
16
|
+
qitemId: string;
|
|
17
|
+
state: string;
|
|
18
|
+
summary: string | null;
|
|
19
|
+
}>;
|
|
20
|
+
held: Array<{
|
|
21
|
+
qitemId: string;
|
|
22
|
+
healthy: boolean;
|
|
23
|
+
}>;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
export interface RowTransitionView {
|
|
27
|
+
ts: string;
|
|
28
|
+
transitionNote: string | null;
|
|
29
|
+
}
|
|
30
|
+
export interface ParkedOwnerConsumerDeps {
|
|
31
|
+
/** The shipped rig-scoped diagnosis (diagnoseRigParked), adapter-constructed. */
|
|
32
|
+
diagnoseRig: (rigName: string) => {
|
|
33
|
+
seats: ParkedSeatDiagnosisView[];
|
|
34
|
+
} | null;
|
|
35
|
+
/** Telemetry — used ONLY to reconcile recent delivery outcomes onto rows
|
|
36
|
+
* (immediate horizon); NEVER as episode state. */
|
|
37
|
+
history: {
|
|
38
|
+
listForJob: (jobId: string, limit: number) => WatchdogHistoryEntry[];
|
|
39
|
+
countForJob: (jobId: string) => number;
|
|
40
|
+
};
|
|
41
|
+
/** The durable row-side surfaces (queue repository, adapter-wired). */
|
|
42
|
+
rows: {
|
|
43
|
+
listTransitions: (qitemId: string) => RowTransitionView[];
|
|
44
|
+
/** State-preserving note append; ok:false when the row is terminal or missing
|
|
45
|
+
* (the last guard of the delivery boundary). */
|
|
46
|
+
appendNote: (qitemId: string, note: string) => {
|
|
47
|
+
ok: boolean;
|
|
48
|
+
};
|
|
49
|
+
/** Lands a failed wake in the ladder's native vocabulary (last_nudge_result). */
|
|
50
|
+
recordNudgeResult: (qitemId: string, result: string) => void;
|
|
51
|
+
/** FRESH open-obligation ids for a seat at the send boundary (B1 recheck). */
|
|
52
|
+
listOpenIds: (destinationSession: string) => string[];
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
export declare const PARKED_OWNER_POLICY_NAME = "parked-owner-consumer";
|
|
56
|
+
/** Stable per-rig registration anchor: member@rig shape, policy name as slug. */
|
|
57
|
+
export declare function makeRigAnchor(rigName: string): string;
|
|
58
|
+
export declare function rigFromAnchor(targetSession: string): string;
|
|
59
|
+
export declare const RESERVE_PREFIX = "parked-owner wake reserved:";
|
|
60
|
+
export declare const CLOSE_PREFIX = "parked-owner episode closed:";
|
|
61
|
+
export declare const REFUSED_PREFIX = "parked-owner wake delivery refused:";
|
|
62
|
+
export declare const FAILED_PREFIX = "parked-owner wake delivery failed:";
|
|
63
|
+
export declare const NUDGE_FAIL_PREFIX = "failed: parked-owner wake delivery";
|
|
64
|
+
export declare function makeParkedOwnerConsumerPolicy(deps: ParkedOwnerConsumerDeps): Policy;
|
|
65
|
+
//# sourceMappingURL=parked-owner-consumer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parked-owner-consumer.d.ts","sourceRoot":"","sources":["../../../src/domain/policies/parked-owner-consumer.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,MAAM,EAA+B,MAAM,YAAY,CAAC;AACtE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAEvE,4EAA4E;AAC5E,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC;IAClC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,CAAC;IAClF,WAAW,EAAE;QACX,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAC,CAAC;QACzE,IAAI,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;KACpD,CAAC;CACH;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,uBAAuB;IACtC,iFAAiF;IACjF,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,uBAAuB,EAAE,CAAA;KAAE,GAAG,IAAI,CAAC;IAC9E;uDACmD;IACnD,OAAO,EAAE;QACP,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,oBAAoB,EAAE,CAAC;QACrE,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;KACxC,CAAC;IACF,uEAAuE;IACvE,IAAI,EAAE;QACJ,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,iBAAiB,EAAE,CAAC;QAC1D;yDACiD;QACjD,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK;YAAE,EAAE,EAAE,OAAO,CAAA;SAAE,CAAC;QAC/D,iFAAiF;QACjF,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;QAC7D,8EAA8E;QAC9E,WAAW,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;KACvD,CAAC;CACH;AAED,eAAO,MAAM,wBAAwB,0BAA0B,CAAC;AAEhE,iFAAiF;AACjF,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAI3D;AAID,eAAO,MAAM,cAAc,gCAAgC,CAAC;AAC5D,eAAO,MAAM,YAAY,iCAAiC,CAAC;AAC3D,eAAO,MAAM,cAAc,wCAAwC,CAAC;AACpE,eAAO,MAAM,aAAa,uCAAuC,CAAC;AAClE,eAAO,MAAM,iBAAiB,uCAAuC,CAAC;AA0EtE,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,uBAAuB,GAAG,MAAM,CAiJnF"}
|