@openrig/cli 0.5.1 → 0.5.3
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/guidance/openrig-start.md +21 -64
- package/daemon/assets/plugins/openrig-core/hooks/claude.json +36 -0
- package/daemon/assets/plugins/openrig-core/hooks/codex.json +27 -0
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +132 -0
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +35 -3
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +8 -95
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +63 -20
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +6 -2
- package/daemon/assets/plugins/openrig-core/skills/messaging-the-human/SKILL.md +28 -2
- package/daemon/assets/plugins/openrig-core/skills/mission-slice-sop/SKILL.md +42 -52
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +23 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +7 -2
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/CHANGELOG.md +64 -0
- package/daemon/assets/plugins/openrig-core/skills/orienting-to-an-inherited-seat/SKILL.md +235 -0
- package/daemon/assets/plugins/openrig-core/skills/queue-handoff/SKILL.md +31 -1
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/CHANGELOG.md +48 -0
- package/daemon/assets/plugins/openrig-core/skills/retiring-and-inheriting-a-seat/SKILL.md +211 -0
- package/daemon/assets/plugins/openrig-core/skills/seat-continuity-and-handover/SKILL.md +8 -0
- package/daemon/assets/plugins/openrig-core/skills/software-for-agents/SKILL.md +28 -1
- package/daemon/context-packs/skills/core/agent-starters/SKILL.md +132 -0
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +112 -0
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/attention-queue/SKILL.md +264 -0
- package/daemon/context-packs/skills/core/attention-queue/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/cross-host-rig-commands/SKILL.md +195 -0
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/human-in-the-loop/SKILL.md +104 -0
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +378 -0
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-cmux/SKILL.md +81 -0
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-herdr/SKILL.md +153 -0
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +460 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +101 -0
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/rig-lifecycle/SKILL.md +127 -0
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +160 -0
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/specification-system/SKILL.md +103 -0
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/SKILL.md +118 -0
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +9 -0
- package/daemon/context-packs/skills/core/watchdog/SKILL.md +126 -0
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/backlog-capture/SKILL.md +43 -0
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/context-builder/SKILL.md +87 -0
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/exec-summary/SKILL.md +84 -0
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/office-hours/SKILL.md +129 -0
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/plan-review/SKILL.md +98 -0
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/requirements-writer/SKILL.md +113 -0
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pm/ui-mockup/SKILL.md +76 -0
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/development-team/SKILL.md +156 -0
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/orchestration-team/SKILL.md +307 -0
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/oversight-team/SKILL.md +106 -0
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/pods/review-team/SKILL.md +213 -0
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +9 -0
- package/daemon/context-packs/skills/process/agent-browser/LOCAL-INSIGHTS.md +189 -0
- package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +40 -0
- package/daemon/context-packs/skills/process/agent-browser/SKILL.md +427 -0
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +13 -0
- package/daemon/context-packs/skills/process/brainstorming/OPENRIG.md +48 -0
- package/daemon/context-packs/skills/process/brainstorming/SKILL.md +107 -0
- package/daemon/context-packs/skills/process/brainstorming/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/context-engineering/SKILL.md +479 -0
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +9 -0
- package/daemon/context-packs/skills/process/dogfood/SKILL.md +225 -0
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +13 -0
- package/daemon/context-packs/skills/process/dogfood/references/issue-taxonomy.md +109 -0
- package/daemon/context-packs/skills/process/dogfood/templates/dogfood-report-template.md +53 -0
- package/daemon/context-packs/skills/process/executing-plans/OPENRIG.md +56 -0
- package/daemon/context-packs/skills/process/executing-plans/SKILL.md +94 -0
- package/daemon/context-packs/skills/process/executing-plans/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/frontend-design/LICENSE.txt +177 -0
- package/daemon/context-packs/skills/process/frontend-design/SKILL.md +50 -0
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +301 -0
- package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting-example.ts +158 -0
- package/daemon/context-packs/skills/process/systematic-debugging/condition-based-waiting.md +115 -0
- package/daemon/context-packs/skills/process/systematic-debugging/defense-in-depth.md +122 -0
- package/daemon/context-packs/skills/process/systematic-debugging/find-polluter.sh +63 -0
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +19 -0
- package/daemon/context-packs/skills/process/systematic-debugging/root-cause-tracing.md +169 -0
- package/daemon/context-packs/skills/process/test-driven-development/SKILL.md +385 -0
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/test-driven-development/testing-anti-patterns.md +299 -0
- package/daemon/context-packs/skills/process/using-superpowers/OPENRIG.md +48 -0
- package/daemon/context-packs/skills/process/using-superpowers/SKILL.md +106 -0
- package/daemon/context-packs/skills/process/using-superpowers/manifest.yaml +11 -0
- package/daemon/context-packs/skills/process/verification-before-completion/SKILL.md +155 -0
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +9 -0
- package/daemon/context-packs/skills/process/writing-plans/OPENRIG.md +52 -0
- package/daemon/context-packs/skills/process/writing-plans/SKILL.md +126 -0
- package/daemon/context-packs/skills/process/writing-plans/manifest.yaml +11 -0
- package/daemon/context-packs/world/install/01-world-from-primitives.md +97 -0
- package/daemon/context-packs/world/install/02-permission-self-sleep.md +141 -0
- package/daemon/context-packs/world/install/03-what-this-is-for.md +86 -0
- package/daemon/context-packs/world/install/04-ontology.md +790 -0
- package/daemon/context-packs/world/install/05-harness-power-use.md +355 -0
- package/daemon/context-packs/world/install/06-a-competent-turn.md +225 -0
- package/daemon/context-packs/world/install/manifest.yaml +125 -0
- package/daemon/context-packs/world/install/reference-material.md +125 -0
- package/daemon/context-packs/world/install/what-you-can-do.md +416 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +7 -4
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +2 -2
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -2
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +18 -10
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +10 -2
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +27 -7
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +18 -0
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/daemon/dist/adapters/yolo-mode.js +21 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/domain/codex-thread-id.d.ts +100 -2
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +180 -6
- package/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
- package/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
- package/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
- package/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
- package/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
- package/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
- package/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
- package/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/profile-composer.js +125 -0
- package/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
- package/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
- package/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
- package/daemon/dist/domain/crash-cart-conductor.d.ts +173 -0
- package/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -0
- package/daemon/dist/domain/crash-cart-conductor.js +233 -0
- package/daemon/dist/domain/crash-cart-conductor.js.map +1 -0
- package/daemon/dist/domain/crash-cart-probes.d.ts +7 -6
- package/daemon/dist/domain/crash-cart-probes.d.ts.map +1 -1
- package/daemon/dist/domain/crash-cart-probes.js +57 -7
- package/daemon/dist/domain/crash-cart-probes.js.map +1 -1
- package/daemon/dist/domain/hosts/fanout-contract.d.ts +4 -0
- package/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/fanout-contract.js +15 -0
- package/daemon/dist/domain/hosts/fanout-contract.js.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +11 -0
- package/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js +34 -1
- package/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/daemon/dist/domain/markdown-address.d.ts +56 -0
- package/daemon/dist/domain/markdown-address.d.ts.map +1 -0
- package/daemon/dist/domain/markdown-address.js +188 -0
- package/daemon/dist/domain/markdown-address.js.map +1 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts +73 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.js +204 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -0
- package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +13 -0
- package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -0
- package/daemon/dist/domain/model-divergence/effective-model-readers.js +163 -0
- package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -0
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +125 -0
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -0
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +199 -0
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
- package/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
- package/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
- package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
- package/daemon/dist/domain/permission-drift-observer.js +6 -1
- package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
- package/daemon/dist/domain/predecessor-recap-resolver.d.ts +10 -3
- package/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/predecessor-recap-resolver.js +61 -14
- package/daemon/dist/domain/predecessor-recap-resolver.js.map +1 -1
- package/daemon/dist/domain/process-census.d.ts +25 -0
- package/daemon/dist/domain/process-census.d.ts.map +1 -0
- package/daemon/dist/domain/process-census.js +47 -0
- package/daemon/dist/domain/process-census.js.map +1 -0
- package/daemon/dist/domain/resume-metadata-refresher.d.ts +41 -3
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.js +74 -31
- package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/daemon/dist/domain/review/compose.d.ts +5 -26
- package/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/daemon/dist/domain/review/compose.js +31 -57
- 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 -2
- package/daemon/dist/domain/review/gather.js.map +1 -1
- package/daemon/dist/domain/{rig-policy/rig-policy-defaults.d.ts → rig-mode/rig-mode-defaults.d.ts} +2 -2
- package/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -0
- package/daemon/dist/domain/{rig-policy/rig-policy-defaults.js → rig-mode/rig-mode-defaults.js} +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -0
- package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.d.ts → daemon/dist/domain/rig-mode/rig-mode-store.d.ts} +6 -6
- package/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -0
- package/daemon/dist/domain/{rig-policy/rig-policy-store.js → rig-mode/rig-mode-store.js} +5 -5
- package/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -0
- package/daemon/dist/domain/{rig-policy/rig-policy-types.d.ts → rig-mode/rig-mode-types.d.ts} +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -0
- package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.js → daemon/dist/domain/rig-mode/rig-mode-types.js} +1 -1
- package/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -0
- package/{node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts → daemon/dist/domain/rig-mode/rig-mode-validator.d.ts} +2 -2
- package/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +1 -0
- package/daemon/dist/domain/{rig-policy/rig-policy-validator.js → rig-mode/rig-mode-validator.js} +3 -3
- package/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +1 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +39 -0
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts +7 -0
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +25 -2
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
- package/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
- package/daemon/dist/domain/scope/logical-checkbox.js +65 -0
- package/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
- package/daemon/dist/domain/scope/node-file.d.ts +37 -0
- package/daemon/dist/domain/scope/node-file.d.ts.map +1 -0
- package/daemon/dist/domain/scope/node-file.js +55 -0
- package/daemon/dist/domain/scope/node-file.js.map +1 -0
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +12 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +42 -2
- package/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
- package/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.d.ts +4 -0
- package/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-approve.js +56 -7
- package/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts +1 -1
- package/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/daemon/dist/domain/scope/scope-view-projection.js +5 -2
- package/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/daemon/dist/domain/seat-activity-service.d.ts +1 -0
- package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-activity-service.js +39 -23
- package/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +54 -15
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +74 -19
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.d.ts +17 -0
- package/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-identity-reconciler.js +22 -0
- package/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/daemon/dist/domain/session-jsonl.js +1 -1
- package/daemon/dist/domain/session-jsonl.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +8 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +116 -0
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/shell-classifier.d.ts +23 -0
- package/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
- package/daemon/dist/domain/shell-classifier.js +36 -0
- package/daemon/dist/domain/shell-classifier.js.map +1 -0
- package/daemon/dist/domain/slices/slice-detail-projector.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-detail-projector.js +24 -3
- package/daemon/dist/domain/slices/slice-detail-projector.js.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
- package/daemon/dist/domain/slices/slice-indexer.js +16 -3
- package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/daemon/dist/domain/spec-live-conformance.d.ts +22 -0
- package/daemon/dist/domain/spec-live-conformance.d.ts.map +1 -1
- package/daemon/dist/domain/spec-live-conformance.js +35 -0
- package/daemon/dist/domain/spec-live-conformance.js.map +1 -1
- package/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
- package/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
- package/daemon/dist/domain/spec-validation-advisory.js +38 -0
- package/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +38 -1
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/sync-site-wrap.d.ts +9 -0
- package/daemon/dist/domain/sync-site-wrap.d.ts.map +1 -1
- package/daemon/dist/domain/sync-site-wrap.js +11 -0
- package/daemon/dist/domain/sync-site-wrap.js.map +1 -1
- package/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
- package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
- package/daemon/dist/domain/topology-defaults-installer.js +92 -0
- package/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
- package/daemon/dist/domain/transcript-rotation.d.ts +4 -0
- package/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-rotation.js +61 -3
- package/daemon/dist/domain/transcript-rotation.js.map +1 -1
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +9 -2
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +18 -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 +10 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +59 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/watchdog-auto-registration.d.ts +7 -0
- package/daemon/dist/domain/watchdog-auto-registration.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-auto-registration.js +27 -0
- package/daemon/dist/domain/watchdog-auto-registration.js.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/workspace-doctor.js +4 -3
- package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/daemon/dist/routes/activity.js +11 -2
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts +27 -0
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +107 -26
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/daemon/dist/routes/context-packs.js +205 -0
- package/daemon/dist/routes/context-packs.js.map +1 -1
- package/daemon/dist/routes/crash-cart.d.ts +4 -0
- package/daemon/dist/routes/crash-cart.d.ts.map +1 -0
- package/daemon/dist/routes/crash-cart.js +144 -0
- package/daemon/dist/routes/crash-cart.js.map +1 -0
- package/daemon/dist/routes/missions.d.ts.map +1 -1
- package/daemon/dist/routes/missions.js +10 -6
- package/daemon/dist/routes/missions.js.map +1 -1
- package/daemon/dist/routes/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
- package/daemon/dist/routes/rig-mode.d.ts.map +1 -0
- package/{node_modules/@openrig/daemon/dist/routes/rig-policy.js → daemon/dist/routes/rig-mode.js} +13 -13
- package/daemon/dist/routes/rig-mode.js.map +1 -0
- package/daemon/dist/routes/scope-approve.d.ts.map +1 -1
- package/daemon/dist/routes/scope-approve.js +4 -0
- package/daemon/dist/routes/scope-approve.js.map +1 -1
- package/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/daemon/dist/routes/scope-audit.js +29 -2
- package/daemon/dist/routes/scope-audit.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +18 -2
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/daemon/dist/routes/sessions.js +66 -1
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +12 -3
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/seat-recap-store-surface.d.ts +2 -0
- package/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
- package/daemon/dist/seat-recap-store-surface.js +6 -0
- package/daemon/dist/seat-recap-store-surface.js.map +1 -0
- package/daemon/dist/server.d.ts +3 -1
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +15 -5
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +166 -6
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/chain-file-convention.md +115 -0
- package/daemon/docs/reference/legacy-topology-migration.md +53 -0
- package/daemon/docs/reference/refocus-channel.md +80 -0
- package/daemon/docs/reference/sdlc-conventions.md +24 -0
- package/daemon/specs/agents/shared/skills/core/attention-queue/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/human-in-the-loop/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +1 -1
- package/daemon/specs/agents/shared/skills/core/watchdog/SKILL.md +4 -4
- package/daemon/specs/agents/shared/skills/pods/development-team/SKILL.md +8 -0
- package/daemon/specs/agents/shared/skills/pods/orchestration-team/SKILL.md +72 -31
- package/daemon/specs/agents/shared/skills/pods/oversight-team/SKILL.md +106 -0
- package/daemon/specs/agents/shared/skills/process/context-engineering/SKILL.md +479 -0
- package/daemon/specs/agents/shared/skills/process/test-driven-development/SKILL.md +9 -0
- package/daemon/specs/rigs/launch/demo/project-example/README.md +25 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +19 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +6 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +7 -0
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +31 -0
- package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +24 -0
- package/daemon/specs/rigs/preview/product-team/topology/rig/CRAFT.md +21 -0
- package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +50 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/dev1-qa/CRAFT.md +13 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/orch1-lead/CRAFT.md +17 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r1/CRAFT.md +17 -0
- package/daemon/specs/rigs/preview/product-team/topology/seats/rev1-r2/CRAFT.md +15 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/bundle.d.ts.map +1 -1
- package/dist/commands/bundle.js +6 -0
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/capture.d.ts.map +1 -1
- package/dist/commands/capture.js +2 -0
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +8 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +353 -48
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/crash-cart.d.ts.map +1 -1
- package/dist/commands/crash-cart.js.map +1 -1
- package/dist/commands/host.d.ts +5 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +59 -3
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/policy.d.ts +5 -0
- package/dist/commands/policy.d.ts.map +1 -0
- package/dist/commands/policy.js +307 -0
- package/dist/commands/policy.js.map +1 -0
- package/dist/commands/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +70 -12
- package/dist/commands/proof.js.map +1 -1
- package/dist/commands/ps.d.ts +4 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +4 -0
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
- package/dist/commands/rig-mode.d.ts.map +1 -0
- package/dist/commands/{rig-policy.js → rig-mode.js} +17 -17
- package/dist/commands/rig-mode.js.map +1 -0
- package/dist/commands/rig.d.ts.map +1 -1
- package/dist/commands/rig.js +5 -0
- package/dist/commands/rig.js.map +1 -1
- package/dist/commands/scope.d.ts.map +1 -1
- package/dist/commands/scope.js +58 -16
- package/dist/commands/scope.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +2 -0
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +13 -0
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +3 -3
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +27 -1
- package/dist/commands/transcript.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +279 -26
- package/dist/commands/walk.js.map +1 -1
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +11 -1
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config-store.d.ts +17 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +53 -1
- package/dist/config-store.js.map +1 -1
- package/dist/cross-host-target.d.ts +8 -1
- package/dist/cross-host-target.d.ts.map +1 -1
- package/dist/cross-host-target.js +23 -4
- package/dist/cross-host-target.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +10 -1
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +26 -1
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +11 -1
- package/dist/front-door.js.map +1 -1
- package/dist/host-bindings.d.ts +62 -0
- package/dist/host-bindings.d.ts.map +1 -0
- package/dist/host-bindings.js +147 -0
- package/dist/host-bindings.js.map +1 -0
- package/dist/host-registry.d.ts +14 -1
- package/dist/host-registry.d.ts.map +1 -1
- package/dist/host-registry.js +30 -2
- package/dist/host-registry.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/lib/hosts/fanout-contract.d.ts +4 -0
- package/dist/lib/hosts/fanout-contract.d.ts.map +1 -1
- package/dist/lib/hosts/fanout-contract.js +15 -0
- package/dist/lib/hosts/fanout-contract.js.map +1 -1
- package/dist/lib/path-safety.d.ts +8 -0
- package/dist/lib/path-safety.d.ts.map +1 -0
- package/dist/lib/path-safety.js +24 -0
- package/dist/lib/path-safety.js.map +1 -0
- package/dist/lib/permission-policy/policy-ref.d.ts +89 -0
- package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -0
- package/dist/lib/permission-policy/policy-ref.js +171 -0
- package/dist/lib/permission-policy/policy-ref.js.map +1 -0
- package/dist/lib/permission-policy/policy-spec.d.ts +34 -0
- package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -0
- package/dist/lib/permission-policy/policy-spec.js +106 -0
- package/dist/lib/permission-policy/policy-spec.js.map +1 -0
- package/dist/lib/scope/logical-checkbox.d.ts +26 -0
- package/dist/lib/scope/logical-checkbox.d.ts.map +1 -0
- package/dist/lib/scope/logical-checkbox.js +65 -0
- package/dist/lib/scope/logical-checkbox.js.map +1 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts +22 -0
- package/dist/lib/scope/scaffold-placeholder.d.ts.map +1 -1
- package/dist/lib/scope/scaffold-placeholder.js +24 -0
- package/dist/lib/scope/scaffold-placeholder.js.map +1 -1
- package/dist/lib/scope/scope-audit.d.ts +1 -1
- package/dist/lib/scope/scope-audit.d.ts.map +1 -1
- package/dist/lib/scope/scope-audit.js.map +1 -1
- package/dist/lib/scope/scope-fs.d.ts +19 -3
- package/dist/lib/scope/scope-fs.d.ts.map +1 -1
- package/dist/lib/scope/scope-fs.js +37 -17
- package/dist/lib/scope/scope-fs.js.map +1 -1
- package/dist/lib/topology-trace.d.ts +36 -0
- package/dist/lib/topology-trace.d.ts.map +1 -0
- package/dist/lib/topology-trace.js +91 -0
- package/dist/lib/topology-trace.js.map +1 -0
- package/dist/release-surface/extract-surface.js +1 -1
- package/dist/release-surface/extract-surface.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js +7 -4
- package/node_modules/@openrig/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js +2 -2
- package/node_modules/@openrig/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts +11 -2
- 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 +18 -10
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +10 -2
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +27 -7
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts +18 -0
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js +21 -0
- package/node_modules/@openrig/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts +100 -2
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js +180 -6
- package/node_modules/@openrig/daemon/dist/domain/codex-thread-id.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts +48 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js +8 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/context-pack-types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js +234 -2
- package/node_modules/@openrig/daemon/dist/domain/context-packs/manifest-parser.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts +34 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js +38 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/probe-eval-bridge.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts +49 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js +125 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-composer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts +53 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js +129 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/profile-source-resolver.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts +48 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js +123 -0
- package/node_modules/@openrig/daemon/dist/domain/context-packs/seat-recap-store.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts +173 -0
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js +233 -0
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-conductor.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts +7 -6
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js +57 -7
- package/node_modules/@openrig/daemon/dist/domain/crash-cart-probes.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js +15 -0
- package/node_modules/@openrig/daemon/dist/domain/hosts/fanout-contract.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts +11 -0
- package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js +34 -1
- package/node_modules/@openrig/daemon/dist/domain/hosts/hosts-registry-reader.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts +56 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.js +188 -0
- package/node_modules/@openrig/daemon/dist/domain/markdown-address.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts +73 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +204 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +13 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js +163 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +125 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +199 -0
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js +5 -1
- package/node_modules/@openrig/daemon/dist/domain/periodic-snapshot-scheduler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js +6 -1
- package/node_modules/@openrig/daemon/dist/domain/permission-drift-observer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts +10 -3
- package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js +61 -14
- package/node_modules/@openrig/daemon/dist/domain/predecessor-recap-resolver.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts +25 -0
- package/node_modules/@openrig/daemon/dist/domain/process-census.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/process-census.js +47 -0
- package/node_modules/@openrig/daemon/dist/domain/process-census.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts +41 -3
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js +74 -31
- package/node_modules/@openrig/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts +5 -26
- package/node_modules/@openrig/daemon/dist/domain/review/compose.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/review/compose.js +31 -57
- 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 -2
- package/node_modules/@openrig/daemon/dist/domain/review/gather.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-defaults.d.ts → rig-mode/rig-mode-defaults.d.ts} +2 -2
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-defaults.js → rig-mode/rig-mode-defaults.js} +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-defaults.js.map +1 -0
- package/{daemon/dist/domain/rig-policy/rig-policy-store.d.ts → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts} +6 -6
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-store.js → rig-mode/rig-mode-store.js} +5 -5
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-store.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-types.d.ts → rig-mode/rig-mode-types.d.ts} +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.d.ts.map +1 -0
- package/{daemon/dist/domain/rig-policy/rig-policy-types.js → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js} +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-types.js.map +1 -0
- package/{daemon/dist/domain/rig-policy/rig-policy-validator.d.ts → node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts} +2 -2
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/{rig-policy/rig-policy-validator.js → rig-mode/rig-mode-validator.js} +3 -3
- package/node_modules/@openrig/daemon/dist/domain/rig-mode/rig-mode-validator.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +39 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +25 -2
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts +26 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js +65 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/logical-checkbox.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts +37 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js +55 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/node-file.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts +12 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js +42 -2
- package/node_modules/@openrig/daemon/dist/domain/scope/plan-lock-artifacts.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts +22 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js +24 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/scaffold-placeholder.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js +56 -7
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-approve.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js +5 -2
- package/node_modules/@openrig/daemon/dist/domain/scope/scope-view-projection.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts +1 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js +39 -23
- package/node_modules/@openrig/daemon/dist/domain/seat-activity-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts +54 -15
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js +74 -19
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js +22 -0
- package/node_modules/@openrig/daemon/dist/domain/seat-identity-reconciler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-jsonl.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +8 -0
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js +116 -0
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts +23 -0
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js +36 -0
- package/node_modules/@openrig/daemon/dist/domain/shell-classifier.js.map +1 -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 +24 -3
- 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.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js +16 -3
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts +22 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js +35 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-live-conformance.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js +38 -0
- package/node_modules/@openrig/daemon/dist/domain/spec-validation-advisory.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js +38 -1
- package/node_modules/@openrig/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js +11 -0
- package/node_modules/@openrig/daemon/dist/domain/sync-site-wrap.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +47 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +92 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js +61 -3
- package/node_modules/@openrig/daemon/dist/domain/transcript-rotation.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/transcript-store.js +9 -2
- package/node_modules/@openrig/daemon/dist/domain/transcript-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +18 -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 +10 -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 +59 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js +27 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-auto-registration.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js +4 -3
- package/node_modules/@openrig/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/activity.js +11 -2
- package/node_modules/@openrig/daemon/dist/routes/activity.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts +27 -0
- package/node_modules/@openrig/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/bundles.js +107 -26
- package/node_modules/@openrig/daemon/dist/routes/bundles.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/context-packs.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/context-packs.js +205 -0
- package/node_modules/@openrig/daemon/dist/routes/context-packs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts +4 -0
- package/node_modules/@openrig/daemon/dist/routes/crash-cart.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/crash-cart.js +144 -0
- package/node_modules/@openrig/daemon/dist/routes/crash-cart.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/missions.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/missions.js +10 -6
- package/node_modules/@openrig/daemon/dist/routes/missions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/{rig-policy.d.ts → rig-mode.d.ts} +3 -3
- package/node_modules/@openrig/daemon/dist/routes/rig-mode.d.ts.map +1 -0
- package/{daemon/dist/routes/rig-policy.js → node_modules/@openrig/daemon/dist/routes/rig-mode.js} +13 -13
- package/node_modules/@openrig/daemon/dist/routes/rig-mode.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/routes/scope-approve.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-approve.js +4 -0
- package/node_modules/@openrig/daemon/dist/routes/scope-approve.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js +29 -2
- package/node_modules/@openrig/daemon/dist/routes/scope-audit.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +18 -2
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.js +66 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/transport.js +12 -3
- package/node_modules/@openrig/daemon/dist/routes/transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts +2 -0
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js +6 -0
- package/node_modules/@openrig/daemon/dist/seat-recap-store-surface.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/server.d.ts +3 -1
- package/node_modules/@openrig/daemon/dist/server.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/server.js +15 -5
- 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 +166 -6
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +6 -1
- package/package.json +1 -1
- package/tui/dist/crash-cart/from-emit.d.ts +9 -0
- package/tui/dist/crash-cart/from-emit.d.ts.map +1 -1
- 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 +13 -2
- package/tui/dist/crash-cart/keys.js.map +1 -1
- package/tui/dist/crash-cart/one-click-gate.d.ts +5 -0
- package/tui/dist/crash-cart/one-click-gate.d.ts.map +1 -1
- package/tui/dist/crash-cart/one-click-gate.js +8 -0
- package/tui/dist/crash-cart/one-click-gate.js.map +1 -1
- package/tui/dist/crash-cart/render-crash-cart.d.ts +11 -0
- package/tui/dist/crash-cart/render-crash-cart.d.ts.map +1 -1
- package/tui/dist/crash-cart/render-crash-cart.js +113 -0
- package/tui/dist/crash-cart/render-crash-cart.js.map +1 -1
- package/tui/dist/crash-cart/restore-input.d.ts +32 -0
- package/tui/dist/crash-cart/restore-input.d.ts.map +1 -0
- package/tui/dist/crash-cart/restore-input.js +37 -0
- package/tui/dist/crash-cart/restore-input.js.map +1 -0
- package/tui/dist/crash-cart/restore-lifecycle.d.ts +66 -0
- package/tui/dist/crash-cart/restore-lifecycle.d.ts.map +1 -0
- package/tui/dist/crash-cart/restore-lifecycle.js +96 -0
- package/tui/dist/crash-cart/restore-lifecycle.js.map +1 -0
- package/tui/dist/crash-cart/restore-scroll.d.ts +14 -0
- package/tui/dist/crash-cart/restore-scroll.d.ts.map +1 -0
- package/tui/dist/crash-cart/restore-scroll.js +27 -0
- package/tui/dist/crash-cart/restore-scroll.js.map +1 -0
- package/tui/dist/daemon-client.d.ts +38 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +15 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/main.js +146 -2
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts +10 -0
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +63 -10
- package/tui/dist/render.js.map +1 -1
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +0 -1
- package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +0 -1
- package/daemon/dist/routes/rig-policy.d.ts.map +0 -1
- package/daemon/dist/routes/rig-policy.js.map +0 -1
- package/dist/commands/rig-policy.d.ts.map +0 -1
- package/dist/commands/rig-policy.js.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-store.js.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-types.js.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +0 -1
- package/node_modules/@openrig/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +0 -1
- package/node_modules/@openrig/daemon/dist/routes/rig-policy.d.ts.map +0 -1
- package/node_modules/@openrig/daemon/dist/routes/rig-policy.js.map +0 -1
|
@@ -3,12 +3,26 @@ import fs from "node:fs";
|
|
|
3
3
|
import os from "node:os";
|
|
4
4
|
import path from "node:path";
|
|
5
5
|
import { spawnSync } from "node:child_process";
|
|
6
|
+
import crypto from "node:crypto";
|
|
6
7
|
|
|
7
8
|
const TEXT_LIMIT = 4000;
|
|
8
|
-
//
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const BASE64_RUN = 800; // strip contiguous base64 runs at least this long (screenshots, data URIs)
|
|
10
|
+
|
|
11
|
+
function sha256(text) {
|
|
12
|
+
return crypto.createHash("sha256").update(String(text ?? "")).digest("hex").slice(0, 16);
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// R3: replace binary / base64 payloads (data: URIs, long base64 runs) with a compact marker,
|
|
16
|
+
// so a single screenshot block does not blow the transcript into un-chunkable size.
|
|
17
|
+
function stripBinary(text) {
|
|
18
|
+
let s = String(text ?? "");
|
|
19
|
+
s = s.replace(/data:([\w.+-]+\/[\w.+-]+)?;base64,[A-Za-z0-9+/=\s]{200,}/g,
|
|
20
|
+
(m, mime) => `[binary omitted: ~${m.length} bytes${mime ? `, ${mime}` : ""}]`);
|
|
21
|
+
s = s.replace(new RegExp(`[A-Za-z0-9+/]{${BASE64_RUN},}={0,2}`, "g"),
|
|
22
|
+
(m) => `[base64 omitted: ~${m.length} bytes]`);
|
|
23
|
+
return s;
|
|
24
|
+
}
|
|
25
|
+
const DEFAULT_OUT = "/tmp/claude-compaction-restore";
|
|
12
26
|
|
|
13
27
|
function parseArgs(argv) {
|
|
14
28
|
const args = {
|
|
@@ -86,8 +100,9 @@ function stringifyContent(content) {
|
|
|
86
100
|
.map((block) => {
|
|
87
101
|
if (typeof block === "string") return block;
|
|
88
102
|
if (block?.type === "text") return block.text ?? "";
|
|
103
|
+
if (block?.type === "image") return `[image omitted: ${block.source?.media_type ?? "image"}]`;
|
|
89
104
|
if (block?.type === "tool_use") return `[tool_use:${block.name}] ${JSON.stringify(block.input ?? {})}`;
|
|
90
|
-
if (block?.type === "tool_result") return `[tool_result] ${truncate(stringifyContent(block.content), TEXT_LIMIT)}`;
|
|
105
|
+
if (block?.type === "tool_result") return `[tool_result] ${truncate(stripBinary(stringifyContent(block.content)), TEXT_LIMIT)}`;
|
|
91
106
|
return JSON.stringify(block);
|
|
92
107
|
})
|
|
93
108
|
.join("\n");
|
|
@@ -239,6 +254,8 @@ function analyze(jsonlPath, cwd) {
|
|
|
239
254
|
const records = readJsonLines(jsonlPath);
|
|
240
255
|
const registry = createRegistry();
|
|
241
256
|
const transcript = [];
|
|
257
|
+
const narrative = []; // R4: message-turns only (assistant/user text), no tool bodies
|
|
258
|
+
const readTargets = new Map(); // R1: tool_use_id -> file_path for Read calls
|
|
242
259
|
const cwdCounts = new Map();
|
|
243
260
|
let sessionId = null;
|
|
244
261
|
|
|
@@ -262,20 +279,26 @@ function analyze(jsonlPath, cwd) {
|
|
|
262
279
|
|
|
263
280
|
if (typeof content === "string") {
|
|
264
281
|
transcript.push(`\n## ${role}\n\n${content}`);
|
|
282
|
+
narrative.push(`\n## ${role}\n\n${content}`);
|
|
265
283
|
for (const file of extractPaths(content, cwd)) registry.add(file, "mentioned", `${role}:text`);
|
|
266
284
|
continue;
|
|
267
285
|
}
|
|
268
286
|
|
|
269
287
|
if (!Array.isArray(content)) continue;
|
|
270
288
|
const parts = [];
|
|
289
|
+
const narrativeParts = [];
|
|
271
290
|
for (const block of content) {
|
|
272
291
|
if (block?.type === "text") {
|
|
273
292
|
parts.push(block.text ?? "");
|
|
293
|
+
narrativeParts.push(block.text ?? "");
|
|
274
294
|
for (const file of extractPaths(block.text ?? "", cwd)) registry.add(file, "mentioned", `${role}:text`);
|
|
275
295
|
} else if (block?.type === "tool_use") {
|
|
276
296
|
const name = block.name ?? "unknown";
|
|
277
297
|
const input = block.input ?? {};
|
|
278
298
|
parts.push(`\n[tool_use:${name}]\n${JSON.stringify(input, null, 2)}`);
|
|
299
|
+
if (name === "Read" && block.id && (input.file_path || input.path)) {
|
|
300
|
+
readTargets.set(block.id, input.file_path || input.path);
|
|
301
|
+
}
|
|
279
302
|
const kind = toolKind(name, input);
|
|
280
303
|
if (input.file_path) registry.add(normalizeFile(input.file_path, cwd), kind, `tool:${name}:file_path`);
|
|
281
304
|
if (input.path) registry.add(normalizeFile(input.path, cwd), kind, `tool:${name}:path`);
|
|
@@ -284,12 +307,21 @@ function analyze(jsonlPath, cwd) {
|
|
|
284
307
|
for (const file of extractPaths(text, cwd)) registry.add(file, kind, `tool:${name}:input`);
|
|
285
308
|
}
|
|
286
309
|
} else if (block?.type === "tool_result") {
|
|
287
|
-
const resultText = stringifyContent(block.content);
|
|
288
|
-
|
|
310
|
+
const resultText = stripBinary(stringifyContent(block.content));
|
|
311
|
+
const target = block.tool_use_id && readTargets.get(block.tool_use_id);
|
|
312
|
+
if (target) {
|
|
313
|
+
// R1: a Read result reproduces a whole file — emit a pointer, not the body.
|
|
314
|
+
// The live file is current; this transcript copy is a snapshot that may be stale.
|
|
315
|
+
const lineCount = resultText.split("\n").length;
|
|
316
|
+
parts.push(`\n[tool_result: Read ${target} — ${lineCount} lines, sha256 ${sha256(resultText)} — READ THE LIVE FILE; this snapshot may be stale]`);
|
|
317
|
+
} else {
|
|
318
|
+
parts.push(`\n[tool_result]\n${truncate(resultText, TEXT_LIMIT)}`);
|
|
319
|
+
}
|
|
289
320
|
for (const file of extractPaths(resultText, cwd)) registry.add(file, "mentioned", "tool_result");
|
|
290
321
|
}
|
|
291
322
|
}
|
|
292
323
|
if (parts.length) transcript.push(`\n## ${role}\n\n${parts.join("\n")}`);
|
|
324
|
+
if (narrativeParts.some((p) => String(p).trim())) narrative.push(`\n## ${role}\n\n${narrativeParts.join("\n")}`);
|
|
293
325
|
}
|
|
294
326
|
|
|
295
327
|
const rankedFiles = registry
|
|
@@ -300,12 +332,17 @@ function analyze(jsonlPath, cwd) {
|
|
|
300
332
|
const cwdRanked = [...cwdCounts.entries()].sort((a, b) => b[1] - a[1]);
|
|
301
333
|
const effectiveCwd = cwdRanked[0]?.[0] ?? cwd;
|
|
302
334
|
|
|
335
|
+
const transcriptText = transcript.join("\n");
|
|
336
|
+
const narrativeText = narrative.join("\n");
|
|
303
337
|
return {
|
|
304
338
|
sessionId,
|
|
305
339
|
jsonlPath,
|
|
306
340
|
cwd: effectiveCwd,
|
|
307
341
|
records: records.length,
|
|
308
|
-
transcript:
|
|
342
|
+
transcript: transcriptText,
|
|
343
|
+
narrative: narrativeText,
|
|
344
|
+
transcriptTokens: Math.round(transcriptText.length / 4),
|
|
345
|
+
narrativeTokens: Math.round(narrativeText.length / 4),
|
|
309
346
|
files: rankedFiles,
|
|
310
347
|
docs: discoverDocs(effectiveCwd),
|
|
311
348
|
};
|
|
@@ -346,10 +383,18 @@ function restoreInstructions(summary, outputPaths) {
|
|
|
346
383
|
lines.push("You have just been compacted or are restoring a compacted Claude Code seat. Your mental model is compressed and unreliable.");
|
|
347
384
|
lines.push("");
|
|
348
385
|
lines.push(`- JSONL transcript: \`${summary.jsonlPath}\``);
|
|
349
|
-
lines.push(`- Reconstructed transcript: \`${outputPaths.transcript}
|
|
386
|
+
lines.push(`- Reconstructed transcript: \`${outputPaths.transcript}\` (~${summary.transcriptTokens ?? "?"} tokens — do NOT read front-to-back)`);
|
|
387
|
+
lines.push(`- Narrative companion (READ THIS FIRST): \`${outputPaths.narrative}\` (~${summary.narrativeTokens ?? "?"} tokens — message turns only, no tool bodies)`);
|
|
350
388
|
lines.push(`- Touched-file triage: \`${outputPaths.touchedFiles}\``);
|
|
351
389
|
lines.push(`- Working directory inferred: \`${summary.cwd}\``);
|
|
352
390
|
lines.push("");
|
|
391
|
+
lines.push("## Read budget (the restore must leave room for the work)");
|
|
392
|
+
lines.push("");
|
|
393
|
+
lines.push(`- The full transcript is ~${summary.transcriptTokens ?? "?"} tokens. **Reading it front-to-back can consume the window the restore exists to rebuild.**`);
|
|
394
|
+
lines.push(`- Default order: read the **narrative companion first** (~${summary.narrativeTokens ?? "?"} tokens — message turns + decisions), tail-first (most recent first).`);
|
|
395
|
+
lines.push("- Drop to the full transcript only for a specific question the narrative can't answer. File bodies inside tool-results are pointers now — **read the live file, not the transcript snapshot.**");
|
|
396
|
+
lines.push("- Read to a budget with a stopping rule; report depth honestly (an honest PARTIAL beats a false completion). See the skill's *Required Read-Depth Audit*.");
|
|
397
|
+
lines.push("");
|
|
353
398
|
lines.push("## Required Sequence");
|
|
354
399
|
lines.push("");
|
|
355
400
|
lines.push("1. Read this file and `touched-files.md`.");
|
|
@@ -378,31 +423,25 @@ function restoreInstructions(summary, outputPaths) {
|
|
|
378
423
|
return lines.join("\n");
|
|
379
424
|
}
|
|
380
425
|
|
|
381
|
-
// A3-R3 injectable clock (slice 51-01): the packet output-dir timestamped path
|
|
382
|
-
// defaults to real wall-clock, but becomes deterministic when the shared hermetic
|
|
383
|
-
// env-var OPENRIG_TEST_CLOCK_NOW is set (an ISO instant). Empty/absent = production.
|
|
384
|
-
function nowIso() {
|
|
385
|
-
const injected = process.env.OPENRIG_TEST_CLOCK_NOW;
|
|
386
|
-
return typeof injected === "string" && injected.trim().length > 0 ? injected : new Date().toISOString();
|
|
387
|
-
}
|
|
388
|
-
|
|
389
426
|
function writeOutputs(summary, outRoot) {
|
|
390
|
-
const stamp =
|
|
427
|
+
const stamp = new Date().toISOString().replace(/[:.]/g, "-");
|
|
391
428
|
const base = path.join(outRoot, `${summary.sessionId ?? "unknown-session"}-${stamp}`);
|
|
392
429
|
fs.mkdirSync(base, { recursive: true });
|
|
393
430
|
|
|
394
431
|
const outputPaths = {
|
|
395
432
|
dir: base,
|
|
396
433
|
transcript: path.join(base, "transcript.txt"),
|
|
434
|
+
narrative: path.join(base, "transcript-narrative.txt"),
|
|
397
435
|
touchedFiles: path.join(base, "touched-files.md"),
|
|
398
436
|
instructions: path.join(base, "restore-instructions.md"),
|
|
399
437
|
summary: path.join(base, "restore-summary.json"),
|
|
400
438
|
};
|
|
401
439
|
|
|
402
440
|
fs.writeFileSync(outputPaths.transcript, summary.transcript || "(no message transcript reconstructed)\n");
|
|
441
|
+
fs.writeFileSync(outputPaths.narrative, summary.narrative || "(no narrative reconstructed)\n");
|
|
403
442
|
fs.writeFileSync(outputPaths.touchedFiles, markdownFileList(summary.files));
|
|
404
443
|
fs.writeFileSync(outputPaths.instructions, restoreInstructions(summary, outputPaths));
|
|
405
|
-
fs.writeFileSync(outputPaths.summary, JSON.stringify({ ...summary, transcript: undefined, outputPaths }, null, 2));
|
|
444
|
+
fs.writeFileSync(outputPaths.summary, JSON.stringify({ ...summary, transcript: undefined, narrative: undefined, outputPaths }, null, 2));
|
|
406
445
|
|
|
407
446
|
return outputPaths;
|
|
408
447
|
}
|
|
@@ -421,6 +460,9 @@ function main() {
|
|
|
421
460
|
jsonlPath,
|
|
422
461
|
outputDir: outputPaths.dir,
|
|
423
462
|
transcript: outputPaths.transcript,
|
|
463
|
+
narrative: outputPaths.narrative,
|
|
464
|
+
transcriptTokens: summary.transcriptTokens,
|
|
465
|
+
narrativeTokens: summary.narrativeTokens,
|
|
424
466
|
touchedFiles: outputPaths.touchedFiles,
|
|
425
467
|
instructions: outputPaths.instructions,
|
|
426
468
|
fileCount: summary.files.length,
|
|
@@ -432,7 +474,8 @@ function main() {
|
|
|
432
474
|
console.log(`Restore packet: ${result.outputDir}`);
|
|
433
475
|
console.log(`Instructions: ${result.instructions}`);
|
|
434
476
|
console.log(`Touched files: ${result.touchedFiles}`);
|
|
435
|
-
console.log(`
|
|
477
|
+
console.log(`Narrative (read first): ${result.narrative} (~${result.narrativeTokens} tokens)`);
|
|
478
|
+
console.log(`Transcript (drill-down): ${result.transcript} (~${result.transcriptTokens} tokens)`);
|
|
436
479
|
}
|
|
437
480
|
}
|
|
438
481
|
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: forming-an-openrig-mental-model
|
|
3
|
-
description:
|
|
4
|
-
Use when
|
|
3
|
+
description: >-
|
|
4
|
+
Use when the system around you does not make sense yet: you just booted into a seat and do not
|
|
5
|
+
know how the pieces fit; someone said rig, pod, seat, fleet, topology, or slice and you are not
|
|
6
|
+
certain what they mean here; you are unsure what kind of rig you are in or what it is for; you do
|
|
7
|
+
not know how skills reach you or where context comes from; or you are about to act on a guess
|
|
8
|
+
about how OpenRig works. Gives the runtime mental model fast, so you stop guessing.
|
|
5
9
|
metadata:
|
|
6
10
|
cli_surfaces_referenced:
|
|
7
11
|
- ask
|
|
@@ -28,8 +28,10 @@ metadata:
|
|
|
28
28
|
rig send operator-human@your-rig "your message"
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
That goes straight to the human's Slack
|
|
32
|
-
|
|
31
|
+
That goes straight to the human's Slack — that is the *how* for **text**. For **images**
|
|
32
|
+
(screenshots, renders), send through the **image connector** instead; text and images are separate
|
|
33
|
+
live channels today (a release upgrade will unify them). Either way the *how* is trivial; everything
|
|
34
|
+
below is the *when* and the *who* — the part that actually matters.
|
|
33
35
|
|
|
34
36
|
## The mental model: the human is a scarce attention resource managing by exception
|
|
35
37
|
|
|
@@ -63,6 +65,30 @@ test is: **"would he want to know this?"** If yes, send it. Lean toward sending
|
|
|
63
65
|
genuine signal and real good news; do not manufacture noise or narrate routine
|
|
64
66
|
churn. Discernment is the skill: you are curating his attention, not flooding it.
|
|
65
67
|
|
|
68
|
+
### The v0 event classes — reach out on these, unprompted
|
|
69
|
+
|
|
70
|
+
"Use discretion" left the *when* unspecified, so it did not happen — the channel exists and nobody
|
|
71
|
+
reaches for it. Here are the **named event classes** that should trigger a proactive message —
|
|
72
|
+
anchors for the judgment, not an exhaustive gate:
|
|
73
|
+
|
|
74
|
+
- **Model-fallback boots** — a seat that came up on a fallback model instead of its pinned one. Send
|
|
75
|
+
on **every occurrence**; a silent downgrade is exactly what the human needs to see.
|
|
76
|
+
- **Capacity / authority requests** — you need a fork/spin-up authorization, a spend-or-limit call, or
|
|
77
|
+
any authority only the human holds. This is a **guaranteed-answer** path — don't sit blocked on it.
|
|
78
|
+
- **Security-category flags** — anything in the security / consequence-boundary class.
|
|
79
|
+
- **Acceptance / milestone moments** — a slice proven, a release cut, a real "it's done and it works."
|
|
80
|
+
- **Human-addressed work blocked beyond its settle window** — a decision or request routed to the
|
|
81
|
+
human that has sat past the time it should have moved.
|
|
82
|
+
- **Idle / stall alarms** — the line stopped and isn't resuming (the idle-detector's signal).
|
|
83
|
+
|
|
84
|
+
These are v0, drawn from real rulings; treat them as the anchors that make the *when* concrete. New
|
|
85
|
+
classes earn their place the same way — from a real event the human wanted to know about.
|
|
86
|
+
|
|
87
|
+
**Why this is a norm, not a nicety — WORKS ≠ USED.** A channel that *works* is not a channel that is
|
|
88
|
+
*used*. This path is proven only when agents **reach for it unprompted** across the lifecycle — a
|
|
89
|
+
boot, a blocker, a ship, an alarm. If the channel exists and nobody reaches for it, the human is
|
|
90
|
+
blind by default. Reaching out on these classes is the job, not an interruption of it.
|
|
91
|
+
|
|
66
92
|
### If you are ANY OTHER agent — blockers only
|
|
67
93
|
|
|
68
94
|
You may message the human **only** when you are **blocked** and **he** is the one
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: mission-slice-sop
|
|
3
|
-
description: "Use when working a mission or slice: the
|
|
3
|
+
description: "Use when working a mission or slice: the canonical files (README / IMPLEMENTATION-PRD / PROGRESS / MISSION_NOTES / MISSION_BRIEF / PROOF), who owns what and when, how planning feeds building + review + QA, how to hand off through the queue, and how to survive compaction. This is the LIGHT default. It does NOT include the intent/plan-lock/proof-lock ceremony — that is a separate assigned overlay, `mission-slice-intent-proof-sop`."
|
|
4
4
|
metadata:
|
|
5
5
|
openrig:
|
|
6
6
|
stage: shipped
|
|
7
7
|
sibling_skills:
|
|
8
|
+
- mission-slice-intent-proof-sop
|
|
8
9
|
- queue-handoff
|
|
9
10
|
- seat-continuity-and-handover
|
|
10
11
|
- claude-compaction-restore
|
|
@@ -12,99 +13,88 @@ metadata:
|
|
|
12
13
|
|
|
13
14
|
# Mission/Slice SOP — how you work a mission & slice
|
|
14
15
|
|
|
15
|
-
Use this skill to actually **do** mission/slice work
|
|
16
|
+
Use this skill to actually **do** mission/slice work: track on the canonical files, record what you proved, hand off through them, and survive compaction on them. **Do the work described here; do not merely explain the protocol.**
|
|
17
|
+
|
|
18
|
+
## THIS IS THE LIGHT DEFAULT — read this before anything else
|
|
19
|
+
|
|
20
|
+
**The default for any slice is the inner loop:** ground yourself → build → **test with your own eyes** → iterate → **ONE** full-breadth review at the end. That is the whole process. It is not a reduced form of a better process; it IS the process.
|
|
21
|
+
|
|
22
|
+
**The intent / plan-lock / proof-contract / proof-lock ceremony is NOT part of this skill.** It lives in a separate overlay, **`mission-slice-intent-proof-sop`**, and you **may not select it yourself**. It applies only when the mission owner — or an orchestrator explicitly relaying the mission owner — **assigns it to a named piece of work**. If you believe something earns it, say so in one sentence and **continue on the light path** until told otherwise.
|
|
23
|
+
|
|
24
|
+
Why the split exists, plainly: this document used to carry both, so every slice loaded the full apparatus and a one-line documentation change could draw a multi-round gate. If you find yourself building a proof contract, requesting a pre-edit gate, or asking a peer to gate something you can verify yourself — you have picked up the overlay without being assigned it. Put it down.
|
|
16
25
|
|
|
17
26
|
## Proportionality — this SOP serves shipping; it is not the work itself
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
## The SDLC flow (intent → proof)
|
|
21
|
-
|
|
22
|
-
```
|
|
23
|
-
intent → mini-requirements + proof contract → (UI slices: mockups)
|
|
24
|
-
→ plan-lock (rig scope slice approve --scope spec)
|
|
25
|
-
→ build the LOCKED set
|
|
26
|
-
→ QA: mockup ↔ delivered VISUAL compare
|
|
27
|
-
→ proof drops (rig proof add <slice> …)
|
|
28
|
-
→ proof-lock (rig scope slice approve --scope delivery)
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
1. **Record intent** verbatim in the slice's `## Intent` section (`rig scope slice create` scaffolds it — every template kind).
|
|
32
|
-
2. **Author the mini-requirements + proof contract**: `## Mini-requirements` is the concise one-glance tier (approval starts there); `## Proof contract` is a checkbox list of promised deliverables, each written as an observable outcome. UI deliverables name their planned mockup. The IMPLEMENTATION-PRD opens with the mini-requirements; everything between intent and proof is **elastic** — for a small slice the mini-requirements may BE the whole PRD.
|
|
33
|
-
- **PARSER CONTRACT (README AND IMPLEMENTATION-PRD, from first draft — a parser contract, not stylistic):** each doc carries a verbatim, **undecorated** `## Mini-requirements` heading with a **numbered list**, and a verbatim, **undecorated** `## Proof contract` heading whose checkbox (`- [ ]`) lines are **character-identical** across the two files. `rig scope audit` parses the PRD's `## Proof contract`; a prose rollup (e.g. `## Required proof …`) or any renamed/decorated heading trips **`proof_contract_missing_or_malformed`** and forces a post-lock format patch. Never rename or decorate these two headings, and keep the PRD's checkbox lines byte-for-byte equal to the README's.
|
|
34
|
-
- **REFERENCE-NOT-RESTATE (public / runnable examples — an honesty rail, from first draft):** any example that shows output or a value the referenced file/command **derives** — repo/runtime counts, current-state totals, hashes, timestamps — must **reference the source/derivation, omit the volatile value, or pin an explicitly stable fixture**; never hardcode the live count/state in a public or shipped doc. "Illustrative" derived output is a lie on a timer: `OK registry (2 manifests)` goes false the instant an entry lands. Write the invariant form (`OK registry (<N> manifests)`, N = entries in `registry.json`) or name the fixture instead of the momentary number. Restated derivable state in a public doc is a defect `rig scope audit` will not catch — the author owns it.
|
|
35
|
-
3. **Plan-lock**: `rig scope slice approve <slice> --scope spec` — "the PRD matches the intent; THIS artifact set is what gets built." One daemon-side write: frontmatter stamp + append-only audit row.
|
|
36
|
-
- **PRE-PLAN-LOCK SELF-CHECK (advisory, not a gate):** before requesting `--scope spec`, it's worth running `rig scope audit --mission <mission> --json` and clearing any real **format** defect (e.g. `proof_contract_missing_or_malformed`) so the parser can read your proof contract — that's a genuine machine-parsing need, cheap to fix. But the audit is fail-open: findings do NOT block the lock or the build, and you do NOT need a zero-findings score to proceed. Fix what's real, skip what isn't, keep moving.
|
|
37
|
-
4. **Build the locked set** — look at the mockups, not just the spec text.
|
|
38
|
-
5. **QA visual compare**: for each deliverable, load the planned mockup, produce the real artifact in a test/demo environment, visually compare, and record the verdict.
|
|
39
|
-
6. **Drop proof**: `rig proof add <slice> --artifact-type qa --verdict PASS --candidate-sha <tip> --money-evidence "…" --evidences "1,3" --media "walk.webm,panel.png" --self-check "…"` — the C1 header's closed sets validate at drop time; `--evidences` joins the drop to its proof-contract items and `--media` names the curated proof/-relative media the drop stands behind (that pairing + media set is what the UI's DELIVERED section renders).
|
|
40
|
-
7. **Proof-lock**: `rig scope slice approve <slice> --scope delivery` — the terminal sign-off. Approval is freeze/sign-off, **never** proven-green: proven-green requires the recorded C1 verdicts.
|
|
27
|
+
|
|
28
|
+
The working product is the deliverable. This bookkeeping exists so the work survives handoff, compaction, and review — nothing more. **Match it to stakes.** The `rig scope audit` backstop is **advisory and fail-open**: it never blocks a build and is not a gate you clear before proceeding. If you're spending more time on the convention files or the audit than on the running product, stop and go build. Running the full apparatus on a small change is the letter-worship failure, not diligence.
|
|
41
29
|
|
|
42
30
|
## The three role contracts
|
|
43
31
|
|
|
44
|
-
- **Planning agent:**
|
|
45
|
-
- **Build agent:** builds
|
|
46
|
-
- **QA agent (owns the compare):**
|
|
32
|
+
- **Planning agent:** records what the slice is for and what "done" looks like, in the slice's own words; produces mockups for UI deliverables so the builder has something to look at (a UI slice with no mockup is an incomplete plan; non-UI slices have none — not a gate).
|
|
33
|
+
- **Build agent:** builds it, and **looks at the mockups**. Verifies by running the thing.
|
|
34
|
+
- **QA agent (owns the compare):** compares planned vs delivered per deliverable, records the verdict and the note. On mismatch: fix-and-re-review, or kick back with the reason — never escalate a raw mismatch to the human.
|
|
35
|
+
|
|
36
|
+
These three are a division of labour, not a chain of gates. One agent may hold all three on a small slice.
|
|
47
37
|
|
|
48
38
|
## The canonical files (the operating surface)
|
|
49
39
|
|
|
50
|
-
>
|
|
40
|
+
> These files are the **operating surface of the work** — you track on them, record on them, hand off through them, and survive compaction on them. Keep them current because that is what lets the work survive. But they **serve** the product; they are not the product. If you're polishing files while the actual thing isn't shipping, you've inverted it: go build, then update them.
|
|
51
41
|
|
|
52
|
-
- **README.md** (mission + slice) — the overview
|
|
53
|
-
- **IMPLEMENTATION-PRD.md** — the
|
|
42
|
+
- **README.md** (mission + slice) — the overview. The **mission README carries this SOP at its bottom.**
|
|
43
|
+
- **IMPLEMENTATION-PRD.md** — the plan, at whatever depth the work actually needs. For a small slice this may be a few lines. Elastic by design.
|
|
54
44
|
- **PROGRESS.md** — the live delivery state. One line per outcome; links down for detail.
|
|
55
|
-
- **MISSION_NOTES.md** — the accruing handoff + tribal-knowledge doc. Blank-slate onboarding
|
|
45
|
+
- **MISSION_NOTES.md** — the accruing handoff + tribal-knowledge doc. Blank-slate onboarding and **compaction-restore** read it. `§1` top-of-mind + per-seat `§A–§X`.
|
|
56
46
|
- **MISSION_BRIEF.md** — the steering doc (the UI "Steering" tab). The 7-section schema.
|
|
57
|
-
- **PROOF.md** (+ `proof/`) —
|
|
47
|
+
- **PROOF.md** (+ `proof/`) — what you actually verified, stated honestly. A couple of honest, LOOKed-at lines beat an elaborate contract.
|
|
58
48
|
|
|
59
49
|
## Per-file rules — WHO / WHEN / HOW
|
|
60
50
|
|
|
61
51
|
### PROGRESS.md
|
|
62
52
|
- **WHO:** the orchestrator owns `§1` (current state); every agent logs its own outcomes.
|
|
63
|
-
- **WHEN:** after every slice-done **
|
|
64
|
-
- **HOW:** one line per outcome (checkbox), link down for detail
|
|
53
|
+
- **WHEN:** after every slice-done **and every commit**; on any material state change.
|
|
54
|
+
- **HOW:** one line per outcome (checkbox), link down for detail; keep frontmatter `stage`/`verified` honest.
|
|
65
55
|
|
|
66
56
|
### PROOF.md + proof/
|
|
67
57
|
- **WHO:** the impl/QA pair that worked the slice.
|
|
68
|
-
- **WHEN:** a slice
|
|
69
|
-
- **HOW:**
|
|
58
|
+
- **WHEN:** before you call a slice done.
|
|
59
|
+
- **HOW:** say what you verified and how you verified it — **by effect**: you ran it and looked at the result. Put supporting media under `proof/`. State plainly what is proven and what is **not**; an honest "this half is untested" is worth more than a checkmark. If a drop verb is in play for this slice, prefer it over hand-placing files so the artifact carries its own provenance.
|
|
70
60
|
|
|
71
61
|
### MISSION_NOTES.md
|
|
72
|
-
- **WHO:** any agent updates `§1` (top-of-mind); each seat owns
|
|
62
|
+
- **WHO:** any agent updates `§1` (top-of-mind); each seat owns and appends to its own `§A–§X`.
|
|
73
63
|
- **WHEN:** on any material change; a compacting agent **files its state here BEFORE compaction and reads it on restore.**
|
|
74
64
|
- **HOW:** accruing tribal knowledge — `§1` ≤ 5–15 lines (gates, open decisions, surprises); per-seat continuation entries (latest = truth; other seats read-only). Pointer-first; don't duplicate.
|
|
75
65
|
|
|
76
66
|
### MISSION_BRIEF.md
|
|
77
|
-
- **WHO:** product/design (steering owner).
|
|
78
|
-
- **WHEN:** when steering changes.
|
|
79
|
-
- **HOW:** the 7-section steering schema (the UI "Steering" tab reads it).
|
|
67
|
+
- **WHO:** product/design (steering owner). **WHEN:** when steering changes. **HOW:** the 7-section steering schema.
|
|
80
68
|
|
|
81
69
|
### README.md
|
|
82
|
-
- **WHO:** the author at creation; refreshed on rescope.
|
|
83
|
-
- **WHEN:** at mission/slice creation + when scope/theme changes.
|
|
84
|
-
- **HOW:** overview + honest frontmatter (`id`/`stage`/`verified`) + the convention sections up top; the mission README carries this SOP at its bottom.
|
|
70
|
+
- **WHO:** the author at creation; refreshed on rescope. **WHEN:** at creation + when scope/theme changes. **HOW:** overview + honest frontmatter (`id`/`stage`/`verified`); the mission README carries this SOP at its bottom.
|
|
85
71
|
|
|
86
72
|
## The lifecycle (4 legs)
|
|
87
73
|
|
|
88
|
-
**SCAFFOLD** (`rig scope` creates the files from templates
|
|
74
|
+
**SCAFFOLD** (`rig scope` creates the files from templates) → **POPULATE** (agents fill them as work happens) → **PROJECT** (the Living Notes UI reads them into INTENT → PLAN → DELIVERED) → **VERIFY** (`rig scope audit`, advisory). "Loose freeform write + deterministic verify."
|
|
89
75
|
|
|
90
76
|
## Hot-potato (handoffs)
|
|
91
77
|
|
|
92
|
-
End every turn by passing the ball — a `rig queue
|
|
78
|
+
End every turn by passing the ball — a `rig queue handoff` to the next agent. The handoff verb is **transactional**: it closes the source as handed-off and mints the successor owned by `--to`, so the baton cannot be dropped. A handoff terminates only at the orchestrator seat, which holds the context to judge whether a park is legitimate.
|
|
79
|
+
|
|
80
|
+
**A plain `rig queue create` row is informational** — a durable message. It is not a baton and does not carry this obligation. Use `handoff` when you are passing real work; use `create` when you are informing.
|
|
81
|
+
|
|
82
|
+
Never go idle holding a baton.
|
|
93
83
|
|
|
94
84
|
## Verify (deterministic backstop)
|
|
95
85
|
|
|
96
|
-
Run `rig scope audit` at slice-close.
|
|
86
|
+
Run `rig scope audit` at slice-close. Every convention check is **advisory / fail-open** — it records and advises, never blocks a write. Fix what's real, skip what isn't, keep moving. **A clean audit score is not required to proceed.**
|
|
97
87
|
|
|
98
88
|
## Reading terminal captures — KNOWN GOTCHA: ghost-text autocomplete is NOT real
|
|
99
89
|
|
|
100
|
-
When you `rig capture` a pane, **greyed / ghost autocomplete suggestions are NOT real content** — they are autocomplete *previews
|
|
90
|
+
When you `rig capture` a pane, **greyed / ghost autocomplete suggestions are NOT real content** — they are autocomplete *previews*, not typed, staged, or committed input. **This has been faking agents out a lot**: reading a ghost suggestion in a peer's input box as "staged text they're about to send," then reasoning on a string that was never there.
|
|
101
91
|
|
|
102
|
-
**Rule:** ignore ghost/autosuggest text entirely. Only *committed/rendered* pane output is real.
|
|
92
|
+
**Rule:** ignore ghost/autosuggest text entirely. Only *committed/rendered* pane output is real. When it matters, verify at source (git, the queue, the actual event) — never off a capture's ghost line.
|
|
103
93
|
|
|
104
94
|
## Moment-of-truth checklist
|
|
105
95
|
|
|
106
|
-
- **Starting a slice?** →
|
|
107
|
-
- **Finishing a slice?** →
|
|
96
|
+
- **Starting a slice?** → do you know what it's for and what done looks like? mockups attached (UI slices)? **Are you on the light path?** (You are, unless the mission owner assigned the overlay.)
|
|
97
|
+
- **Finishing a slice?** → does PROOF.md say what you actually verified, by effect, including what is NOT covered? PROGRESS updated? MISSION_NOTES `§1` refreshed? handed off via `rig queue handoff`?
|
|
108
98
|
- **Committing?** → PROGRESS updated?
|
|
109
99
|
- **Compacting?** → filed your state in MISSION_NOTES?
|
|
110
|
-
- **Starting on a mission?** → read the mission README (incl. this SOP) + MISSION_NOTES + the conventions SSOT
|
|
100
|
+
- **Starting on a mission?** → read the mission README (incl. this SOP) + MISSION_NOTES + the conventions SSOT.
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openrig-skills
|
|
3
|
-
description: "Use when you're operating OpenRig and
|
|
3
|
+
description: "Use when you're operating OpenRig and need the right skill or context for fleet recovery, seat handover, new-seat orientation, a watchdog wake, cross-host reach to an agent on another machine, rig packaging, an OpenRig upgrade, systematic debugging, queue triage, or implementation planning; also use when you don't know what applies or nothing is projected on cold boot."
|
|
4
|
+
allowed-tools: Bash(rig:*)
|
|
4
5
|
metadata:
|
|
5
6
|
openrig:
|
|
6
7
|
stage: shipped
|
|
@@ -16,6 +17,27 @@ Skills are **progressive disclosure**: a skill's *name + description* sit in you
|
|
|
16
17
|
|
|
17
18
|
Every row below names **how to reach the skill** — already-hot, or an exact load path. No row is a dead end.
|
|
18
19
|
|
|
20
|
+
## Loading an entry on demand — `rig context get`
|
|
21
|
+
|
|
22
|
+
Don't guess a file path or a name. Go **ask → ref → load** in three steps:
|
|
23
|
+
|
|
24
|
+
1. **Discover** — run `rig context list` for every shipped entry's **ref** and name. The *when* for
|
|
25
|
+
each is the index below (or `rig context list --json`, which carries each entry's purpose) — match
|
|
26
|
+
your moment there.
|
|
27
|
+
2. **Select** — match your moment to a row's *when* and take its **ref**. Refs are canonical full paths
|
|
28
|
+
that mirror the library layout — `skills/<namespace>/<name>` (e.g. `skills/core/rig-lifecycle`,
|
|
29
|
+
`skills/process/systematic-debugging`). A unique bare name (e.g. `watchdog`) also resolves; any
|
|
30
|
+
slash-bearing ref is an exact lookup and fails loud if it does not exist.
|
|
31
|
+
3. **Load** — `rig context get skills/<namespace>/<name>`:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
rig context get skills/core/rig-lifecycle
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The content is served **from the installed CLI**, so what you load always matches your running version —
|
|
38
|
+
no path-guessing, no frozen-fork drift. (The daemon assembles the same bundle `rig context preview`
|
|
39
|
+
shows an operator — `get` is the agent-facing pull.)
|
|
40
|
+
|
|
19
41
|
## The index
|
|
20
42
|
|
|
21
43
|
### Always loaded — the universal spine (open its body when its moment hits)
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: openrig-user
|
|
3
|
-
description:
|
|
3
|
+
description: >-
|
|
4
|
+
Use when a specific `rig` command, subcommand, or flag is already known and you need its exact
|
|
5
|
+
syntax, JSON shape, defaults, or error meaning. NOT for natural capability discovery, open-ended
|
|
6
|
+
how-do-I questions, or choosing which OpenRig move applies.
|
|
4
7
|
---
|
|
5
8
|
|
|
6
9
|
# OpenRig User
|
|
@@ -919,7 +922,9 @@ Manage and compose context (any text/markdown) into reusable **packs**. Every pi
|
|
|
919
922
|
```bash
|
|
920
923
|
rig context list # what's in the library
|
|
921
924
|
rig context show <ref> # read a piece or pack
|
|
922
|
-
rig context add <
|
|
925
|
+
rig context add <source-dir> # install an existing pack directory into the store
|
|
926
|
+
rig context preview <ref> # assemble + show a pack WITHOUT delivering it
|
|
927
|
+
rig context sync # re-walk discovery roots, refresh the library index
|
|
923
928
|
rig context rm <ref>
|
|
924
929
|
rig context compose --out packs/<ref> --from <fileA> <fileB> ... # ordered pieces -> a durable pack
|
|
925
930
|
```
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Changelog — orienting-to-an-inherited-seat
|
|
2
|
+
|
|
3
|
+
**`SKILL.md` carries the practice; this file carries how it got there.** Rationale, superseded
|
|
4
|
+
wording, and the incidents that produced a rule live here so the instruction surface stays
|
|
5
|
+
instructional.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 2026-08-13 — "the channel does not expire" (Rule 3)
|
|
10
|
+
|
|
11
|
+
### The incident
|
|
12
|
+
|
|
13
|
+
A successor (orch-advisor tenure 4, v-openrig-build) concluded mid-conversation that its reach-back
|
|
14
|
+
window had closed at cutover, and reasoned from that for several turns before being challenged.
|
|
15
|
+
|
|
16
|
+
It was wrong. `rig ask --wake` ships in CLI 0.5.1, the predecessor's session record was intact and
|
|
17
|
+
resumable, and the seat's own lineage carried a wake rule explicitly marked active from the
|
|
18
|
+
retirement row onward. **One `rig ask --help` would have settled it.**
|
|
19
|
+
|
|
20
|
+
### What produced the error
|
|
21
|
+
|
|
22
|
+
Two artifacts asserted a bound that does not exist, and the successor inherited one side of a
|
|
23
|
+
contradiction without checking:
|
|
24
|
+
|
|
25
|
+
- the handover packet: *"I am a transcript after retirement, not a conversation. Ask while the
|
|
26
|
+
window is open."*
|
|
27
|
+
- the operating-model README: *"Until this seat is retired, ask it directly... After that it is a
|
|
28
|
+
transcript: greppable, not conversational."*
|
|
29
|
+
|
|
30
|
+
Both were written by an author who knew better — the same tenure authored the correct wake rule in
|
|
31
|
+
the lineage. The charitable reading of "greppable, not conversational" is a **posture** claim (treat
|
|
32
|
+
a woken tenure as testimony), which is right. It is phrased as a **capability** claim, and it was
|
|
33
|
+
read as one.
|
|
34
|
+
|
|
35
|
+
### Why the fix is worded positively
|
|
36
|
+
|
|
37
|
+
The generalisable form: **prose that talks a capable reader out of a capability it has.** This is
|
|
38
|
+
worse than a missing trigger. `PREMISE-capable-and-underinformed.md` already records that
|
|
39
|
+
affordances without triggers go unused (*"you may consult your predecessor"* → zero consultations
|
|
40
|
+
across a lineage). This is one turn worse — a **counter-trigger**. The successor did not fail to
|
|
41
|
+
reach for the channel; it concluded the channel was absent.
|
|
42
|
+
|
|
43
|
+
So Rule 3 now states the true bound positively rather than warning about the bad wording. Rule 2
|
|
44
|
+
(*the packet is testimony, checked not believed*) already covers refusing a stale packet claim, and
|
|
45
|
+
naming the specific bad sentence in `SKILL.md` would install the doubt it is trying to prevent.
|
|
46
|
+
|
|
47
|
+
### Also added
|
|
48
|
+
|
|
49
|
+
- **The real bound**, which had never been written down anywhere: the predecessor's own context
|
|
50
|
+
wall, hit *while answering* — yielding a truncated answer, an unclear error, or nothing. That is
|
|
51
|
+
one exhausted tenure, not a closed channel.
|
|
52
|
+
- **Ask repeatedly, across the first working day.** Observed in the same handover: the successor's
|
|
53
|
+
only high-value question arrived after hours of work with the artifacts, when a reconciliation
|
|
54
|
+
failed. Questions formed at orientation are shallow.
|
|
55
|
+
- **The live-resume tier**, which existed and was undocumented: resume a tenure into a named tmux
|
|
56
|
+
pane and message it with `rig send` for multi-turn work.
|
|
57
|
+
- **`rig ask --wake` reliability caveat.** The verb is a thin wrapper over the harness resume and is
|
|
58
|
+
not yet well-exercised (mission owner, 2026-08-13). A failing wrapper must not be read as a closed
|
|
59
|
+
channel — fall back to `claude -p --resume`.
|
|
60
|
+
|
|
61
|
+
### Standing
|
|
62
|
+
|
|
63
|
+
Not yet re-tested. The next handover is the test: if a successor uses the channel more than once and
|
|
64
|
+
without prompting, the fix worked. **Zero unprompted consultations remains the baseline to beat.**
|