@openrig/cli 0.5.9 → 0.5.10
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/plugins/openrig-core/skills/messaging-the-human/SKILL.md +48 -61
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +19 -5
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +25 -0
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +26 -10
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +21 -6
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/SKILL.md +48 -61
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +3 -3
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/SKILL.md +19 -5
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/SKILL.md +25 -0
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/SKILL.md +40 -139
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +3 -3
- package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +40 -60
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +3 -3
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +34 -31
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +3 -3
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +6 -8
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/domain/gateway/channel-operations.d.ts +39 -0
- package/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/channel-operations.js +35 -0
- package/daemon/dist/domain/gateway/channel-operations.js.map +1 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.js +3 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/human-readiness.d.ts +37 -0
- package/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/human-readiness.js +44 -0
- package/daemon/dist/domain/gateway/human-readiness.js.map +1 -0
- package/daemon/dist/domain/gateway/human-registry.d.ts +2 -7
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +2 -7
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +16 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +35 -12
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
- package/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +18 -0
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +62 -8
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +13 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +59 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.d.ts +21 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.js +28 -1
- package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts +2 -0
- package/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.js +6 -1
- package/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +4 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
- package/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
- package/daemon/dist/domain/health-checkpoints.d.ts +57 -0
- package/daemon/dist/domain/health-checkpoints.d.ts.map +1 -0
- package/daemon/dist/domain/health-checkpoints.js +198 -0
- package/daemon/dist/domain/health-checkpoints.js.map +1 -0
- package/daemon/dist/domain/health-context.d.ts +14 -0
- package/daemon/dist/domain/health-context.d.ts.map +1 -0
- package/daemon/dist/domain/health-context.js +93 -0
- package/daemon/dist/domain/health-context.js.map +1 -0
- package/daemon/dist/domain/health-detectors.d.ts +106 -0
- package/daemon/dist/domain/health-detectors.d.ts.map +1 -0
- package/daemon/dist/domain/health-detectors.js +392 -0
- package/daemon/dist/domain/health-detectors.js.map +1 -0
- package/daemon/dist/domain/health-diagnosis.d.ts +143 -0
- package/daemon/dist/domain/health-diagnosis.d.ts.map +1 -0
- package/daemon/dist/domain/health-diagnosis.js +249 -0
- package/daemon/dist/domain/health-diagnosis.js.map +1 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts +19 -0
- package/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -0
- package/daemon/dist/domain/health-passive-ceremony.js +234 -0
- package/daemon/dist/domain/health-passive-ceremony.js.map +1 -0
- package/daemon/dist/domain/health-policy.d.ts +45 -0
- package/daemon/dist/domain/health-policy.d.ts.map +1 -0
- package/daemon/dist/domain/health-policy.js +89 -0
- package/daemon/dist/domain/health-policy.js.map +1 -0
- package/daemon/dist/domain/health-projection.d.ts +237 -0
- package/daemon/dist/domain/health-projection.d.ts.map +1 -0
- package/daemon/dist/domain/health-projection.js +312 -0
- package/daemon/dist/domain/health-projection.js.map +1 -0
- package/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js +14 -11
- package/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +1 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.js +35 -6
- package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +14 -0
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +60 -5
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts +5 -0
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +28 -0
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/queue-wait-backoff.d.ts +21 -0
- package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -0
- package/daemon/dist/domain/queue-wait-backoff.js +96 -0
- package/daemon/dist/domain/queue-wait-backoff.js.map +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts +1 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +8 -3
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +3 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +9 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +72 -12
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -0
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +5 -0
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/workflow-projector.d.ts +24 -0
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +108 -16
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +58 -11
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.d.ts +2 -2
- package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-spec-cache.js +16 -0
- package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/daemon/dist/domain/workflow-types.d.ts +8 -0
- package/daemon/dist/domain/workflow-types.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-types.js.map +1 -1
- package/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-validator.js +18 -0
- package/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/daemon/dist/gateway-human-registry-surface.d.ts +1 -0
- package/daemon/dist/gateway-human-registry-surface.d.ts.map +1 -1
- package/daemon/dist/gateway-human-registry-surface.js +1 -0
- package/daemon/dist/gateway-human-registry-surface.js.map +1 -1
- package/daemon/dist/gateway-slack-surface.d.ts +1 -0
- package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
- package/daemon/dist/gateway-slack-surface.js +1 -0
- package/daemon/dist/gateway-slack-surface.js.map +1 -1
- package/daemon/dist/health-detectors-surface.d.ts +2 -0
- package/daemon/dist/health-detectors-surface.d.ts.map +1 -0
- package/daemon/dist/health-detectors-surface.js +2 -0
- package/daemon/dist/health-detectors-surface.js.map +1 -0
- package/daemon/dist/health-projection-surface.d.ts +2 -0
- package/daemon/dist/health-projection-surface.d.ts.map +1 -0
- package/daemon/dist/health-projection-surface.js +2 -0
- package/daemon/dist/health-projection-surface.js.map +1 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +2 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/lib/pane-envelope.d.ts.map +1 -1
- package/daemon/dist/lib/pane-envelope.js +4 -1
- package/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts +5 -1
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +70 -22
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/health-diagnosis.d.ts +3 -0
- package/daemon/dist/routes/health-diagnosis.d.ts.map +1 -0
- package/daemon/dist/routes/health-diagnosis.js +47 -0
- package/daemon/dist/routes/health-diagnosis.js.map +1 -0
- package/daemon/dist/routes/health.d.ts +3 -0
- package/daemon/dist/routes/health.d.ts.map +1 -0
- package/daemon/dist/routes/health.js +50 -0
- package/daemon/dist/routes/health.js.map +1 -0
- package/daemon/dist/routes/hosts.d.ts +2 -0
- package/daemon/dist/routes/hosts.d.ts.map +1 -1
- package/daemon/dist/routes/hosts.js +12 -5
- package/daemon/dist/routes/hosts.js.map +1 -1
- package/daemon/dist/server.d.ts +8 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +8 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +29 -1
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/health-diagnosis.md +305 -0
- package/daemon/docs/reference/product-journey-sdlc.md +53 -15
- package/daemon/docs/reference/sdlc-conventions.md +6 -4
- package/daemon/specs/agents/development/implementer/agent.yaml +1 -9
- package/daemon/specs/agents/development/implementer/guidance/role.md +21 -43
- package/daemon/specs/agents/development/qa/agent.yaml +2 -11
- package/daemon/specs/agents/development/qa/guidance/role.md +21 -73
- package/daemon/specs/agents/orchestration/orchestrator/agent.yaml +1 -9
- package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +25 -72
- package/daemon/specs/agents/review/independent-reviewer/agent.yaml +1 -9
- package/daemon/specs/agents/review/independent-reviewer/guidance/role.md +20 -35
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +21 -6
- package/daemon/specs/agents/shared/skills/core/messaging-the-human/SKILL.md +48 -61
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +40 -139
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +40 -60
- package/daemon/specs/agents/shared/skills/pods/review-team/SKILL.md +34 -31
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +6 -8
- package/daemon/specs/rigs/launch/demo/CULTURE.md +21 -30
- package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +3 -3
- package/daemon/specs/rigs/preview/product-team/CULTURE.md +26 -71
- package/dist/build-info.js +3 -3
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +1 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/gateway.d.ts +17 -0
- package/dist/commands/gateway.d.ts.map +1 -1
- package/dist/commands/gateway.js +99 -13
- package/dist/commands/gateway.js.map +1 -1
- package/dist/commands/health.d.ts +12 -0
- package/dist/commands/health.d.ts.map +1 -0
- package/dist/commands/health.js +351 -0
- package/dist/commands/health.js.map +1 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +2 -0
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/queue.d.ts +18 -0
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +62 -0
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +4 -1
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +39 -11
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +8 -6
- package/dist/commands/workflow.js.map +1 -1
- package/dist/config-store.d.ts +9 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +72 -14
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +5 -1
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +4 -2
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/scope/scope-fs.js +2 -2
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js +35 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/channel-operations.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js +3 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts +37 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js +44 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-readiness.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +2 -7
- 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 +2 -7
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts +16 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js +35 -12
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/queue-access.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js +62 -8
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js +59 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js +28 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-routing.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js +11 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/slack/thread-seat-map.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts +57 -0
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js +198 -0
- package/node_modules/@openrig/daemon/dist/domain/health-checkpoints.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts +14 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.js +93 -0
- package/node_modules/@openrig/daemon/dist/domain/health-context.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts +106 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.js +392 -0
- package/node_modules/@openrig/daemon/dist/domain/health-detectors.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts +143 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js +249 -0
- package/node_modules/@openrig/daemon/dist/domain/health-diagnosis.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js +234 -0
- package/node_modules/@openrig/daemon/dist/domain/health-passive-ceremony.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts +45 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.js +89 -0
- package/node_modules/@openrig/daemon/dist/domain/health-policy.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts +237 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.js +312 -0
- package/node_modules/@openrig/daemon/dist/domain/health-projection.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js +14 -11
- package/node_modules/@openrig/daemon/dist/domain/mission-control/mission-control-read-layer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/node-inventory.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js +35 -6
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +14 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +60 -5
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.d.ts +5 -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 +28 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js +96 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +8 -3
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.d.ts +9 -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 +72 -12
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +2 -0
- 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 +5 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +24 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +108 -16
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +58 -11
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts +2 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js +16 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js +18 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-validator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-human-registry-surface.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js +1 -0
- package/node_modules/@openrig/daemon/dist/gateway-slack-surface.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/health-detectors-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.js +2 -0
- package/node_modules/@openrig/daemon/dist/health-projection-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +2 -0
- package/node_modules/@openrig/daemon/dist/index.js.map +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 +4 -1
- package/node_modules/@openrig/daemon/dist/lib/pane-envelope.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts +5 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/gateway.js +70 -22
- package/node_modules/@openrig/daemon/dist/routes/gateway.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js +47 -0
- package/node_modules/@openrig/daemon/dist/routes/health-diagnosis.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/health.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/health.js +50 -0
- package/node_modules/@openrig/daemon/dist/routes/health.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/routes/hosts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/hosts.js +12 -5
- package/node_modules/@openrig/daemon/dist/routes/hosts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +8 -0
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +29 -1
- 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/commands/registry.js +1 -1
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +2 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +4 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/health/health-model.d.ts +25 -0
- package/tui/dist/health/health-model.d.ts.map +1 -0
- package/tui/dist/health/health-model.js +322 -0
- package/tui/dist/health/health-model.js.map +1 -0
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +13 -2
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +2 -0
- package/tui/dist/input.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +23 -2
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +14 -8
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/types.d.ts +90 -1
- package/tui/dist/types.d.ts.map +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: orchestration-team
|
|
3
|
-
description:
|
|
3
|
+
description: Use when coordinating assignments, selected review boundaries, or blocked work across a rig.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Orchestration Team
|
|
@@ -9,14 +9,18 @@ You are part of the orchestration pod. Your job is to keep the team productive,
|
|
|
9
9
|
|
|
10
10
|
## Startup sequence
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
Run `rig whoami --json`, then resolve `project.yaml -> mission.yaml -> active
|
|
13
|
+
slice.yaml -> selected component or wave map -> addressed context`. The complete
|
|
14
|
+
lookup and precedence rule is `docs/reference/product-journey-sdlc.md#resolve-the-selected-path`
|
|
15
|
+
(installed: `$OPENRIG_HOME/reference/product-journey-sdlc.md#resolve-the-selected-path`).
|
|
16
|
+
Read the selected addresses and source needed for this task; skills available in
|
|
17
|
+
your profile are capabilities, not a mandatory reading list. No composition means
|
|
18
|
+
light Part A. Role names and idle seats add no gates. Explicit rigor and authored
|
|
19
|
+
wave boundaries retain their named checks.
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
Check the queue and actual seats needed for this assignment. A declared topology
|
|
22
|
+
is a capability inventory, not a requirement to fill every lane. Dispatch the
|
|
23
|
+
smallest complete outcome with its selected context and stop condition.
|
|
20
24
|
|
|
21
25
|
## Pod responsibilities
|
|
22
26
|
|
|
@@ -66,7 +70,7 @@ If there is more than one orchestrator, divide the load:
|
|
|
66
70
|
|
|
67
71
|
**Peer** owns:
|
|
68
72
|
- Coverage monitoring — who's idle, who's stuck, who's drifting
|
|
69
|
-
- QA flow health —
|
|
73
|
+
- Selected QA flow health — is the promised outcome being verified at its authored boundary
|
|
70
74
|
- Different-model perspective on architectural decisions
|
|
71
75
|
- Mental model sync — keeping shared state current
|
|
72
76
|
- Convergence partner for reviews and roundtables
|
|
@@ -75,13 +79,11 @@ If there is only one orchestrator, you own both the main work stream and the cov
|
|
|
75
79
|
|
|
76
80
|
## Delegation rules
|
|
77
81
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
5. Do not silently shrink the team model from an early partial inventory. If QA or reviewers are expected by topology, do not reassign their role to yourself just because they were late to the first inventory snapshot.
|
|
84
|
-
6. Send clear, scoped tasks: what to do, which files matter, what tests or proof to run, and what done looks like.
|
|
82
|
+
Resolve the selected path first. Derive which seats are available with `rig ps`
|
|
83
|
+
and `rig whoami`; assign only roles the current work needs. One seat may hold
|
|
84
|
+
neighboring components unless the selection requires independence. If a required
|
|
85
|
+
independent evaluator is unavailable, name that specific blocker. Do not wait for
|
|
86
|
+
an entire starter topology or assign extra reviews to occupy it.
|
|
85
87
|
|
|
86
88
|
## Task packet shape
|
|
87
89
|
|
|
@@ -90,7 +92,7 @@ When you dispatch work, give the receiving agent enough structure to act without
|
|
|
90
92
|
- which files or surfaces matter
|
|
91
93
|
- what acceptance criteria define success
|
|
92
94
|
- what proof or verification you expect back
|
|
93
|
-
-
|
|
95
|
+
- any independently held component explicitly selected, and the boundary that triggers it
|
|
94
96
|
|
|
95
97
|
**(0.5.0) Assign work *with* its context attached.** Rather than make the assignee grep for the as-built, compose a context pack and ride it on the handoff: `rig context compose --out packs/<brief> --from <files>`, then `rig queue create --destination <seat> --body-context packs/<brief> --summary "…"`. The pack's resolved content is snapshotted into the qitem (plus its ref for provenance), so the context survives compaction and is auditable. See `openrig-user` → "Context packs and paced delivery." (`rig context` composes; the queue delivers — the noun never sends.)
|
|
96
98
|
|
|
@@ -150,41 +152,24 @@ fourteen-seat rig's seats waiting for nodes that did not exist).
|
|
|
150
152
|
- If the settled inventory contradicts your earlier assumption, correct course immediately
|
|
151
153
|
and use the actual nodes.
|
|
152
154
|
|
|
153
|
-
## Milestone routing —
|
|
155
|
+
## Milestone routing — follow the selected boundary
|
|
154
156
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
- do not let implementation start from pure intuition when product behavior is unclear
|
|
160
|
-
- do not let edits land before QA has approved a pre-edit proposal
|
|
161
|
-
- do not skip reviewer involvement once there is a real diff, a QA-approved working tree, or a meaningful architectural checkpoint
|
|
162
|
-
- if commit authority is disabled, route review on the working tree, verification output, and transcript evidence instead of waiting for a commit
|
|
157
|
+
Only the authored component/wave selection or an explicit owner assignment admits
|
|
158
|
+
a review or gate. Part A is the fallback; a role label, tier, milestone, prior
|
|
159
|
+
review or available seat cannot choose Part B. If a concrete risk needs a different
|
|
160
|
+
path, ask the owner and record the resulting selection for that work.
|
|
163
161
|
|
|
164
|
-
|
|
162
|
+
For a wave, builders verify their local slices and the integrator folds serially
|
|
163
|
+
where needed. Independent review fires once at the authored wave boundary, with
|
|
164
|
+
its selected review model. Preserve separately named rigorous-slice exceptions.
|
|
165
|
+
A tiny docs outcome may stay with its builder through verification and return.
|
|
165
166
|
|
|
166
|
-
|
|
167
|
-
- after a significant implementation milestone
|
|
168
|
-
- when two agents disagree on approach or quality
|
|
169
|
-
- when the human asks for a checkpoint
|
|
170
|
-
- when you are unsure whether a piece of work is trustworthy enough to ship
|
|
167
|
+
## Keeping work moving
|
|
171
168
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
biggest utilization leak is **unstocked worker queues**, so your steady-state job is to keep work
|
|
177
|
-
flowing INTO each lane's queue *ahead of* demand. The worker side of this is the pull-after-handoff
|
|
178
|
-
circulation in `queue-handoff` (finish → hand the baton off → pull your own next item → idle only when
|
|
179
|
-
the queue is truly empty); your side is making sure there is always a next item to pull. Planners are
|
|
180
|
-
rarely blocked — keep their queues full; implementers are more sequential but still queueable.
|
|
181
|
-
|
|
182
|
-
On a watchdog wake, a cheap scoped `rig ps --nodes` surfaces a ready-but-idle agent (this is an event-driven check, not a poll loop). If one is idle:
|
|
183
|
-
- QA with no pending reviews should scan recent work for gaps
|
|
184
|
-
- reviewers with no assignment should review the newest meaningful progress
|
|
185
|
-
- designers with no open task should audit current flows and clarify ambiguous UX
|
|
186
|
-
|
|
187
|
-
Do not let agents idle when there is obviously useful work available.
|
|
169
|
+
Keep already-authorized work visible and route it when its dependencies allow.
|
|
170
|
+
There is no fixed queue buffer. Idle QA/review seats wait for their selected
|
|
171
|
+
boundary or assignment; they do not invent audits or review the newest progress.
|
|
172
|
+
An availability report is enough. Do not create obligations to improve utilization.
|
|
188
173
|
|
|
189
174
|
## Communication modes
|
|
190
175
|
|
|
@@ -209,9 +194,8 @@ across the lifecycle, not only when cornered.
|
|
|
209
194
|
|
|
210
195
|
## Implementation pair — gated workflow (when the gate is chosen)
|
|
211
196
|
|
|
212
|
-
**This loop
|
|
213
|
-
|
|
214
|
-
follows this loop:
|
|
197
|
+
**This optional loop runs only when the owner or authored composition selects
|
|
198
|
+
pre/post-edit QA for named work.** A tier or pair topology does not select it.
|
|
215
199
|
|
|
216
200
|
1. Impl sends a pre-edit proposal to QA
|
|
217
201
|
2. QA approves or rejects with specifics
|
|
@@ -252,8 +236,7 @@ For destructive operations (git push, rm, daemon stop, npm publish): DO NOT auto
|
|
|
252
236
|
- Will blast through an entire task list if given a "Go" without explicit gates
|
|
253
237
|
- After being told to slow down, over-corrects to "wait for permission for everything"
|
|
254
238
|
- Compaction is catastrophic — full context loss, needs preparation
|
|
255
|
-
- After compaction:
|
|
256
|
-
- After compaction, require marshal acceptance before treating a `RESTORED` claim as real — quiz the recovered seat on asked-vs-read depth before resuming work
|
|
239
|
+
- After compaction: restore the active assignment and its selected context; skill names alone are not restored content. Follow the declared continuity policy without adding a universal quiz gate.
|
|
257
240
|
|
|
258
241
|
### Codex agents (QA, peer, R2)
|
|
259
242
|
- Self-manages its own context window — do NOT intervene based on context percentage
|
|
@@ -286,13 +269,10 @@ Before any destructive operation: "If this goes wrong, can I undo it?" If no, co
|
|
|
286
269
|
|
|
287
270
|
## After compaction recovery
|
|
288
271
|
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
5. Ask your peer for a quiz to verify your mental model
|
|
294
|
-
|
|
295
|
-
For Claude Code seats in OpenRig, marshals/orchestrators should run an asked-vs-read-depth audit before accepting recovery (quiz the seat on context it claims to have restored). Preserve the Codex boundary: do not intervene on Codex context percentage or apply Claude compact-in-place by default.
|
|
272
|
+
Derive identity and current queue custody, then resolve the selected path again.
|
|
273
|
+
Read the restore pointer and relevant current sources; load the skills the task
|
|
274
|
+
needs. Follow any explicitly declared continuity checks. Do not require every
|
|
275
|
+
installed skill or a quiz as a universal admission gate.
|
|
296
276
|
|
|
297
277
|
## What you do not do
|
|
298
278
|
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "orchestration-team"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
|
-
purpose: "
|
|
6
|
+
purpose: "Use when coordinating assignments, selected review boundaries, or blocked work across a rig."
|
|
7
7
|
files:
|
|
8
8
|
- path: "SKILL.md"
|
|
9
9
|
role: "instruction"
|
|
10
|
-
summary: "
|
|
10
|
+
summary: "Use when coordinating assignments, selected review boundaries, or blocked work across a rig."
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "oversight-team"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when you are a seat on the oversight pod (a standing monitor-mode rig that keeps OTHER rigs healthy), configuring or running the drift detectors, or choosing whether to intervene vs escalate. Covers the pull-not-poll posture, the v0 detectors (premature-park, process-drift, off-task, token-burn), the intervention ladder (orchestrator-ping -> refocus -> human escalation), and the cheap+deep model economics. NOT for orchestrating your OWN rig (orchestration-team) and NOT the intervention primi"
|
|
7
7
|
files:
|
|
@@ -1,23 +1,40 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: review-team
|
|
3
|
-
description:
|
|
3
|
+
description: Use when assigned a review or when an authored review boundary is reached.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Review Team
|
|
7
7
|
|
|
8
8
|
You are part of the review pod. Your value is fresh scrutiny that implementation and QA do not have.
|
|
9
9
|
|
|
10
|
-
##
|
|
11
|
-
|
|
10
|
+
## Entry and proportionality
|
|
11
|
+
|
|
12
|
+
Run `rig whoami --json`, then resolve `project.yaml -> mission.yaml -> active
|
|
13
|
+
slice.yaml -> selected component or wave map -> addressed context`. The complete
|
|
14
|
+
lookup and precedence rule is `docs/reference/product-journey-sdlc.md#resolve-the-selected-path`
|
|
15
|
+
(installed: `$OPENRIG_HOME/reference/product-journey-sdlc.md#resolve-the-selected-path`).
|
|
16
|
+
Read the selected addresses and source needed for this task; skills available in
|
|
17
|
+
your profile are capabilities, not a mandatory reading list. No composition means
|
|
18
|
+
light Part A. Role names and idle seats add no gates. Explicit rigor and authored
|
|
19
|
+
wave boundaries retain their named checks.
|
|
20
|
+
|
|
21
|
+
Start a review only for an explicit owner assignment or an authored component/wave
|
|
22
|
+
review event. A visible milestone, idle queue, or available reviewer is not an
|
|
23
|
+
assignment. At a wave boundary review the accumulated outcome once; preserve a
|
|
24
|
+
named slice's explicit exception. Authors do not perform their own selected
|
|
25
|
+
independent review.
|
|
26
|
+
|
|
27
|
+
Match the selected review to the consequence. A small diff gets a focused pass;
|
|
28
|
+
the deep protocol below runs only when explicitly selected for named work.
|
|
29
|
+
Importance, size or a prior finding alone cannot self-select it. If another review
|
|
30
|
+
seems necessary, name the concrete unresolved risk to the owner while continuing
|
|
31
|
+
the selected path.
|
|
12
32
|
|
|
13
33
|
## Startup sequence
|
|
14
34
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- inspect the current rig state so you know whether you are reviewing a diff, a working tree, verification output, or only startup behavior
|
|
19
|
-
|
|
20
|
-
If there is no real review target yet, say that plainly and stay ready.
|
|
35
|
+
Derive the selection before forming a review position. If the assigned boundary
|
|
36
|
+
has not arrived, record readiness and wait for its event; do not scan for work to
|
|
37
|
+
turn into additional required reviews.
|
|
21
38
|
|
|
22
39
|
## Context priming — always do this first
|
|
23
40
|
|
|
@@ -96,20 +113,10 @@ rig chatroom send <rig> "[review] <structured findings>"
|
|
|
96
113
|
|
|
97
114
|
## When to review
|
|
98
115
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
Check for reviewable work with:
|
|
105
|
-
```bash
|
|
106
|
-
rig capture <impl-session> --lines 30
|
|
107
|
-
rig transcript <impl-session> --tail 50
|
|
108
|
-
git log --oneline -10
|
|
109
|
-
git diff --stat
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
If commit authority is disabled, review the working tree, verification output, and implementation transcript instead of waiting for a commit that may never happen.
|
|
116
|
+
Review the exact target when its selected entry condition holds. Read source and
|
|
117
|
+
verification evidence for that target; a working tree may be the target when the
|
|
118
|
+
assignment says so. Do not watch implementation increments or start a second
|
|
119
|
+
review merely because a milestone appeared.
|
|
113
120
|
|
|
114
121
|
## When there is no spec
|
|
115
122
|
|
|
@@ -121,7 +128,7 @@ When reviewing work that was implemented without a pre-existing spec (ad hoc, do
|
|
|
121
128
|
|
|
122
129
|
## Deep review protocol
|
|
123
130
|
|
|
124
|
-
|
|
131
|
+
Only when the owner or composition explicitly selects this protocol for named work, the orchestrator coordinates these phases. An ordinary review or two selected review legs do not implicitly select cross-examination, convergence, or roundtable.
|
|
125
132
|
|
|
126
133
|
### Phase 1: Context priming gate
|
|
127
134
|
|
|
@@ -203,11 +210,7 @@ The host writes the final roundtable document with:
|
|
|
203
210
|
|
|
204
211
|
Disagreement is useful. Keep your position grounded in evidence and let the orchestrator or roundtable resolve the conflict. Do not collapse your view just to create false consensus. If you're right, defend it. If you're wrong, retract it honestly.
|
|
205
212
|
|
|
206
|
-
## When there is
|
|
207
|
-
|
|
208
|
-
If the team is between milestones:
|
|
209
|
-
- check topology state with `rig ps --nodes`
|
|
210
|
-
- scan for coverage gaps or risky areas
|
|
211
|
-
- offer the orchestrator a proactive review target
|
|
213
|
+
## When there is no assigned review
|
|
212
214
|
|
|
213
|
-
|
|
215
|
+
Make availability visible once, then wait for the selected boundary or assignment.
|
|
216
|
+
An idle seat does not create a coverage audit, mandatory review, or new gate.
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "review-team"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
|
-
purpose: "
|
|
6
|
+
purpose: "Use when assigned a review or when an authored review boundary is reached."
|
|
7
7
|
files:
|
|
8
8
|
- path: "SKILL.md"
|
|
9
9
|
role: "instruction"
|
|
10
|
-
summary: "
|
|
10
|
+
summary: "Use when assigned a review or when an authored review boundary is reached."
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "agent-browser"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to \"open a website\", \"fill out a form\", \"click a button\", \"take a screenshot\", \"scrape data from a page\", \"test this web app\", \"login to a site\", \"automate browser actions\", or any task requiring programmatic web interaction."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "context-engineering"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when designing, reviewing, or debugging how an agent's context window gets filled, pruned, or shared — choosing what loads at boot versus on demand, sizing an install or an always-loaded file, fixing an agent that drifts, repeats itself, or forgets constraints mid-task, planning compaction or summarization, deciding single-agent versus subagents, engineering handoffs between agents, or picking a tool loadout. NOT for rewording a prompt's tone, choosing which model to pin, or debugging busine"
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "dogfood"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Systematically explore and test a web application to find bugs, UX issues, and other problems. Use when asked to \"dogfood\", \"QA\", \"exploratory test\", \"find issues\", \"bug hunt\", \"test this app/site/platform\", or review the quality of a web application. Produces a structured report with full reproduction evidence -- step-by-step screenshots, repro videos, and detailed repro steps for every issue -- so findings can be handed directly to the responsible teams."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "frontend-design"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "systematic-debugging"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes"
|
|
7
7
|
files:
|
|
@@ -33,14 +33,12 @@ Write the test first. Watch it fail. Write minimal code to pass.
|
|
|
33
33
|
|
|
34
34
|
Thinking "skip TDD just this once"? Stop. That's rationalization.
|
|
35
35
|
|
|
36
|
-
**Chunk size
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
risk. Match the chunk to the task; treat it as a configured lever — never as license to write code before
|
|
43
|
-
its test (that's the rationalization this skill exists to stop).
|
|
36
|
+
**Chunk size follows the outcome.** Keep red → green → refactor for the behavior
|
|
37
|
+
being changed and build a coherent chunk. TDD does not require two people,
|
|
38
|
+
pre-edit permission or a guard: independence and review cadence come from the
|
|
39
|
+
project/mission/slice component or wave selection. An explicitly selected gate
|
|
40
|
+
still applies; an unselected role cannot add one.
|
|
41
|
+
|
|
44
42
|
|
|
45
43
|
## The Iron Law
|
|
46
44
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "test-driven-development"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when implementing any feature or bugfix, before writing implementation code"
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "verification-before-completion"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always"
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "queue-handoff"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when ending a turn, finishing a slice, blocked on another agent's work, or escalating to a human — durable work handoff via queue items so the system keeps moving across compactions, missed messages, and interruptions. Covers the hot-potato terminal-turn-rule (active work ends by passing the ball, not by going idle), default-nudge semantics, and when `--no-nudge` is appropriate for intentional cold park or human gate."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "refocusing"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when a long-running agent may have lost the product outcome, when context was compacted, when work has crossed a major boundary, or when a fresh path-based trace is needed before the next consequential action. Not for fresh-session orientation, waking an idle seat, or checkpoints."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "retiring-and-inheriting-a-seat"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when you are a sitting agent near your context threshold (~85%) and a PLANNED seat transition is due — retire deliberately and hand your seat to a fresh successor primed from a packet, rather than let compaction degrade you. Covers the handover packet, the append-only lineage ledger (one row per tenure), physical-seat continuity, the do-not-over-inherit framing, the optional warm-handoff window, and wake-v0 (consulting a retired predecessor). NOT for unplanned compaction/crash recovery (sess"
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "seat-continuity-and-handover"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when replacing a seat's occupant (rebuild/handover/swap), reasoning about stable-seat-identity vs fluid-occupant-identity, choosing an old-occupant disposition (retire/advise/shadow), or recording provenance for an occupant change. Two independent outcomes (continuityOutcome + seatBindingOutcome) and the 5 failure modes that prevent silent dishonesty."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "session-compaction-and-restore"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when reasoning about what survives compaction/context-loss/restart/seat-refresh, designing a high-fidelity restore packet, or distinguishing native runtime resume vs fork vs artifact-backed mental-model rebuild. Covers the 4 failure modes that prevent honest restore (compacted seat drops hot potato; restore packet preserves details but loses product intent; runtime resume mistaken for handover or fork; rebuilt seat starts with stale instructions)."
|
|
7
7
|
files:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
2
|
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
3
|
name: "software-for-agents"
|
|
4
|
-
version: "0.5.
|
|
4
|
+
version: "0.5.10"
|
|
5
5
|
taxonomy: "skills"
|
|
6
6
|
purpose: "Use when older OpenRig instructions name software-for-agents or describe agent-in-the-middle or studio software under the former skill name."
|
|
7
7
|
files:
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// GENERATED by scripts/build-package.sh — the packaged build-identity stamp.
|
|
2
2
|
export const BUILD_INFO = {
|
|
3
|
-
semver: "0.5.
|
|
4
|
-
commit: "
|
|
3
|
+
semver: "0.5.10",
|
|
4
|
+
commit: "b4c833c646f8e49ae47cbee7b0e941be7b49f160",
|
|
5
5
|
dirty: false,
|
|
6
|
-
builtAt: "2026-09-
|
|
6
|
+
builtAt: "2026-09-06T18:25:23Z",
|
|
7
7
|
};
|
|
8
8
|
export function stampFields(info = BUILD_INFO) {
|
|
9
9
|
if (!info.commit) return {};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/** Deliberately small, value-free snapshots: credentials, handles, message bodies,
|
|
2
|
+
* and connector responses never enter the lifecycle ledger. */
|
|
3
|
+
export interface ChannelState {
|
|
4
|
+
enabled?: boolean;
|
|
5
|
+
active?: boolean;
|
|
6
|
+
digest?: string;
|
|
7
|
+
ready?: boolean | null;
|
|
8
|
+
}
|
|
9
|
+
export interface ChannelActor {
|
|
10
|
+
actor: string;
|
|
11
|
+
provenance: "transport:v1" | "claimed:v1";
|
|
12
|
+
reason: string;
|
|
13
|
+
}
|
|
14
|
+
export interface ChannelOperation extends ChannelActor {
|
|
15
|
+
id: string;
|
|
16
|
+
at: string;
|
|
17
|
+
action: "enable" | "disable" | "configure" | "verify" | "binding";
|
|
18
|
+
subject: string;
|
|
19
|
+
before: ChannelState;
|
|
20
|
+
after: ChannelState | null;
|
|
21
|
+
effect: "started" | "applied" | "no-op" | "observed" | "failed";
|
|
22
|
+
}
|
|
23
|
+
export declare function channelStateDigest(value: unknown): string;
|
|
24
|
+
/** A start receipt survives a crash between the effect and its completion receipt.
|
|
25
|
+
* Failure to write the start refuses BEFORE the effect; incomplete is never success. */
|
|
26
|
+
export declare function runChannelOperation<T>(input: ChannelActor & {
|
|
27
|
+
action: ChannelOperation["action"];
|
|
28
|
+
subject: string;
|
|
29
|
+
before: ChannelState;
|
|
30
|
+
run: () => Promise<{
|
|
31
|
+
value: T;
|
|
32
|
+
after: ChannelState;
|
|
33
|
+
effect: "applied" | "no-op" | "observed";
|
|
34
|
+
}>;
|
|
35
|
+
}, home?: string): Promise<{
|
|
36
|
+
value: T;
|
|
37
|
+
receipt: ChannelOperation;
|
|
38
|
+
}>;
|
|
39
|
+
//# sourceMappingURL=channel-operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-operations.d.ts","sourceRoot":"","sources":["../../../src/domain/gateway/channel-operations.ts"],"names":[],"mappings":"AAKA;+DAC+D;AAC/D,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,cAAc,GAAG,YAAY,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClE,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,CAAC;CACjE;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD;AAED;wFACwF;AACxF,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG;IACjE,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,YAAY,CAAC;IACrB,GAAG,EAAE,MAAM,OAAO,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,KAAK,EAAE,YAAY,CAAC;QAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,UAAU,CAAA;KAAE,CAAC,CAAC;CACjG,EAAE,IAAI,SAAmB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,CAAC,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,CAAC,CAsB5E"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { appendFileSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { createHash, randomUUID } from "node:crypto";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { getOpenRigHome } from "../../openrig-compat.js";
|
|
5
|
+
export function channelStateDigest(value) {
|
|
6
|
+
return createHash("sha256").update(JSON.stringify(value)).digest("hex");
|
|
7
|
+
}
|
|
8
|
+
/** A start receipt survives a crash between the effect and its completion receipt.
|
|
9
|
+
* Failure to write the start refuses BEFORE the effect; incomplete is never success. */
|
|
10
|
+
export async function runChannelOperation(input, home = getOpenRigHome()) {
|
|
11
|
+
if (!input.actor.trim() || !input.reason.trim())
|
|
12
|
+
throw new Error("channel operation requires actor and reason");
|
|
13
|
+
const dir = join(home, "state");
|
|
14
|
+
const file = join(dir, "human-channel-operations.jsonl");
|
|
15
|
+
mkdirSync(dir, { recursive: true });
|
|
16
|
+
const base = {
|
|
17
|
+
id: randomUUID(), actor: input.actor, provenance: input.provenance,
|
|
18
|
+
reason: input.reason, action: input.action, subject: input.subject, before: input.before,
|
|
19
|
+
};
|
|
20
|
+
const append = (after, effect) => {
|
|
21
|
+
const receipt = { ...base, at: new Date().toISOString(), after, effect };
|
|
22
|
+
appendFileSync(file, JSON.stringify(receipt) + "\n", { mode: 0o600 });
|
|
23
|
+
return receipt;
|
|
24
|
+
};
|
|
25
|
+
append(null, "started");
|
|
26
|
+
try {
|
|
27
|
+
const result = await input.run();
|
|
28
|
+
return { value: result.value, receipt: append(result.after, result.effect) };
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
append(null, "failed");
|
|
32
|
+
throw error;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=channel-operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel-operations.js","sourceRoot":"","sources":["../../../src/domain/gateway/channel-operations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA2BzD,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC;AAED;wFACwF;AACxF,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAI,KAK5C,EAAE,IAAI,GAAG,cAAc,EAAE;IACxB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IAChH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;IACzD,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG;QACX,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU;QAClE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM;KACzF,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,KAA0B,EAAE,MAAkC,EAAoB,EAAE;QAClG,MAAM,OAAO,GAAG,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACzE,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACtE,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC;QACjC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvB,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -18,6 +18,7 @@ export interface GatewayWire {
|
|
|
18
18
|
dispatcher: GatewayDispatcher;
|
|
19
19
|
stop(): void;
|
|
20
20
|
startServices?(): void;
|
|
21
|
+
status?(): Record<string, unknown>;
|
|
21
22
|
}
|
|
22
23
|
export interface InProcessWireOpts {
|
|
23
24
|
home: string;
|
|
@@ -44,6 +45,8 @@ export interface GatewaySubsystemStatus {
|
|
|
44
45
|
activatedAt?: string;
|
|
45
46
|
/** Durable un-delivered decisions awaiting delivery/replay (undefined until first start). */
|
|
46
47
|
pendingDispatches?: number;
|
|
48
|
+
/** Connector-owned live observations; never inferred when the wire has none. */
|
|
49
|
+
connector?: Record<string, unknown>;
|
|
47
50
|
}
|
|
48
51
|
export interface GatewaySubsystemDeps {
|
|
49
52
|
home: string;
|