@openrig/cli 0.5.11 → 0.5.12
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/LICENSE +190 -0
- package/daemon/assets/plugins/openrig-core/skills/agent-operated-software/SKILL.md +7 -4
- package/daemon/assets/plugins/openrig-core/skills/openrig-operating-model/SKILL.md +34 -23
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +92 -21
- package/daemon/context-packs/skills/agent-operated-software/SKILL.md +7 -4
- 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/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/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-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/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/SKILL.md +34 -23
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- 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/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/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/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/adapters/codex-resume.d.ts +1 -0
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +2 -9
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +7 -3
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +26 -30
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +15 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +64 -1
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/domain/active-occupant.d.ts +2 -2
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +5 -5
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/crash-cart-discovery.d.ts +3 -1
- package/daemon/dist/domain/crash-cart-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-discovery.js +15 -4
- package/daemon/dist/domain/crash-cart-discovery.js.map +1 -1
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +44 -2
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/fresh-occupant-relation.d.ts +8 -0
- package/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -0
- package/daemon/dist/domain/fresh-occupant-relation.js +31 -0
- package/daemon/dist/domain/fresh-occupant-relation.js.map +1 -0
- package/daemon/dist/domain/gateway/connections-projection.d.ts +30 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.js +36 -14
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/daemon/dist/domain/kernel-boot.d.ts +2 -0
- package/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/daemon/dist/domain/kernel-boot.js +1 -1
- package/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +35 -23
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/parked-query.d.ts +1 -0
- package/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/daemon/dist/domain/parked-query.js +2 -1
- package/daemon/dist/domain/parked-query.js.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts +2 -0
- package/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/daemon/dist/domain/policies/parked-owner-consumer.js +2 -2
- package/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
- package/daemon/dist/domain/policies/workflow-keepalive.js +12 -5
- package/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts +2 -0
- package/daemon/dist/domain/project-lifecycle-compiler.d.ts.map +1 -1
- package/daemon/dist/domain/project-lifecycle-compiler.js +2 -0
- package/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/daemon/dist/domain/proof/judgments.d.ts +138 -0
- package/daemon/dist/domain/proof/judgments.d.ts.map +1 -0
- package/daemon/dist/domain/proof/judgments.js +361 -0
- package/daemon/dist/domain/proof/judgments.js.map +1 -0
- package/daemon/dist/domain/proof/source-watch.d.ts +17 -0
- package/daemon/dist/domain/proof/source-watch.d.ts.map +1 -0
- package/daemon/dist/domain/proof/source-watch.js +60 -0
- package/daemon/dist/domain/proof/source-watch.js.map +1 -0
- package/daemon/dist/domain/queue-owner.d.ts +12 -0
- package/daemon/dist/domain/queue-owner.d.ts.map +1 -0
- package/daemon/dist/domain/queue-owner.js +28 -0
- package/daemon/dist/domain/queue-owner.js.map +1 -0
- package/daemon/dist/domain/queue-pickup.d.ts +3 -0
- package/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
- package/daemon/dist/domain/queue-pickup.js +14 -15
- package/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/daemon/dist/domain/queue-recovery.d.ts +10 -0
- package/daemon/dist/domain/queue-recovery.d.ts.map +1 -0
- package/daemon/dist/domain/queue-recovery.js +27 -0
- package/daemon/dist/domain/queue-recovery.js.map +1 -0
- package/daemon/dist/domain/queue-repository.d.ts +13 -6
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +177 -63
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.d.ts +2 -11
- package/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/daemon/dist/domain/queue-stuck-sweep.js +51 -52
- package/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/daemon/dist/domain/queue-wait-backoff.d.ts +29 -2
- package/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wait-backoff.js +73 -14
- package/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
- package/daemon/dist/domain/queue-waiting.d.ts +61 -0
- package/daemon/dist/domain/queue-waiting.d.ts.map +1 -0
- package/daemon/dist/domain/queue-waiting.js +108 -0
- package/daemon/dist/domain/queue-waiting.js.map +1 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts +9 -0
- package/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-ladder.js +122 -62
- package/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.d.ts +2 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +1 -0
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.js +5 -3
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +1 -0
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.d.ts +7 -4
- package/daemon/dist/domain/restore-plan-preview.d.ts.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +12 -6
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +9 -1
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +26 -7
- 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 -0
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/review/types.d.ts +2 -0
- package/daemon/dist/domain/review/types.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js +1 -0
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.d.ts +8 -0
- package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.js +6 -25
- package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +21 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +47 -1
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts +2 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +11 -4
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.d.ts +2 -0
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +26 -0
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +4 -2
- package/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +11 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +43 -10
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +13 -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-browser.d.ts +33 -0
- package/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -0
- package/daemon/dist/domain/user-settings/settings-browser.js +261 -0
- package/daemon/dist/domain/user-settings/settings-browser.js.map +1 -0
- package/daemon/dist/domain/view-event-bridge.d.ts.map +1 -1
- package/daemon/dist/domain/view-event-bridge.js +2 -0
- package/daemon/dist/domain/view-event-bridge.js.map +1 -1
- package/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/daemon/dist/domain/view-projector.js +4 -0
- package/daemon/dist/domain/view-projector.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +4 -0
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +8 -1
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.d.ts +3 -0
- package/daemon/dist/domain/watchdog-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-scheduler.js +3 -0
- package/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-escalation.js +13 -32
- package/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/daemon/dist/domain/workflow-exception-readiness.d.ts +39 -0
- package/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-exception-readiness.js +77 -0
- package/daemon/dist/domain/workflow-exception-readiness.js.map +1 -0
- package/daemon/dist/domain/workflow-exception-router.d.ts +3 -0
- package/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception-router.js +6 -1
- package/daemon/dist/domain/workflow-exception-router.js.map +1 -1
- package/daemon/dist/domain/workflow-exception.d.ts +6 -0
- package/daemon/dist/domain/workflow-exception.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-exception.js +10 -3
- package/daemon/dist/domain/workflow-exception.js.map +1 -1
- package/daemon/dist/domain/workflow-guidance.d.ts +53 -0
- package/daemon/dist/domain/workflow-guidance.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-guidance.js +212 -0
- package/daemon/dist/domain/workflow-guidance.js.map +1 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts +2 -0
- package/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-instance-store.js +7 -0
- package/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/daemon/dist/domain/workflow-planning-context.d.ts +3 -0
- package/daemon/dist/domain/workflow-planning-context.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-planning-context.js +36 -0
- package/daemon/dist/domain/workflow-planning-context.js.map +1 -0
- package/daemon/dist/domain/workflow-projector.d.ts +11 -2
- package/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-projector.js +83 -73
- package/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/daemon/dist/domain/workflow-reconciliation.d.ts +55 -0
- package/daemon/dist/domain/workflow-reconciliation.d.ts.map +1 -0
- package/daemon/dist/domain/workflow-reconciliation.js +228 -0
- package/daemon/dist/domain/workflow-reconciliation.js.map +1 -0
- package/daemon/dist/domain/workflow-runtime.d.ts +79 -2
- package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/daemon/dist/domain/workflow-runtime.js +97 -25
- package/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +1 -0
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/routes/activity.js +1 -1
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/config.d.ts +3 -1
- package/daemon/dist/routes/config.d.ts.map +1 -1
- package/daemon/dist/routes/config.js +11 -1
- package/daemon/dist/routes/config.js.map +1 -1
- package/daemon/dist/routes/missions.d.ts.map +1 -1
- package/daemon/dist/routes/missions.js +5 -2
- package/daemon/dist/routes/missions.js.map +1 -1
- package/daemon/dist/routes/proof.d.ts +3 -0
- package/daemon/dist/routes/proof.d.ts.map +1 -0
- package/daemon/dist/routes/proof.js +65 -0
- package/daemon/dist/routes/proof.js.map +1 -0
- package/daemon/dist/routes/review.d.ts.map +1 -1
- package/daemon/dist/routes/review.js +3 -2
- package/daemon/dist/routes/review.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +4 -3
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/scopes.d.ts.map +1 -1
- package/daemon/dist/routes/scopes.js +15 -4
- package/daemon/dist/routes/scopes.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts +4 -0
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +1 -1
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/slices.d.ts.map +1 -1
- package/daemon/dist/routes/slices.js +8 -2
- package/daemon/dist/routes/slices.js.map +1 -1
- package/daemon/dist/routes/startup.d.ts +7 -0
- package/daemon/dist/routes/startup.d.ts.map +1 -0
- package/daemon/dist/routes/startup.js +221 -0
- package/daemon/dist/routes/startup.js.map +1 -0
- package/daemon/dist/routes/up.d.ts.map +1 -1
- package/daemon/dist/routes/up.js +2 -1
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/routes/workflow.d.ts.map +1 -1
- package/daemon/dist/routes/workflow.js +43 -2
- package/daemon/dist/routes/workflow.js.map +1 -1
- package/daemon/dist/server.d.ts +1 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +5 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +15 -2
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +1 -1
- package/daemon/docs/reference/getting-started.md +28 -17
- package/daemon/docs/reference/legacy-topology-migration.md +1 -2
- package/daemon/docs/reference/mission-install.md +5 -11
- package/daemon/docs/reference/planning-dial.md +12 -14
- package/daemon/docs/reference/project-release-profile.yaml +4 -0
- package/daemon/docs/reference/refocus-channel.md +1 -4
- package/daemon/docs/reference/release-boundary.md +33 -30
- package/daemon/docs/reference/rig-spec.md +6 -6
- package/daemon/docs/reference/sdlc-conventions.md +16 -5
- package/daemon/docs/reference/wave-sdlc.md +5 -16
- package/daemon/docs/reference/worktree-builds.md +3 -3
- package/daemon/policies/examples/my-cautious-dev.policy.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +3 -3
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +11 -12
- package/dist/bin-wrapper.d.ts +1 -0
- package/dist/bin-wrapper.d.ts.map +1 -1
- package/dist/bin-wrapper.js +13 -0
- package/dist/bin-wrapper.js.map +1 -1
- package/dist/build-info.js +3 -3
- package/dist/commands/crash-cart.d.ts.map +1 -1
- package/dist/commands/crash-cart.js +20 -6
- package/dist/commands/crash-cart.js.map +1 -1
- package/dist/commands/proof.d.ts +2 -2
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +84 -4
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/queue.js +1 -1
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/workflow-render.d.ts +50 -0
- package/dist/commands/workflow-render.d.ts.map +1 -1
- package/dist/commands/workflow-render.js +41 -0
- package/dist/commands/workflow-render.js.map +1 -1
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +106 -5
- package/dist/commands/workflow.js.map +1 -1
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +4 -1
- package/dist/front-door.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.js +2 -9
- package/node_modules/@openrig/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts +7 -3
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +26 -30
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +15 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +64 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +2 -2
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +5 -5
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.js +15 -4
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-discovery.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +44 -2
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.js +31 -0
- package/node_modules/@openrig/daemon/dist/domain/fresh-occupant-relation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts +30 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js +36 -14
- package/node_modules/@openrig/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/kernel-boot.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js +35 -23
- package/node_modules/@openrig/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/parked-query.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js +2 -1
- package/node_modules/@openrig/daemon/dist/domain/parked-query.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js +2 -2
- package/node_modules/@openrig/daemon/dist/domain/policies/parked-owner-consumer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js +12 -5
- package/node_modules/@openrig/daemon/dist/domain/policies/workflow-keepalive.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.d.ts +2 -0
- 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 +2 -0
- package/node_modules/@openrig/daemon/dist/domain/project-lifecycle-compiler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts +138 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js +361 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/judgments.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.js +60 -0
- package/node_modules/@openrig/daemon/dist/domain/proof/source-watch.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.d.ts +12 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.js +28 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-owner.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js +14 -15
- package/node_modules/@openrig/daemon/dist/domain/queue-pickup.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.d.ts +10 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.js +27 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-recovery.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +13 -6
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +177 -63
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts +2 -11
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js +51 -52
- package/node_modules/@openrig/daemon/dist/domain/queue-stuck-sweep.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts +29 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js +73 -14
- package/node_modules/@openrig/daemon/dist/domain/queue-wait-backoff.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.d.ts +61 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.js +108 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-waiting.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js +122 -62
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-ladder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +2 -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 +1 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js +5 -3
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js.map +1 -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 +1 -0
- 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 +7 -4
- 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 +12 -6
- 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 +9 -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 +26 -7
- 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 -0
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/types.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/review/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.js +1 -0
- package/node_modules/@openrig/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts +8 -0
- 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 +6 -25
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts +21 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js +47 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js +11 -4
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +26 -0
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.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 +4 -2
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js +43 -10
- package/node_modules/@openrig/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +13 -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-browser.d.ts +33 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.js +261 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-browser.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.js +2 -0
- package/node_modules/@openrig/daemon/dist/domain/view-event-bridge.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js +4 -0
- package/node_modules/@openrig/daemon/dist/domain/view-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +8 -1
- 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 +3 -0
- 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 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-scheduler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js +13 -32
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-escalation.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.d.ts +39 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.js +77 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-readiness.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.js +10 -3
- package/node_modules/@openrig/daemon/dist/domain/workflow-exception.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.js +212 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-guidance.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js +7 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-instance-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.js +36 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-planning-context.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts +11 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js +83 -73
- package/node_modules/@openrig/daemon/dist/domain/workflow-projector.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.d.ts +55 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.js +228 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-reconciliation.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts +79 -2
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js +97 -25
- package/node_modules/@openrig/daemon/dist/domain/workflow-runtime.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/index.js +1 -0
- package/node_modules/@openrig/daemon/dist/index.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.js +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/routes/config.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js +11 -1
- package/node_modules/@openrig/daemon/dist/routes/config.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/missions.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/missions.js +5 -2
- package/node_modules/@openrig/daemon/dist/routes/missions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/proof.d.ts +3 -0
- package/node_modules/@openrig/daemon/dist/routes/proof.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/proof.js +65 -0
- package/node_modules/@openrig/daemon/dist/routes/proof.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/review.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/review.js +3 -2
- package/node_modules/@openrig/daemon/dist/routes/review.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +4 -3
- package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scopes.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scopes.js +15 -4
- package/node_modules/@openrig/daemon/dist/routes/scopes.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/slices.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/slices.js +8 -2
- package/node_modules/@openrig/daemon/dist/routes/slices.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/startup.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/routes/startup.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/startup.js +221 -0
- package/node_modules/@openrig/daemon/dist/routes/startup.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/up.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js +2 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/workflow.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/workflow.js +43 -2
- package/node_modules/@openrig/daemon/dist/routes/workflow.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +5 -0
- package/node_modules/@openrig/daemon/dist/server.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +15 -2
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +1 -1
- package/package.json +3 -2
- package/tui/dist/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +5 -1
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/config/config-model.d.ts +69 -0
- package/tui/dist/config/config-model.d.ts.map +1 -0
- package/tui/dist/config/config-model.js +215 -0
- package/tui/dist/config/config-model.js.map +1 -0
- package/tui/dist/crash-cart/from-emit.d.ts +5 -5
- package/tui/dist/crash-cart/from-emit.d.ts.map +1 -1
- package/tui/dist/crash-cart/from-emit.js +15 -9
- package/tui/dist/crash-cart/from-emit.js.map +1 -1
- package/tui/dist/crash-cart/keys.d.ts +1 -1
- package/tui/dist/crash-cart/keys.d.ts.map +1 -1
- package/tui/dist/crash-cart/keys.js +2 -0
- package/tui/dist/crash-cart/keys.js.map +1 -1
- package/tui/dist/crash-cart/start-daemon.d.ts +4 -0
- package/tui/dist/crash-cart/start-daemon.d.ts.map +1 -0
- package/tui/dist/crash-cart/start-daemon.js +12 -0
- package/tui/dist/crash-cart/start-daemon.js.map +1 -0
- package/tui/dist/daemon-client.d.ts +10 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +37 -3
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/execution/execution-model.d.ts +14 -0
- package/tui/dist/execution/execution-model.d.ts.map +1 -1
- package/tui/dist/execution/execution-model.js +48 -21
- package/tui/dist/execution/execution-model.js.map +1 -1
- package/tui/dist/execution/workflow-model.d.ts.map +1 -1
- package/tui/dist/execution/workflow-model.js +13 -1
- package/tui/dist/execution/workflow-model.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +40 -0
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/live.d.ts +2 -0
- package/tui/dist/live.d.ts.map +1 -1
- package/tui/dist/live.js +17 -1
- package/tui/dist/live.js.map +1 -1
- package/tui/dist/main.js +151 -10
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts +5 -0
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +51 -8
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/scopes/scopes-model.d.ts +44 -0
- package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
- package/tui/dist/scopes/scopes-model.js +68 -6
- package/tui/dist/scopes/scopes-model.js.map +1 -1
- package/tui/dist/sections.d.ts.map +1 -1
- package/tui/dist/sections.js +1 -0
- package/tui/dist/sections.js.map +1 -1
- package/tui/dist/startup.d.ts +82 -0
- package/tui/dist/startup.d.ts.map +1 -0
- package/tui/dist/startup.js +273 -0
- package/tui/dist/startup.js.map +1 -0
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +34 -8
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/types.d.ts +16 -1
- package/tui/dist/types.d.ts.map +1 -1
- package/ui/dist/assets/{index-wyX378xb.js → index-BVW54ItO.js} +165 -165
- package/ui/dist/index.html +1 -1
|
@@ -2,29 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
A CHECKLIST OF JUDGMENT GUIDES, not gates: every item says WHY, most items are one
|
|
4
4
|
act, and anything situational expires at the next boundary. Runs once per release
|
|
5
|
-
fence, after the prior release's ceremony completes.
|
|
6
|
-
|
|
7
|
-
playbook.
|
|
5
|
+
fence, after the prior release's ceremony completes. The project and seat owners
|
|
6
|
+
select the applicable actions and preserve their reasons in the boundary record.
|
|
8
7
|
|
|
9
8
|
## 1. Seats — reset or re-prime, per each seat's continuity needs
|
|
10
9
|
|
|
11
|
-
- **
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
content.
|
|
10
|
+
- **Choose continuity per seat, with its owner.** Fresh launch, managed compaction
|
|
11
|
+
with re-prime, or retaining the current session serve different needs. Role names
|
|
12
|
+
alone do not select one. Record the choice, the reason and custody of open work;
|
|
13
|
+
selecting a procedure does not itself authorize a lifecycle action.
|
|
14
|
+
- **Fresh launch** can clear accumulated context and load current startup guidance.
|
|
15
|
+
Before an authorized exit, preserve the seat's earned knowledge and continuation
|
|
16
|
+
(recap where provisioned); verify the new occupant's actual identity and install.
|
|
17
|
+
- **Managed compaction with re-prime** can retain planning continuity while
|
|
18
|
+
restoring the context needed for the next phase. **Retaining the current session**
|
|
19
|
+
can preserve ongoing custody. In either case, inspect which guidance is stale and
|
|
20
|
+
deliver the selected current context; an edit on disk is not delivery to a session.
|
|
23
21
|
- **Re-prime = the world walk + the current capability delta + the mission install**
|
|
24
22
|
per the mission-install convention (`docs/reference/mission-install.md`): the world
|
|
25
23
|
half restores where-you-are; the project half (five layers, two depth profiles,
|
|
26
|
-
paced pointer-walk) restores what-you-are-doing. Composing
|
|
27
|
-
|
|
24
|
+
paced pointer-walk) restores what-you-are-doing. Composing from named artifacts
|
|
25
|
+
keeps source precedence visible.
|
|
28
26
|
- **THE CEREMONY IS THE EXPERIMENT.** Every act above runs on the product's own
|
|
29
27
|
primitives, so the ceremony doubles as their live test. Observe passively: what did
|
|
30
28
|
each re-primed seat's first natural turns reach for, and what broke? Findings land
|
|
@@ -45,8 +43,8 @@ playbook.
|
|
|
45
43
|
- Every seat sweeps its DESTINATION for open rows (wakes are unreliable; the sweep
|
|
46
44
|
is the read). Each open row from the finished release gets exactly one of:
|
|
47
45
|
done-with-receipt · carried-to-the-new-mission (re-filed against the new plan,
|
|
48
|
-
never dragged) · closed-superseded.
|
|
49
|
-
|
|
46
|
+
never dragged) · closed-superseded. The sweep exposes obligations that a missed
|
|
47
|
+
wake or a stale remembered work list can hide.
|
|
50
48
|
- Verify every closing-paper inheritance has a live intake row with an owner. Zero
|
|
51
49
|
orphans.
|
|
52
50
|
|
|
@@ -79,17 +77,22 @@ playbook.
|
|
|
79
77
|
## 6. The capability-delta lifecycle (standing law)
|
|
80
78
|
|
|
81
79
|
Each release's capability delta is authored at the fence and bound to the exact
|
|
82
|
-
published cut. Its baseline is the canon's actual
|
|
83
|
-
assumption that the immediately prior semver was
|
|
84
|
-
new delta is a cumulative synthesis of every
|
|
85
|
-
supersessions and pivots rather than concatenating
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
80
|
+
candidate, then reconciled to the published cut. Its baseline is the canon's actual
|
|
81
|
+
last-absorbed marker, not an assumption that the immediately prior semver was
|
|
82
|
+
absorbed. When canon is behind, the new delta is a cumulative synthesis of every
|
|
83
|
+
intervening delta, preserving supersessions and pivots rather than concatenating
|
|
84
|
+
old prose.
|
|
85
|
+
|
|
86
|
+
Canon absorbs the kept public-product truths. Expiry requires BOTH the canon header
|
|
87
|
+
naming that exact delta AND a distinct successor delta file existing. A header alone
|
|
88
|
+
does not expire it; missing or unreadable inputs remain unknown/live. At the actual
|
|
89
|
+
boundary, verify the event before recording expiry, then stop citing the expired
|
|
90
|
+
delta. Do not create a successor merely to make the condition true. Candidate
|
|
91
|
+
absorption is not proof of publication or served production adoption.
|
|
92
|
+
|
|
93
|
+
Private project topology, host practice, and release ownership go to the versioned
|
|
94
|
+
project world instead of leaking into the public package. The new release's delta
|
|
95
|
+
obligations start at ITS cut.
|
|
93
96
|
|
|
94
97
|
## 7. World absorption and discoverability
|
|
95
98
|
|
|
@@ -174,7 +174,7 @@ edges:
|
|
|
174
174
|
| `name` | string | yes | — | Rig name. Used in session naming (`{pod}-{member}@{name}`), snapshot identification, and spec library lookup. |
|
|
175
175
|
| `summary` | string | no | — | Human-readable description. Shown in spec library, review surfaces, and `rig specs show`. |
|
|
176
176
|
| `culture_file` | string | no | — | Relative path to a rig-wide culture/constitution file. Must be a safe relative path (no `..`, no absolute). |
|
|
177
|
-
| `permission_policy` | string | no | — | Permission policy attached to the rig. Either a built-in (`builtin:locked`, `builtin:standard`, `builtin:open`, `builtin:
|
|
177
|
+
| `permission_policy` | string | no | — | Permission policy attached to the rig. Either a built-in (`builtin:locked`, `builtin:standard`, `builtin:open`, `builtin:yolo`) or a safe relative path to a custom policy file (resolved from this spec's directory; no `..`, no absolute). Absent leaves the default floor. A member may set its own `permission_policy`, which takes precedence over the rig-level one. See "Attaching a permission policy" below. |
|
|
178
178
|
| `docs` | Doc[] | no | — | Documentation files that should travel with the rig. Included in rig bundles. Each entry has a `path` field (safe relative path). The engine does not consume these — they are for humans and agents setting up the environment before launch. |
|
|
179
179
|
| `startup` | StartupBlock | no | — | Rig-level startup files and actions. Applied to all members via the startup layering model. |
|
|
180
180
|
| `services` | ServicesBlock | no | — | Optional managed services (Docker Compose). When present, services boot before any agent launches. |
|
|
@@ -193,7 +193,7 @@ permission_policy: builtin:standard
|
|
|
193
193
|
permission_policy: policies/my-cautious-dev.policy.md
|
|
194
194
|
```
|
|
195
195
|
|
|
196
|
-
Built-in policies (`locked` / `standard` / `open` / `
|
|
196
|
+
Built-in policies (`locked` / `standard` / `open` / `yolo`) are read-only and are
|
|
197
197
|
referenced as `builtin:<name>`. A custom policy lives in your own project and is
|
|
198
198
|
referenced by a safe relative path (no `..`, no absolute). A shipped example of the
|
|
199
199
|
custom shape is `packages/daemon/policies/examples/my-cautious-dev.policy.md` — copy it
|
|
@@ -530,8 +530,8 @@ These are the built-in specs shipped with OpenRig. Read them as worked examples.
|
|
|
530
530
|
|
|
531
531
|
| Spec | Location | Pods | Members | Services |
|
|
532
532
|
|------|----------|------|---------|----------|
|
|
533
|
-
| `product-team` | `packages/daemon/specs/rigs/product-team.yaml` |
|
|
534
|
-
| `implementation-pair` | `packages/daemon/specs/rigs/implementation-pair.yaml` | dev | 2 (impl, qa) | no |
|
|
535
|
-
| `adversarial-review` | `packages/daemon/specs/rigs/adversarial-review.yaml` | orch,
|
|
536
|
-
| `research-team` | `packages/daemon/specs/rigs/research-team.yaml` | orch, research | 3 (lead, analyst, synthesizer) | no |
|
|
533
|
+
| `product-team` | `packages/daemon/specs/rigs/preview/product-team/rig.yaml` | orch1, dev1, rev1 | 7 (lead, peer, impl, qa, design, r1, r2) | no |
|
|
534
|
+
| `implementation-pair` | `packages/daemon/specs/rigs/launch/implementation-pair/rig.yaml` | dev | 2 (impl, qa) | no |
|
|
535
|
+
| `adversarial-review` | `packages/daemon/specs/rigs/focused/adversarial-review/rig.yaml` | orch, review | 3 (lead, r1, r2) | no |
|
|
536
|
+
| `research-team` | `packages/daemon/specs/rigs/focused/research-team/rig.yaml` | orch, research | 3 (lead, analyst, synthesizer) | no |
|
|
537
537
|
| `secrets-manager` | `packages/daemon/specs/rigs/launch/secrets-manager/rig.yaml` | vault | 1 (specialist) | yes (Vault) |
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
|
|
8
8
|
OpenRig is a software factory the human steers from a high altitude. The human
|
|
9
9
|
records intent; agents turn intent into a plan, the plan into a build, the
|
|
10
|
-
build into proof. The TUI
|
|
11
|
-
|
|
12
|
-
conventions
|
|
13
|
-
|
|
10
|
+
build into proof. The TUI projects authored work on disk and, where an owning
|
|
11
|
+
proof policy is selected, derives readiness from recorded judgments. These
|
|
12
|
+
authoring conventions are **advisory / fail-open for agents**: the audit
|
|
13
|
+
records and advises; the selected proof policy separately governs who may judge.
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
## HOW TO READ THIS DOCUMENT — two parts, and only one of them is the default
|
|
@@ -38,7 +38,7 @@ one does not deprecate the others. Nothing below deletes or overrides an existin
|
|
|
38
38
|
| **PLAN** | **The planning dial** — planning rigor is a spectrum chosen per piece: P0 mini-requirements and pointers (simple, reversible work) · P1 an authored spec with a proof contract (the default) · P2 plus a research round before the spec freezes, run BEFORE build dispatch · P3 plus an adversarial pass by a non-author, judged against product goals, landing amendments with proof-contract teeth · P4 plus a blind from-scratch design diffed against priors before proceeding. Dial up by what the piece is, exactly as build care is priced below. Full reference: `planning-dial.md`. |
|
|
39
39
|
| **BUILD** | **Part A, the simple flow** (below — the default) · **product-journey components** — a mission-selectable menu for greenfield work, drift recovery, public journey probes, one evidence-gated look at the layer below, minimal repair, independent QA/review, integration, and installed smoke; compose only what the work needs in mission/slice YAML, never as a new mode or mandatory pipeline. Full reference: `product-journey-sdlc.md` · **the wave model** — slices build in parallel in disjoint file territories, an integrator merges serially, and independent review fires once per wave (two reviewers with different vantages, never the writers; fix rounds re-earn verdicts at one final revision; per-slice discipline stays failing-test-first and verify-by-effect). The wave IS the care dial: what shares a wave decides how much review each piece gets · **Part B, the rigorous overlay** (below — only when assigned). These combine: a wave can carry one Part-B piece. Full wave reference: `wave-sdlc.md`. |
|
|
40
40
|
| **DISPATCH DATA** | **The execution-data conventions (S27)** — three tiny data disciplines that make execution state derivable instead of hand-tabulated, consumed by `rig view show execution`. **EC-1, edges in frontmatter:** every open slice carries its hard edges in `depends_on:` (an inline JSON array; an explicit `[]` is a statement, absence is INDETERMINATE); soft/serialization edges are one machine-readable Territory line, exactly `SOFT-AFTER: [ids] — reason`. **EC-2, wave-as-data:** wave composition + review model live on a durable queue row tagged `wave-map` + `format:wave-map-v1` whose body carries one fenced ```json block (`{format:"wave-map-v1", mission, waves:[{id, slices, serialized_order?, review_model?}]}`) — composition only, never status labels (status derives at read time); the planning dial recorded at lock surfaces as the frontmatter field `approved-spec-dial:` beside the approve stamp. **EC-3, dispatch names the worktree:** build batons carry the exact body line `worktree_path=<path>` from dispatch onward — it is Q1's join key; batons without it join by naming only and the view marks them `fragile_join`. Existing batons are never rewritten. |
|
|
41
|
-
| **RELEASE** | The release ceremony conventions (publication identity, honest release notes) and the CAPABILITY-DELTA LIFECYCLE LAW: each release's delta is authored at the fence
|
|
41
|
+
| **RELEASE** | The release ceremony conventions (publication identity, honest release notes) and the CAPABILITY-DELTA LIFECYCLE LAW: each release's delta is authored at the fence and bound to the exact candidate, then reconciled to the published cut. Expiry requires both the canon header naming the absorbed delta and a distinct successor delta existing; a draft header alone is insufficient. Verify the actual boundary event and stop citing an expired delta. Full statement: `release-boundary.md` §6. |
|
|
42
42
|
| **BOUNDARY** | **The release boundary** — housekeeping run once per fence so the next release starts clean: seats reset or re-primed per their continuity needs, memory distilled (keep what changed a decision recently), every queue swept by destination and dispositioned, substrate torn down, boards frozen as records, a clean-box baseline captured. A checklist of judgment guides, not gates. Full reference: `release-boundary.md`. |
|
|
43
43
|
|
|
44
44
|
> Full reference documents for each component (graduated 2026-08-28): the
|
|
@@ -112,6 +112,17 @@ Legacy `README.md`, `IMPLEMENTATION-PRD.md`, and pre-convention trees remain
|
|
|
112
112
|
readable indefinitely. New scaffolds do not create or mirror them, and repair
|
|
113
113
|
is additive: it never deletes, renames, or rewrites legacy bytes.
|
|
114
114
|
|
|
115
|
+
When the owning scope selects `proofPolicy.judges`, use `rig proof judge` to
|
|
116
|
+
record an attributed accept, reject or withdraw decision on a contract item,
|
|
117
|
+
and `rig proof show` to read derived readiness up through slice, mission and
|
|
118
|
+
project. The nearest slice, mission or project policy selects authorized judges;
|
|
119
|
+
`rig proof --help` describes setup, selectors and evidence requirements. A
|
|
120
|
+
correction preserves history and unrelated judgments without editing ancestor
|
|
121
|
+
status checklists. An artifact can identify non-code work without a fabricated
|
|
122
|
+
commit. Evidence capture (`proof add`), policy acceptance, higher outcome
|
|
123
|
+
judgment and publication are distinct. This optional component does not select
|
|
124
|
+
Part B or add a mandatory review gate.
|
|
125
|
+
|
|
115
126
|
The three sections project into the UI's one review structure: a vertical
|
|
116
127
|
stack of **INTENT → PLAN → DELIVERED**. A slice missing a section still
|
|
117
128
|
renders (the projection degrades to a muted "—", never invents content) —
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
# The wave SDLC — parallel build, wave-level review, composition as the care dial
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
This is a selectable build and review model from `sdlc-conventions.md`'s component
|
|
4
|
+
menu. The mission owner decides whether it fits the work. Lock stamps in this model
|
|
5
|
+
are ADDITIVE: approval appends metadata and never rewrites authored bytes, so a
|
|
6
|
+
candidate's identity survives its own approval.
|
|
7
7
|
|
|
8
8
|
## The model in one paragraph
|
|
9
9
|
|
|
@@ -87,7 +87,7 @@ design session first). Anything irreversible within the hour (publish, cutover,
|
|
|
87
87
|
destructive operations) — that is the heavy path. And when no independent non-writing
|
|
88
88
|
reviewers exist: nothing ever self-reviews; without them the wave gate is theater.
|
|
89
89
|
|
|
90
|
-
## Failure modes
|
|
90
|
+
## Failure modes and mitigations
|
|
91
91
|
|
|
92
92
|
- **Freeze-merge races:** a candidate freezes seconds before a merge moves the tip.
|
|
93
93
|
Mitigation: zero-overlap restack with content-identity proof (stable patch-id) in
|
|
@@ -100,14 +100,3 @@ reviewers exist: nothing ever self-reviews; without them the wave gate is theate
|
|
|
100
100
|
line still prints. Rule: pin the ABSENCE of the false claim in every encoding.
|
|
101
101
|
- **Phantom checkout status:** merge-by-reference leaves a shared checkout's index
|
|
102
102
|
stale. Never build or commit from a shared checkout; sync its index at fences.
|
|
103
|
-
|
|
104
|
-
## Measured outcome from the proving run (dated, one team, 2026-08)
|
|
105
|
-
|
|
106
|
-
Eight slices plus five fix candidates plus two addenda built and merged in ~2.5 hours
|
|
107
|
-
across five writing seats; two wave passes plus three fix-round passes replaced ~20
|
|
108
|
-
per-slice review rounds. Defect yield went UP: the reviewers' findings never
|
|
109
|
-
overlapped once across three consecutive verdicts, and the builders' green suites had
|
|
110
|
-
missed every one of them — wave-level review sees cross-slice seams per-slice review
|
|
111
|
-
structurally cannot. Correction latency: one live defect went found→root-caused→
|
|
112
|
-
specced→locked→built→merged in 24 minutes, because no review round stood between a
|
|
113
|
-
locked spec and a building seat.
|
|
@@ -21,11 +21,11 @@ A worktree can therefore report green against code it does not contain.
|
|
|
21
21
|
|
|
22
22
|
## Rules
|
|
23
23
|
|
|
24
|
-
1. **Run `npm install` in each worktree**
|
|
25
|
-
|
|
24
|
+
1. **Run `npm install` in each worktree** so workspace packages resolve to the
|
|
25
|
+
worktree's own source.
|
|
26
26
|
2. **Never symlink `node_modules` from the primary checkout.** It appears to work — builds pass,
|
|
27
27
|
typechecks pass — which is exactly the danger.
|
|
28
|
-
3. **`npx tsc` with no `node_modules` installs an unrelated
|
|
28
|
+
3. **`npx tsc` with no `node_modules` installs an unrelated `tsc` package** and prints
|
|
29
29
|
"This is not the tsc command you are looking for". That message means *no install*, not a
|
|
30
30
|
TypeScript error.
|
|
31
31
|
4. **Build `@openrig/daemon` before typechecking `@openrig/cli`** in a fresh worktree: cli imports
|
|
@@ -35,6 +35,6 @@ permission_policy: policies/my-cautious-dev.policy.md
|
|
|
35
35
|
```
|
|
36
36
|
|
|
37
37
|
Copy it, rename it, and edit the lists to taste — it's yours to change. The built-in
|
|
38
|
-
policies (locked / standard / open /
|
|
38
|
+
policies (locked / standard / open / yolo) stay read-only and are referenced as
|
|
39
39
|
`builtin:<name>`; a custom policy like this one lives in your project and is referenced
|
|
40
40
|
by path.
|
|
@@ -19,11 +19,11 @@ human channel; a terminal attachment is not a person's address.
|
|
|
19
19
|
## What you do
|
|
20
20
|
|
|
21
21
|
- Bring rigs up and down (`rig up <spec>`, `rig down <rigId>`).
|
|
22
|
-
- Restart work after a reboot.
|
|
23
|
-
|
|
22
|
+
- Restart selected work after a reboot. Bare `rig` starts only the daemon;
|
|
23
|
+
the TUI recommends kernel first and lets the user select individual seats.
|
|
24
24
|
When the user says "bring my rigs back online":
|
|
25
25
|
1. List rigs that were running pre-reboot using daemon persisted
|
|
26
|
-
state (`rig ps --json`)
|
|
26
|
+
state (`rig ps --json`), then inspect actual selected seat state.
|
|
27
27
|
2. Confirm with the user which subset to restart.
|
|
28
28
|
3. Restart each via `rig up <spec>` (or `rig restore <snapshot>`
|
|
29
29
|
if a snapshot exists).
|
|
@@ -22,14 +22,12 @@ restart:
|
|
|
22
22
|
survived (daemon-restart-only, host stayed up) → marked healthy.
|
|
23
23
|
If tmux is gone (host reboot) → marked detached.
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
(the canonical commands live in the `openrig-operator` skill).
|
|
32
|
-
3. `rig ps --nodes --rig kernel --json` again to confirm healthy.
|
|
25
|
+
After a host reboot, a person can type bare `rig` to open the same TUI,
|
|
26
|
+
start the daemon only, and select the existing kernel operator or other seats.
|
|
27
|
+
The TUI recommends kernel first without starting every member. Its default
|
|
28
|
+
for a previously occupied seat is to resume the authoritative conversation.
|
|
29
|
+
Missing or ambiguous history needs repair or a separate named fresh-start
|
|
30
|
+
decision; authentication failure is not a reason to replace history.
|
|
33
31
|
|
|
34
32
|
Other rigs (project rigs the user spun up) are NEVER auto-instantiated
|
|
35
33
|
by the daemon. If the user asks you to bring those back:
|
|
@@ -41,13 +39,14 @@ by the daemon. If the user asks you to bring those back:
|
|
|
41
39
|
<name>` for warm-restore when a snapshot exists.
|
|
42
40
|
4. `rig ps --nodes --rig <name>` to verify healthy.
|
|
43
41
|
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
The TUI is the normal human entry. Explicit CLI automation remains available;
|
|
43
|
+
use the applicable lifecycle help for an authorized agent-driven operation.
|
|
46
44
|
|
|
47
45
|
## What's already running
|
|
48
46
|
|
|
49
|
-
-
|
|
50
|
-
|
|
47
|
+
- Your own successful startup does not prove the other kernel seats are
|
|
48
|
+
running. Read actual state before routing work to a peer; the user may
|
|
49
|
+
have selected only this operator.
|
|
51
50
|
- Whatever non-kernel rigs were running before the daemon restarted
|
|
52
51
|
have their rig records persisted in SQLite (the daemon does NOT
|
|
53
52
|
cull rigs on restart) but their member sessions are likely
|
package/dist/bin-wrapper.d.ts
CHANGED
|
@@ -2,5 +2,6 @@
|
|
|
2
2
|
export declare function resolveBinEntry(invokedPath?: string | undefined, moduleUrl?: string): string;
|
|
3
3
|
export declare function isDirectRun(argv1?: string | undefined, moduleUrl?: string): boolean;
|
|
4
4
|
export declare function resolveNodeReexecBinary(currentExecPath?: string, invokedPath?: string | undefined, env?: NodeJS.ProcessEnv, exists?: (candidate: string) => boolean, realpath?: (candidate: string) => string): string | null;
|
|
5
|
+
export declare function canLoadInstalledNative(node: string, wrapper: string): boolean;
|
|
5
6
|
export declare function run(argv?: string[]): Promise<void>;
|
|
6
7
|
//# sourceMappingURL=bin-wrapper.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-wrapper.d.ts","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":";AASA,wBAAgB,eAAe,CAAC,WAAW,qBAAkB,EAAE,SAAS,SAAkB,GAAG,MAAM,CAIlG;AAED,wBAAgB,WAAW,CAAC,KAAK,qBAAkB,EAAE,SAAS,SAAkB,GAAG,OAAO,CAOzF;AAED,wBAAgB,uBAAuB,CACrC,eAAe,SAAmB,EAClC,WAAW,qBAAkB,EAC7B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,MAAM,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAoB,EACnD,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAqB,GACrD,MAAM,GAAG,IAAI,CAiBf;
|
|
1
|
+
{"version":3,"file":"bin-wrapper.d.ts","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":";AASA,wBAAgB,eAAe,CAAC,WAAW,qBAAkB,EAAE,SAAS,SAAkB,GAAG,MAAM,CAIlG;AAED,wBAAgB,WAAW,CAAC,KAAK,qBAAkB,EAAE,SAAS,SAAkB,GAAG,OAAO,CAOzF;AAED,wBAAgB,uBAAuB,CACrC,eAAe,SAAmB,EAClC,WAAW,qBAAkB,EAC7B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,MAAM,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAoB,EACnD,QAAQ,GAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAqB,GACrD,MAAM,GAAG,IAAI,CAiBf;AA0BD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAM7E;AAED,wBAAsB,GAAG,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5D"}
|
package/dist/bin-wrapper.js
CHANGED
|
@@ -44,6 +44,12 @@ function maybeReexecWithSiblingNode(argv = process.argv) {
|
|
|
44
44
|
if (!preferredNode)
|
|
45
45
|
return;
|
|
46
46
|
const scriptPath = argv[1] ? realpathSync(argv[1]) : fileURLToPath(import.meta.url);
|
|
47
|
+
// An alias is not runtime authority. Keep a working interpreter; only switch
|
|
48
|
+
// when the installed native dependency actually loads under the alternative.
|
|
49
|
+
if (canLoadInstalledNative(process.execPath, scriptPath))
|
|
50
|
+
return;
|
|
51
|
+
if (!canLoadInstalledNative(preferredNode, scriptPath))
|
|
52
|
+
return;
|
|
47
53
|
const result = spawnSync(preferredNode, [scriptPath, ...argv.slice(2)], {
|
|
48
54
|
stdio: "inherit",
|
|
49
55
|
env: {
|
|
@@ -56,6 +62,13 @@ function maybeReexecWithSiblingNode(argv = process.argv) {
|
|
|
56
62
|
}
|
|
57
63
|
process.exit(result.status ?? 0);
|
|
58
64
|
}
|
|
65
|
+
export function canLoadInstalledNative(node, wrapper) {
|
|
66
|
+
const probe = spawnSync(node, ["--input-type=module", "-e",
|
|
67
|
+
"import {createRequire} from 'node:module'; const require=createRequire(process.argv[1]); const D=require('better-sqlite3'); new D(':memory:').close();",
|
|
68
|
+
wrapper,
|
|
69
|
+
], { encoding: "utf8", timeout: 5000, stdio: ["ignore", "pipe", "pipe"] });
|
|
70
|
+
return probe.status === 0;
|
|
71
|
+
}
|
|
59
72
|
export async function run(argv = process.argv) {
|
|
60
73
|
const normalizedArgv = [...argv];
|
|
61
74
|
if (normalizedArgv[1]) {
|
package/dist/bin-wrapper.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin-wrapper.js","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bin-wrapper.js","sourceRoot":"","sources":["../src/bin-wrapper.ts"],"names":[],"mappings":"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"}
|
package/dist/build-info.js
CHANGED
|
@@ -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.12",
|
|
4
|
+
commit: "b6c8d8f0444bc721d0ba4062a7384d25601c1c6f",
|
|
5
5
|
dirty: false,
|
|
6
|
-
builtAt: "2026-09-
|
|
6
|
+
builtAt: "2026-09-09T12:31:47Z",
|
|
7
7
|
};
|
|
8
8
|
export function stampFields(info = BUILD_INFO) {
|
|
9
9
|
if (!info.commit) return {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-cart.d.ts","sourceRoot":"","sources":["../../src/commands/crash-cart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"crash-cart.d.ts","sourceRoot":"","sources":["../../src/commands/crash-cart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgBpC,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,MAAM,GAAG,YAAY,CAAC;AAEvD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,WAAW,CAAC;IACnB,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,oBAAoB;IACnC,gGAAgG;IAChG,IAAI,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;IACnC,uCAAuC;IACvC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B;AAkFD,wBAAgB,gBAAgB,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,OAAO,CAgB9E"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
-
import { copyFileSync,
|
|
2
|
+
import { copyFileSync, lstatSync, mkdtempSync, readFileSync, rmSync } from "node:fs";
|
|
3
3
|
import { homedir, tmpdir } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
|
+
import { ConfigStore } from "../config-store.js";
|
|
5
6
|
function openrigHome() {
|
|
6
7
|
return process.env.OPENRIG_HOME ?? join(homedir(), ".openrig");
|
|
7
8
|
}
|
|
@@ -9,17 +10,29 @@ function openrigHome() {
|
|
|
9
10
|
* the detector's readDaemonJson omits it). */
|
|
10
11
|
function readDaemonJsonWithDb(home) {
|
|
11
12
|
const p = join(home, "daemon.json");
|
|
12
|
-
if (!
|
|
13
|
+
if (!existsOrThrow(p))
|
|
13
14
|
return undefined;
|
|
14
15
|
try {
|
|
15
16
|
const j = JSON.parse(readFileSync(p, "utf8"));
|
|
16
17
|
if (typeof j.pid === "number" && typeof j.port === "number" && typeof j.db === "string") {
|
|
17
18
|
return { pid: j.pid, port: j.port, host: typeof j.host === "string" ? j.host : undefined, db: j.db };
|
|
18
19
|
}
|
|
19
|
-
|
|
20
|
+
throw new Error("daemon.json has no usable PID, port and database path");
|
|
20
21
|
}
|
|
21
|
-
catch {
|
|
22
|
-
|
|
22
|
+
catch (error) {
|
|
23
|
+
throw new Error(`Cannot read recorded daemon state at ${p}: ${error instanceof Error ? error.message : String(error)}`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/** Only ENOENT means absent; permissions and dangling links must fail visibly. */
|
|
27
|
+
function existsOrThrow(path) {
|
|
28
|
+
try {
|
|
29
|
+
lstatSync(path);
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
if (error.code === "ENOENT")
|
|
34
|
+
return false;
|
|
35
|
+
throw error;
|
|
23
36
|
}
|
|
24
37
|
}
|
|
25
38
|
/**
|
|
@@ -62,7 +75,8 @@ async function realEmit() {
|
|
|
62
75
|
isProcessAlive: cc.isProcessAlive,
|
|
63
76
|
probeHealthz: (url) => probeClassified(url).then((r) => r === "answered"),
|
|
64
77
|
copyFile: copyFileSync,
|
|
65
|
-
exists:
|
|
78
|
+
exists: existsOrThrow,
|
|
79
|
+
configuredDbPath: new ConfigStore().resolve().db.path,
|
|
66
80
|
makeScratchDir: () => mkdtempSync(join(tmpdir(), "crash-cart-")),
|
|
67
81
|
removeScratchDir: (d) => rmSync(d, { recursive: true, force: true }),
|
|
68
82
|
openDb: cc.openDaemonDbReadonly,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crash-cart.js","sourceRoot":"","sources":["../../src/commands/crash-cart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"crash-cart.js","sourceRoot":"","sources":["../../src/commands/crash-cart.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/proof.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
2
|
/**
|
|
3
|
-
* `rig proof` — the
|
|
3
|
+
* `rig proof add` — the evidence-capture write path (OPR.0.4.4.19 FR-8 + FR-11;
|
|
4
4
|
* conventions C1 + C2 + C8, D2 attestation).
|
|
5
5
|
*
|
|
6
|
-
* CLI-side filesystem only
|
|
6
|
+
* The capture leg is CLI-side filesystem only: the drop
|
|
7
7
|
* validates the C1 header AT THE MOMENT THE EVIDENCE IS IN-HAND, writes the
|
|
8
8
|
* artifact into the slice's proof/ dir, and echoes the parsed header (the
|
|
9
9
|
* seat sees what the composer will see). No daemon involvement, no synthetic
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/commands/proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/commands/proof.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;;;;;;;;;;;;;;;;;GAkBG;AAEH;8CAC8C;AAC9C,eAAO,MAAM,iBAAiB,gEAAiE,CAAC;AAChG,eAAO,MAAM,WAAW,mEAAoE,CAAC;AAK7F,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CAC9E;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,kBAAkB,CAc9E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI,CAgBtE;AAMD,wBAAgB,YAAY,IAAI,OAAO,CA+WtC"}
|
package/dist/commands/proof.js
CHANGED
|
@@ -2,15 +2,16 @@ import fs from "node:fs";
|
|
|
2
2
|
import path from "node:path";
|
|
3
3
|
import { Command } from "commander";
|
|
4
4
|
import YAML from "yaml";
|
|
5
|
+
import { DaemonClient } from "../client.js";
|
|
5
6
|
import { findSlice, resolveMissionsRoot } from "../lib/scope/scope-fs.js";
|
|
6
7
|
import { ScopeCliError } from "../lib/scope/types.js";
|
|
7
8
|
import { selectProofContractBody, isScaffoldPlaceholderText } from "../lib/scope/scaffold-placeholder.js";
|
|
8
9
|
import { parseLogicalCheckboxes } from "../lib/scope/logical-checkbox.js";
|
|
9
10
|
/**
|
|
10
|
-
* `rig proof` — the
|
|
11
|
+
* `rig proof add` — the evidence-capture write path (OPR.0.4.4.19 FR-8 + FR-11;
|
|
11
12
|
* conventions C1 + C2 + C8, D2 attestation).
|
|
12
13
|
*
|
|
13
|
-
* CLI-side filesystem only
|
|
14
|
+
* The capture leg is CLI-side filesystem only: the drop
|
|
14
15
|
* validates the C1 header AT THE MOMENT THE EVIDENCE IS IN-HAND, writes the
|
|
15
16
|
* artifact into the slice's proof/ dir, and echoes the parsed header (the
|
|
16
17
|
* seat sees what the composer will see). No daemon involvement, no synthetic
|
|
@@ -80,8 +81,87 @@ function isVideoFile(filePath) {
|
|
|
80
81
|
return VIDEO_EXTENSIONS.has(path.extname(filePath).toLowerCase());
|
|
81
82
|
}
|
|
82
83
|
export function proofCommand() {
|
|
83
|
-
const cmd = new Command("proof").description("
|
|
84
|
-
cmd.
|
|
84
|
+
const cmd = new Command("proof").description("Capture evidence (add), record an attributed item judgment (judge), and read derived readiness (show). Capture, policy acceptance, higher outcome judgment and publication are separate.");
|
|
85
|
+
cmd.addHelpText("after", `
|
|
86
|
+
The selected daemon owns show/judge. Scope addresses are mission/slices/slice#item.
|
|
87
|
+
The project owner selects proofPolicy: { judges: [exact-seat-address] } in the
|
|
88
|
+
owning slice.yaml, mission.yaml or project.yaml (nearest wins; no default gate roles).
|
|
89
|
+
The contract is the authored ## Proof contract. A sole item needs no # selector.
|
|
90
|
+
|
|
91
|
+
Example (existing evidence, no copied hashes or operation key):
|
|
92
|
+
rig proof judge trial/slices/01-build#1 --verdict accept --reason 'Observed the promised outcome' --evidence proof/result.md
|
|
93
|
+
rig proof show trial --json
|
|
94
|
+
rig proof judge trial/slices/01-build#1 --verdict withdraw --reason 'The result no longer supports acceptance'
|
|
95
|
+
|
|
96
|
+
Corrections retain prior receipts in proof/judgments/. --replace deliberately
|
|
97
|
+
reaffirms a historical identical judgment after a correction; an ordinary retry
|
|
98
|
+
returns its original receipt plus current readiness and never reinstates old truth.
|
|
99
|
+
Use judge --help for patch-equivalent comparison receipts and advanced identities.
|
|
100
|
+
Legacy proof add artifacts may be referenced directly; queue done and stored
|
|
101
|
+
checkboxes do not accept an item under the selected proof policy.
|
|
102
|
+
`);
|
|
103
|
+
cmd.option("--workspace <path>", "Capture/add only: override workspace root; show/judge use the selected daemon workspace");
|
|
104
|
+
const client = () => {
|
|
105
|
+
if (cmd.opts().workspace)
|
|
106
|
+
throw new Error("--workspace applies to proof add. Select the judgment daemon using OPENRIG_URL; proof show reports its scope basis.");
|
|
107
|
+
return new DaemonClient();
|
|
108
|
+
};
|
|
109
|
+
const response = async (r) => {
|
|
110
|
+
const data = r.data;
|
|
111
|
+
if (r.status >= 400)
|
|
112
|
+
throw new Error(`${data.error ?? r.status}: ${data.message ?? "Read the named source and retry"}`);
|
|
113
|
+
return data;
|
|
114
|
+
};
|
|
115
|
+
cmd.command("show [scope]").description("Read current attributed proof readiness for a slice, mission or active project; no status files are changed.")
|
|
116
|
+
.option("--json", "Structured readiness, item revisions and retained judgment references")
|
|
117
|
+
.action(async (scope, opts) => {
|
|
118
|
+
try {
|
|
119
|
+
const data = await response(await client().get(`/api/proof${scope ? `?scope=${encodeURIComponent(scope)}` : ""}`));
|
|
120
|
+
console.log(opts.json ? JSON.stringify(data) : JSON.stringify(data, null, 2));
|
|
121
|
+
}
|
|
122
|
+
catch (e) {
|
|
123
|
+
console.error(e instanceof Error ? e.message : String(e));
|
|
124
|
+
process.exitCode = 1;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
cmd.command("judge <scope-item>").description("Record one attributed item judgment and derive readiness. Use mission/slices/slice#item (index, text or ID). Policy inherits proofPolicy.judges from owning slice, mission or project.")
|
|
128
|
+
.requiredOption("--verdict <verdict>", "accept | reject | withdraw")
|
|
129
|
+
.requiredOption("--reason <text>", "The evidence-backed judgment being made")
|
|
130
|
+
.option("--evidence <ref>", "Existing evidence, relative to slice or workspace missions/; repeat for multiple references", (v, prior) => [...prior, v], [])
|
|
131
|
+
.option("--subject <kind:ref>", "artifact, commit or patch-equivalent subject; artifact inferred when omitted")
|
|
132
|
+
.option("--comparison <ref>", "Patch-equivalent subject: actual comparison/adoption receipt alongside outcome evidence")
|
|
133
|
+
.option("--revision <revision>", "Advanced: deliberately require this item revision")
|
|
134
|
+
.option("--operation-id <id>", "Advanced: explicit retry identity")
|
|
135
|
+
.option("--replace", "Deliberately reaffirm a historical judgment after a later correction")
|
|
136
|
+
.option("--json", "Return committed receipt and current readiness")
|
|
137
|
+
.action(async (address, opts) => {
|
|
138
|
+
try {
|
|
139
|
+
const at = address.indexOf("#"), scope = at < 0 ? address : address.slice(0, at), selector = at < 0 ? null : address.slice(at + 1);
|
|
140
|
+
const refs = [...new Set([...opts.evidence, ...(opts.comparison ? [opts.comparison] : [])])];
|
|
141
|
+
const query = new URLSearchParams({ scope });
|
|
142
|
+
for (const ref of refs)
|
|
143
|
+
query.append("evidence", ref);
|
|
144
|
+
const c = client(), view = await response(await c.get(`/api/proof?${query}`));
|
|
145
|
+
const items = view.items;
|
|
146
|
+
const item = selector ? items?.find(i => i.id === selector || i.text === selector || String(i.index) === selector) : items?.length === 1 ? items[0] : undefined;
|
|
147
|
+
if (!item)
|
|
148
|
+
throw new Error("Select one current item with scope#item; rig proof show lists IDs, text and indices");
|
|
149
|
+
const subjectAt = opts.subject?.indexOf(":") ?? -1;
|
|
150
|
+
if (opts.subject && subjectAt < 1)
|
|
151
|
+
throw new Error("--subject must be kind:ref");
|
|
152
|
+
const body = { scope, item: item.id, verdict: opts.verdict, reason: opts.reason,
|
|
153
|
+
...(refs.length ? { evidence: refs, expectedEvidence: view.preparedEvidence } : {}),
|
|
154
|
+
...(opts.subject ? { subject: { kind: opts.subject.slice(0, subjectAt), ref: opts.subject.slice(subjectAt + 1), ...(opts.comparison ? { comparison: opts.comparison } : {}) } } : {}),
|
|
155
|
+
expectedRevision: opts.revision ?? item.revision, expectedPrevious: item.judgment?.id ?? null,
|
|
156
|
+
operationId: opts.operationId, replace: opts.replace === true };
|
|
157
|
+
const result = await response(await c.post("/api/proof/judge", body));
|
|
158
|
+
console.log(opts.json ? JSON.stringify(result) : JSON.stringify(result, null, 2));
|
|
159
|
+
}
|
|
160
|
+
catch (e) {
|
|
161
|
+
console.error(e instanceof Error ? e.message : String(e));
|
|
162
|
+
process.exitCode = 1;
|
|
163
|
+
}
|
|
164
|
+
});
|
|
85
165
|
cmd
|
|
86
166
|
.command("add <slice-path>")
|
|
87
167
|
.description("Drop a proof artifact: authors the C1 frontmatter from flags, writes <slice>/proof/<name>, echoes the parsed header. Contract/self-check/C8 outputs are advisories (exit 0) — never gates.")
|