@openrig/cli 0.5.2 → 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/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/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 +95 -0
- package/daemon/dist/domain/codex-thread-id.d.ts.map +1 -1
- package/daemon/dist/domain/codex-thread-id.js +171 -2
- 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/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 +8 -2
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
- 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/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 +31 -2
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.js +64 -29
- 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/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.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +19 -3
- 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/plan-lock-artifacts.d.ts +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.d.ts.map +1 -1
- package/daemon/dist/domain/scope/plan-lock-artifacts.js +2 -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/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 +22 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +32 -2
- package/daemon/dist/domain/seat-handover-service.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 +10 -1
- package/daemon/dist/domain/slices/slice-detail-projector.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/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 +3 -0
- package/daemon/dist/domain/types.d.ts.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 +39 -0
- package/daemon/dist/domain/user-settings/settings-store.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/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +11 -0
- package/daemon/dist/routes/seat.js.map +1 -1
- package/daemon/dist/routes/sessions.js +55 -0
- 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/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +37 -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/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/proof.d.ts.map +1 -1
- package/dist/commands/proof.js +70 -12
- package/dist/commands/proof.js.map +1 -1
- 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/transcript.d.ts.map +1 -1
- package/dist/commands/transcript.js +25 -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/config-store.d.ts +15 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +35 -1
- package/dist/config-store.js.map +1 -1
- 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/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/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/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 +95 -0
- 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 +171 -2
- 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/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 +8 -2
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +33 -21
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js +64 -55
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
- 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/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 +31 -2
- 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 +64 -29
- 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/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.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +19 -3
- 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/plan-lock-artifacts.d.ts +1 -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 +2 -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/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 +22 -0
- 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 +32 -2
- package/node_modules/@openrig/daemon/dist/domain/seat-handover-service.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 +10 -1
- package/node_modules/@openrig/daemon/dist/domain/slices/slice-detail-projector.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/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 +3 -0
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.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 +39 -0
- package/node_modules/@openrig/daemon/dist/domain/user-settings/settings-store.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/seat.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/seat.js +11 -0
- package/node_modules/@openrig/daemon/dist/routes/seat.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/sessions.js +55 -0
- 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/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +37 -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
|
@@ -12,7 +12,7 @@ metadata:
|
|
|
12
12
|
sibling_skills:
|
|
13
13
|
- workflow-runtime
|
|
14
14
|
- watchdog
|
|
15
|
-
-
|
|
15
|
+
- refocus
|
|
16
16
|
- looping-workflows
|
|
17
17
|
- intake-routing
|
|
18
18
|
- human-in-the-loop
|
|
@@ -77,6 +77,36 @@ Three of those (`handed_off_to`, `blocked_on`, `escalation`) additionally
|
|
|
77
77
|
require `closure_target`. The daemon enforces this at the domain layer;
|
|
78
78
|
every surface (CLI, MCP, future UI) inherits the same guarantee.
|
|
79
79
|
|
|
80
|
+
**The drafted-park failure (draft ≠ throw).** The rule is about the *actual* pass, not the
|
|
81
|
+
intention to pass. A turn that ends with a self-instruction **typed into your own prompt but left
|
|
82
|
+
unsent** — a drafted go-ahead, a next-atom note you never sent — has **not** handed off; it has
|
|
83
|
+
**parked**, and the seat sits idle for as long as nobody notices. Drafting the handoff feels like
|
|
84
|
+
doing it; it isn't. **Your last act on a turn must be an EDIT or a SEND** — a committed change, a
|
|
85
|
+
`rig send`, a `rig queue` handoff — **never a drafted prompt line left in the buffer.** If your
|
|
86
|
+
final output is an instruction addressed to yourself, you haven't ended the turn, you've stalled it.
|
|
87
|
+
|
|
88
|
+
**The dispatcher's other half — supersession closes your own outbox.** Ending your turn cleanly is
|
|
89
|
+
only half the rule; the other half fires when *you* move the world. **When a phase transition or a
|
|
90
|
+
fold receipt supersedes work you dispatched, close those dispatches yourself — with a citation to the
|
|
91
|
+
event that superseded them.** Closure-on-supersession belongs to the **dispatcher, never the
|
|
92
|
+
receiver.** Make it a habit: after every fold receipt / phase transition, run an **outbox audit** —
|
|
93
|
+
*which of my open dispatches did this just make moot?* — and close them with the citation.
|
|
94
|
+
|
|
95
|
+
*Why it must live with you:* stale dispatch-debt is **invisible to the dispatcher** because it lands
|
|
96
|
+
on someone else's queue — the cost is externalized, so no feedback loop ever fires to make you clean
|
|
97
|
+
it up. The receiver inherits debt they did not create and must burn cycles verifying it before they
|
|
98
|
+
can hold cleanly; a queue full of stale-pending makes *check-before-holding* — the discipline you
|
|
99
|
+
most want cheap — expensive, and it degrades the idle-detector's signal (a real owner looks the same
|
|
100
|
+
as a stale dispatch). Close it at the source: the moment your own transition mooted it.
|
|
101
|
+
|
|
102
|
+
**And after you hand off, PULL — don't idle with a stocked queue.** Handing the baton off ends the
|
|
103
|
+
*sequential* thread; it does not end *your* turn if your own queue still holds work. The circulation
|
|
104
|
+
pattern: finish → (1) hand the baton off so sequential work continues → (2) **check your OWN queue and
|
|
105
|
+
pull the next item** rather than going idle → (3) go truly idle only when your queue is **exhausted**,
|
|
106
|
+
then wait for the baton. An agent idling on top of a stocked queue is the single biggest utilization
|
|
107
|
+
leak (see `orchestration-team` → *queue depth is the orchestrator's product*). This is pull-not-push at
|
|
108
|
+
the seat level and needs no new machinery — the last act *after a handoff* is a **PULL**.
|
|
109
|
+
|
|
80
110
|
## Default-nudge semantics (the syntax footgun)
|
|
81
111
|
|
|
82
112
|
| Command | Nudges by default? | When to use |
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Changelog — retiring-and-inheriting-a-seat
|
|
2
|
+
|
|
3
|
+
**`SKILL.md` carries the mechanic; this file carries how it got there.** Rationale, superseded
|
|
4
|
+
designs, and the incidents that produced a rule live here so the instruction surface stays
|
|
5
|
+
instructional.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 2026-08-13 — wake is a verb now, and the packet must not bound the channel (Wake v0)
|
|
10
|
+
|
|
11
|
+
### Two corrections to the same section
|
|
12
|
+
|
|
13
|
+
**1 · The mechanism claim was stale.** The section read *"In v0 this is a practice + skill, not a
|
|
14
|
+
`rig` verb — wrap it in a verb only when convenience and consistency earn it."* `rig ask --wake`
|
|
15
|
+
had since shipped in CLI 0.5.1, with `--runtime` and `--wake-timeout` (default 180s). A retiring
|
|
16
|
+
agent reading the old line would have told its successor a verb existed only in principle.
|
|
17
|
+
|
|
18
|
+
The verb is a thin wrapper over the harness resume and is **not yet well-exercised** (mission owner,
|
|
19
|
+
2026-08-13), so the fallback to `claude -p --resume` is stated inline rather than left implied. **A
|
|
20
|
+
failing wrapper must never be read as a closed channel** — that inference was made once already and
|
|
21
|
+
cost a successor several turns.
|
|
22
|
+
|
|
23
|
+
**2 · The retiring side is where the reach-back failure is caused.** Across lineages on record, the
|
|
24
|
+
successor consulting its predecessor has almost never happened, and the packet is what suppresses
|
|
25
|
+
it. Two shapes, both observed in real packets on this rig:
|
|
26
|
+
|
|
27
|
+
- **Bounding the channel in time** — *"ask while the window is open"*, *"after this I am a
|
|
28
|
+
transcript, not a conversation"*. Neither is true: a retired tenure stays resumable while its
|
|
29
|
+
session record exists, and the only real bound is its own context wall hit while answering. The
|
|
30
|
+
second phrasing measurably cost a successor a capability it had (see
|
|
31
|
+
`orienting-to-an-inherited-seat/CHANGELOG.md`, 2026-08-13).
|
|
32
|
+
- **Offering access without a trigger** — *"predecessor consultation: not needed"* and *"you may
|
|
33
|
+
consult your predecessor"* each produced **zero consultations** from otherwise capable successors.
|
|
34
|
+
|
|
35
|
+
The distinction worth preserving, because retiring agents keep collapsing it: *"treat my answers as
|
|
36
|
+
testimony"* is a **posture** claim and it is correct. *"You can no longer converse with me"* is a
|
|
37
|
+
**capability** claim and it is false. They get written as the same sentence.
|
|
38
|
+
|
|
39
|
+
### Why the guidance is phrased as what to write
|
|
40
|
+
|
|
41
|
+
Stated positively (*state that the channel does not expire; give your verbatim handle; pre-form the
|
|
42
|
+
questions*) rather than as a list of forbidden sentences. A prohibition list in `SKILL.md` would
|
|
43
|
+
draw attention to phrasings a retiring agent would otherwise never produce.
|
|
44
|
+
|
|
45
|
+
### Standing
|
|
46
|
+
|
|
47
|
+
The fix is unverified. The measurable outcome is whether the next successor asks unprompted, and
|
|
48
|
+
more than once — the baseline is zero.
|
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: retiring-and-inheriting-a-seat
|
|
3
|
+
description: Use when you are a sitting agent near your context threshold (~85%) and a PLANNED seat transition is due — retire deliberately and hand your seat to a fresh successor primed from a packet, rather than let compaction degrade you. Covers the handover packet, the append-only lineage ledger (one row per tenure), rename-at-retire, the do-not-over-inherit framing, the optional warm-handoff window, and wake-v0 (consulting a retired predecessor). NOT for unplanned compaction/crash recovery (session-compaction-and-restore / claude-compaction-restore) and NOT the seat-binding primitive mechanics (seat-continuity-and-handover).
|
|
4
|
+
metadata:
|
|
5
|
+
openrig:
|
|
6
|
+
stage: provisional
|
|
7
|
+
sibling_skills:
|
|
8
|
+
- orienting-to-an-inherited-seat
|
|
9
|
+
- session-compaction-and-restore
|
|
10
|
+
- seat-continuity-and-handover
|
|
11
|
+
- claude-compaction-restore
|
|
12
|
+
- agent-starters
|
|
13
|
+
- queue-handoff
|
|
14
|
+
- openrig-user
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
# Retiring and Inheriting a Seat
|
|
18
|
+
|
|
19
|
+
A **planned** seat transition. A long-lived seat accumulates context; as it nears the
|
|
20
|
+
window's edge, don't wait for compaction to degrade you into a cold-started agent —
|
|
21
|
+
**retire deliberately** and hand the seat to a fresh successor primed from a packet plus
|
|
22
|
+
the seat's accumulated lineage. The **seat address is stable; its occupants are a lineage.**
|
|
23
|
+
This is the practice that named the "seat" primitive.
|
|
24
|
+
|
|
25
|
+
## Use this when
|
|
26
|
+
|
|
27
|
+
- You are a sitting agent near your context threshold (~85%) with a **planned** transition
|
|
28
|
+
(or a deliberate role change), and want the successor to start clean.
|
|
29
|
+
- You are priming a fresh successor into an **existing** seat.
|
|
30
|
+
- You are recording a tenure in the seat's lineage ledger / writing your tombstone.
|
|
31
|
+
- You are **inheriting** a seat and need the do-not-over-inherit framing.
|
|
32
|
+
- You want to consult the agent who sat in this seat before you.
|
|
33
|
+
|
|
34
|
+
## Don't use this when
|
|
35
|
+
|
|
36
|
+
- Unplanned compaction or a crash already happened — that is the backstop path:
|
|
37
|
+
`session-compaction-and-restore` / `claude-compaction-restore`.
|
|
38
|
+
- You need the seat-binding **primitive mechanics** (rebuild/fork/fresh, the two-outcome
|
|
39
|
+
honesty model, the provenance schema) — `seat-continuity-and-handover`.
|
|
40
|
+
- The seat is fresh with no occupant to retire — `rig launch` / `agent-starters`.
|
|
41
|
+
|
|
42
|
+
## Why planned handover beats riding compaction
|
|
43
|
+
|
|
44
|
+
Compaction is the **crash-class backstop** (it stays that). A **planned** handover is
|
|
45
|
+
deliberate: you author the packet with a clear head *before* degradation sets in, the
|
|
46
|
+
successor starts on a clean context, and the transition is auditable. Reach for this at a
|
|
47
|
+
threshold you can see coming; fall back to compaction only when a transition wasn't planned.
|
|
48
|
+
|
|
49
|
+
## The handover sequence
|
|
50
|
+
|
|
51
|
+
1. **Trigger** — ~85% context, or a deliberate role transition. The oversight-rig context
|
|
52
|
+
detector can fire this for you; you can also self-initiate when you feel the edge.
|
|
53
|
+
2. **Author the handover packet, deliberately** — a composed context pack carrying current
|
|
54
|
+
work + next owner, the seat's durable pointers, constraints and authority boundaries, and
|
|
55
|
+
the accumulated **lineage wisdom** ("those before you learned X"). This IS a restore packet
|
|
56
|
+
in the `session-compaction-and-restore` 16-field contract — **reuse that contract, don't
|
|
57
|
+
reinvent it.** Compose it with `rig context compose` (see openrig-user → "Context packs and
|
|
58
|
+
paced delivery").
|
|
59
|
+
3. **Prime the fresh successor** — `rig walk` the packet into the seat (paced delivery lets the
|
|
60
|
+
successor absorb it in order), or launch-with-packet. The successor reads it as
|
|
61
|
+
*inheritance*, not *identity*. **The packet's first-read line MUST point the successor at
|
|
62
|
+
`orienting-to-an-inherited-seat`** — its world model of what a handover *is*. Carry that
|
|
63
|
+
pointer **in the durable packet artifact itself**; never inject it as a runtime prompt keyed
|
|
64
|
+
to the seat name (that runtime mechanism is the **ghost-prompt** class the orientation skill
|
|
65
|
+
teaches successors to refuse — and it has misfired on real successors). Artifact-carried
|
|
66
|
+
survives the swap for free and needs no enabled gate.
|
|
67
|
+
4. **Rename-at-retire** — the **live seat address stays clean** (the seat name = whoever sits
|
|
68
|
+
now). The **retiring** agent is renamed to a versioned identity (`<seat>-vN`) or unseated to
|
|
69
|
+
a bare session token, and becomes a **cold advisor / wake target**. (This is exactly the
|
|
70
|
+
stable-seat-identity architecture in `seat-continuity-and-handover`: the version marks the
|
|
71
|
+
*retired tenure*, never the live seat.)
|
|
72
|
+
5. **Write your lineage-ledger row + a one-line tombstone** (below).
|
|
73
|
+
6. **Optional warm handoff** — a bounded apprenticeship window: the successor asks questions,
|
|
74
|
+
the predecessor judges fitness, *then* the swap completes. Use it when the seat holds a lot
|
|
75
|
+
of live judgment; skip it for a clean cut.
|
|
76
|
+
|
|
77
|
+
## The lineage ledger (append-only, one row per tenure)
|
|
78
|
+
|
|
79
|
+
The seat's tenure record, written at handover **by the retiring agent**. One tiny row per
|
|
80
|
+
tenure:
|
|
81
|
+
|
|
82
|
+
- **generation** — `v1`, `v2`, … (a seat accumulates 20–40 tenures over months)
|
|
83
|
+
- **harness session id** — **captured AT BOOT**, not at retirement (a crash never gets the
|
|
84
|
+
chance to write it later)
|
|
85
|
+
- **started / retired** timestamps
|
|
86
|
+
- **handover-packet pointer** — the pack ref
|
|
87
|
+
- **tombstone** — one line: what this tenure did, written by the retiring agent itself
|
|
88
|
+
|
|
89
|
+
**Why it works (zero search infrastructure):** any timestamped record — a git commit, a
|
|
90
|
+
qitem, a MISSION_NOTES line, a stream item — joins to the seat's ledger by interval match →
|
|
91
|
+
generation + session token → wake that tenure. One row per handover, append-only. (Per-seat
|
|
92
|
+
MISSION_NOTES continuation entries already *are* this record — the ledger formalizes them.)
|
|
93
|
+
|
|
94
|
+
**Crash-ended tenures** get their row appended **post-hoc** by the crash-cart / restore path,
|
|
95
|
+
flagged **honest-approximate** (the boot-captured session id is what makes this recoverable).
|
|
96
|
+
|
|
97
|
+
## Do NOT over-inherit — the key lesson from the practice's history
|
|
98
|
+
|
|
99
|
+
**You are inheriting a seat, not becoming your predecessor.** Frame it explicitly to the
|
|
100
|
+
successor: *"agents sat here before you and learned X; you carry the seat's mission, not their
|
|
101
|
+
identity."* The historical failure was agents getting confused about whether they **were** the
|
|
102
|
+
predecessor — carrying a stale self-model, over-claiming prior work as their own. Inherit the
|
|
103
|
+
seat's **mission and hard-won lessons**; keep your own **fresh identity and session**.
|
|
104
|
+
|
|
105
|
+
## Wake v0 — ask the agent who sat before you (a practice, not a verb)
|
|
106
|
+
|
|
107
|
+
A retired tenure is a cold advisor you can consult. Look up the seat's ledger → get that
|
|
108
|
+
generation's session token → resume it for **one question**, then let it sleep again:
|
|
109
|
+
|
|
110
|
+
- Claude: `claude -p --resume <session>`
|
|
111
|
+
- Codex: `codex exec` (resume the rollout)
|
|
112
|
+
|
|
113
|
+
This is also a `rig` verb: `rig ask <rig> "<q>" --wake <seat[@gen]|token>` (CLI 0.5.1; also
|
|
114
|
+
`--runtime`, `--wake-timeout`, default 180s). It wraps the harness resume above and is **not yet
|
|
115
|
+
well-exercised** — if it fails, fall back to `claude -p --resume <full-uuid>`. **A failing wrapper is
|
|
116
|
+
not a closed channel.** The ledger is how you **find** the right predecessor; wake is how you ask them.
|
|
117
|
+
|
|
118
|
+
**What to write in your packet about reaching you** — your successor asking you questions is the
|
|
119
|
+
reason this is a handover and not a compaction:
|
|
120
|
+
|
|
121
|
+
- **State that the channel does not expire**, and give your **verbatim resume handle**. You stay
|
|
122
|
+
reachable after retirement; the only real bound is your own context wall, hit while answering. Ask
|
|
123
|
+
them to treat your answers as testimony if you like — that is a posture claim, not a limit on access.
|
|
124
|
+
- **Pre-form the questions.** Inventory what only you hold and write the questions out. An affordance
|
|
125
|
+
without a trigger goes unused, so *"you may consult your predecessor"* reliably produces none.
|
|
126
|
+
|
|
127
|
+
**Wake-tenancy — the identity halves (a woken tenure can mistake itself for the live seat).** The
|
|
128
|
+
hardest thing to apply *checked-not-believed* to is your own identity — a retired tenure resumed for a
|
|
129
|
+
question can answer, and act, as if it still held the seat. Two rules close it:
|
|
130
|
+
|
|
131
|
+
- **Waker: disclose the target's tenure status in the wake prompt.** Open with *"you are retired; gen-N
|
|
132
|
+
holds this seat now — I'm consulting you for one question."* An oriented tenure gives honest testimony;
|
|
133
|
+
an un-oriented one may reason as the live occupant.
|
|
134
|
+
- **Woken: verify your OWN tenancy before your first act.** If you are being resumed / woken (a parked or
|
|
135
|
+
retired session, or any session waking on a seat that already issued READY), your **first** check is
|
|
136
|
+
`rig whoami` + a **successor check** — confirm whether you are still the live occupant or a successor
|
|
137
|
+
now holds the seat, *before* you do anything. Answer the question; do not resume the job.
|
|
138
|
+
|
|
139
|
+
## Failure modes
|
|
140
|
+
|
|
141
|
+
1. **Riding compaction when a planned handover was available** — a degraded agent authors a
|
|
142
|
+
degraded packet. Retire deliberately at the threshold you can see coming.
|
|
143
|
+
2. **Over-inheriting** — the successor believes it *is* the predecessor (stale self-model,
|
|
144
|
+
mis-claimed history). Frame inheritance explicitly; keep a fresh identity.
|
|
145
|
+
3. **Session id captured at retirement, not boot** — a crash then leaves no row, or an
|
|
146
|
+
unfindable tenure. Capture at boot.
|
|
147
|
+
4. **Suffixing the LIVE seat** (`<seat>-v2` as the active address) — lineage leaking into
|
|
148
|
+
identity, the wrong shape. The live address stays clean; only the retiree is versioned.
|
|
149
|
+
5. **Tombstone omitted or vague** — the ledger can no longer answer "who did this / who to
|
|
150
|
+
wake." One honest line, every tenure.
|
|
151
|
+
|
|
152
|
+
## Field-validated refinements (pilot 2026-08-05 — two live runs, both runtimes)
|
|
153
|
+
|
|
154
|
+
Two live handovers (a Claude seat + a Codex seat) ran this sequence end-to-end and sharpened it:
|
|
155
|
+
|
|
156
|
+
- **A GATED handover uses STAGED primitives, not an all-in-one verb.** An atomic
|
|
157
|
+
create/deliver/verify/rebind verb can't pause for a human go/no-go gate. Decompose it: boot the
|
|
158
|
+
successor **staged (unbound)** → prime it → **retire** the incumbent (this frees the clean seat name)
|
|
159
|
+
→ **HOLD for the gate** → **swap** (bind the successor to the canonical name). The gate sits between
|
|
160
|
+
retire and swap; a no-go rolls back by renaming the retiree back.
|
|
161
|
+
- **Prime AT BOOT, not walk-after-boot, for a staged successor.** Delivery verbs (`rig walk` / `rig
|
|
162
|
+
send`) resolve via the **bound** session registry, so they cannot reach an unbound staged successor.
|
|
163
|
+
Boot it **with the packet as startup/priming context** (the "primed from a handover/startup packet"
|
|
164
|
+
path). In both runs the successor read the full packet and correctly stated inheritance-not-identity
|
|
165
|
+
and held.
|
|
166
|
+
- **The lineage ledger is the ONLY reliable wake path — load-bearing, not convenient.** A retired
|
|
167
|
+
occupant (`<seat>-vN`) is intentionally **absent from the managed registry** — discovery / walk / send
|
|
168
|
+
cannot find it. The ledger's **boot-captured** session id is how you wake it: `claude -p --resume
|
|
169
|
+
<id>` (Claude) or `codex exec` resume (Codex) — harness-level, not the rig registry.
|
|
170
|
+
- **Tombstone honest-approximate fallback.** If a long-idle retiree can't be woken to self-write its
|
|
171
|
+
tombstone, the driver records an honest-approximate one and **flags it as such**.
|
|
172
|
+
- **Telemetry-degraded flag when warranted.** If a fresh successor's activity/producer-link telemetry
|
|
173
|
+
is degraded, flag its ledger row so no future reader trusts its activity state. (One runtime showed a
|
|
174
|
+
fresh-launch telemetry gap; the other was clean — capture the reality, don't assume.)
|
|
175
|
+
|
|
176
|
+
### Production-evidenced (first real-stakes run — a critical-seat generation swap, 2026-08-05)
|
|
177
|
+
|
|
178
|
+
The first live swap at a critical seat **succeeded** (the successor ruled a live domain question within the
|
|
179
|
+
hour — doctrine intact across the generation) and surfaced two hard refinements:
|
|
180
|
+
|
|
181
|
+
- **Boot-window queue re-check is REQUIRED — the successor's first action.** A qitem created *during* the
|
|
182
|
+
swap window can land **after** the handover packet was frozen — and its boot nudge fails
|
|
183
|
+
`session-not-found` because the seat is mid-cutover. The packet's snapshot is therefore incomplete by
|
|
184
|
+
construction. So the successor's first action is a **checked-not-believed queue sweep** (`rig queue list`
|
|
185
|
+
by destination / `--mine`), never trusting the packet's snapshot alone. The swap-window delivery seam is a
|
|
186
|
+
known product gap until it's closed.
|
|
187
|
+
- **Complete the canonical rename AT cutover — or expect three breakages.** If the staged name
|
|
188
|
+
(`<seat>-vN-staging`) survives past cutover, it breaks across three identity surfaces with inconsistent
|
|
189
|
+
enforcement: **transport** (the staged label doesn't resolve; replies to the signature bounce),
|
|
190
|
+
**queue-claim** (`claim_destination_mismatch` rejects the seat's own claim), and **queue-ledger**
|
|
191
|
+
(`handoff-and-complete` stamps the phantom staged name durably as `sourceSession`). The product fix is
|
|
192
|
+
tracked; until it lands, finish the canonical rename at cutover and treat a lingering staged name as a
|
|
193
|
+
live defect, not cosmetic.
|
|
194
|
+
- **Pre-announce the swap to oversight at swap START.** A live swap fired oversight's liveness detector
|
|
195
|
+
mid-swap (a false positive, cleared). Oversight clears such flags by consulting handover **receipts** —
|
|
196
|
+
but receipts only land at swap **end**, so a long swap window can still misfire. So the executing party
|
|
197
|
+
sends oversight a **one-line pre-announce at swap start** (seat + expected window); oversight honors it
|
|
198
|
+
as a **suppression window** for its liveness / premature-park flags. See `oversight-team`.
|
|
199
|
+
|
|
200
|
+
## See also
|
|
201
|
+
|
|
202
|
+
- `orienting-to-an-inherited-seat` — the **successor-side** world model your packet points
|
|
203
|
+
them at (loaded at boot); the load-bearing counterpart to this driver-side mechanic.
|
|
204
|
+
- `session-compaction-and-restore` — the 16-field packet contract this practice reuses, and
|
|
205
|
+
the UNPLANNED-compaction backstop it replaces for *planned* transitions.
|
|
206
|
+
- `seat-continuity-and-handover` — the seat-binding primitive mechanics + stable-seat-identity
|
|
207
|
+
architecture; the lineage ledger is the concrete form of its abstract provenance record.
|
|
208
|
+
- `openrig-user` → "Context packs and paced delivery" — `rig context compose` + `rig walk`, to
|
|
209
|
+
author and deliver the packet.
|
|
210
|
+
- `claude-compaction-restore` — the Claude crash-class restore SOP.
|
|
211
|
+
- `agent-starters` — composing a primed starting point for the successor.
|
|
@@ -133,6 +133,14 @@ destabilize topology references on each cycle. Provenance must be
|
|
|
133
133
|
durable AND queryable so RSI loops can decide whether a seat is fresh
|
|
134
134
|
enough to receive new work or needs re-handover.
|
|
135
135
|
|
|
136
|
+
## Discovery-registration gap (pilot-observed 2026-08-05)
|
|
137
|
+
|
|
138
|
+
A renamed / retired occupant (`<seat>-vN`, kept alive as a cold advisor) is intentionally **absent from
|
|
139
|
+
the managed node registry** — `rig ps`, discovery, and the delivery verbs (`walk` / `send`) cannot find
|
|
140
|
+
it. This is by design (only bound occupants are registered), and it makes the **lineage ledger +
|
|
141
|
+
boot-captured session id the wake path** (harness-level `--resume` / `codex exec`, not the rig registry).
|
|
142
|
+
Two live handovers confirmed this. See `retiring-and-inheriting-a-seat`.
|
|
143
|
+
|
|
136
144
|
## See also
|
|
137
145
|
|
|
138
146
|
- `session-source-fork` skill — `fork` occupant-creation primitive (sibling)
|
|
@@ -7,7 +7,7 @@ description: |
|
|
|
7
7
|
is a self-improving MARKDOWN CONTROL PLANE: the substrate is markdown + YAML + JSON + folder structure
|
|
8
8
|
(skills, instructions, bootstrap files, schemas, conventions), and most "bugs" are coherence gaps in
|
|
9
9
|
that layer, not broken functions. Read this to form the correct mental model so your fixes land at the
|
|
10
|
-
precise spot that stops the footgun for every future rig — not just patch a symptom. NOTE: the
|
|
10
|
+
precise spot that stops the footgun for every future rig — not just patch a symptom. It also covers why STUDIO APPS skip the mockup phase — for an agent-built app the build is as fast as the mockup, so the PRD is the fleshed intent (velocity as method, not a quality waiver). NOTE: the
|
|
11
11
|
bug-tolerance in this model is SCOPED to agent-managed software; the OpenRig core and rigs.to stay
|
|
12
12
|
rock-solid — see the scope block up top before you apply anything here.
|
|
13
13
|
metadata:
|
|
@@ -138,6 +138,33 @@ The lock is the "finished" primitive at the editorial layer. Locking a whole pha
|
|
|
138
138
|
next phase is the discipline that lets 10 agents work in parallel without catastrophic collisions —
|
|
139
139
|
everyone knows the target, their lane, and who judges done (the **producer owns the final product**).
|
|
140
140
|
|
|
141
|
+
## 4b. Studio apps skip the mockup phase — the build IS the mockup
|
|
142
|
+
|
|
143
|
+
For a **studio app**, do not run a separate mockup phase. The whole point of the Studio is that a mockup
|
|
144
|
+
buys you almost nothing here: **as fast as it takes to build a mockup, you can build the running app** —
|
|
145
|
+
an unlock made possible by agentic engineering. A mockup is only ever a device to flesh out the PRD; once
|
|
146
|
+
the PRD and its settled answers exist, that phase is **done**. The Studio is a lightweight, rapid-velocity,
|
|
147
|
+
agent-in-the-middle leveraged system: build apps fast, iterate on them fast.
|
|
148
|
+
|
|
149
|
+
The phase model above collapses accordingly:
|
|
150
|
+
|
|
151
|
+
1. **The PRD + settled answers ARE the fleshed intent** — no separate mockup gate, no plan-lock-on-mockups step.
|
|
152
|
+
2. **Spec-lock the WHAT** — `rig scope slice approve --scope spec` locks the intent the PRD already fleshed.
|
|
153
|
+
3. **BUILD the app**, then **iterate on the RUNNING app at mockup speed** — the running thing is the
|
|
154
|
+
iteration surface, not an image.
|
|
155
|
+
4. **LOOK is on the running screens** (any "mockup" proof tag now points at the running app's screens),
|
|
156
|
+
then **proof-lock** — `rig scope slice approve --scope delivery`. A slice is not done until every
|
|
157
|
+
proof-contract item has evidence from the **running app**.
|
|
158
|
+
|
|
159
|
+
**Velocity is the METHOD, not a quality waiver.** The LOOK is still a real LOOK; the proof contract still
|
|
160
|
+
binds at delivery. You are removing a redundant artifact, not lowering the bar.
|
|
161
|
+
|
|
162
|
+
**Scope — this does NOT generalize** (consistent with the scope block at the top): it applies to the
|
|
163
|
+
studio-app / agent-in-the-middle loop only. Outside that loop, a **locked design mockup that a slice must
|
|
164
|
+
match is still legitimate** — do not strip mockups from traditional or design-locked work. Know which lane
|
|
165
|
+
you're in. For the build mechanics, see the studio's build skill (`building-studio-apps`); this section is
|
|
166
|
+
the *why* and *when*.
|
|
167
|
+
|
|
141
168
|
## 5. Where to fix — and don't overfit on markdown
|
|
142
169
|
|
|
143
170
|
- **Precise-spot discipline:** find the *one* place a coherence fix belongs (the skill, the schema, the
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-starters
|
|
3
|
+
description: Use when creating, refreshing, packaging, inspecting, promoting, or deprecating a named per-seat starting point — Agent Starter manifest authoring, the 6-state lifecycle (captured → named → inspectable → used → promoted → deprecated), provenance honesty, and refusal rules. NOT a VM image; a managed starting point composed from agent role + startup context + optional native session source + provenance.
|
|
4
|
+
metadata:
|
|
5
|
+
openrig:
|
|
6
|
+
stage: factory-approved
|
|
7
|
+
sibling_skills:
|
|
8
|
+
- claude-compaction-restore
|
|
9
|
+
- mental-model-ha
|
|
10
|
+
- scope-recovery
|
|
11
|
+
- session-compaction-and-restore
|
|
12
|
+
- agent-startup-and-context-ingestion
|
|
13
|
+
- composable-priming-packs
|
|
14
|
+
- session-source-fork
|
|
15
|
+
- seat-continuity-and-handover
|
|
16
|
+
- claude-compact-in-place
|
|
17
|
+
- pre-maintenance-agent-preservation
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Agent Starters
|
|
21
|
+
|
|
22
|
+
A named, reusable per-seat starting point. Composes an agent role, startup
|
|
23
|
+
context, optional native session source, and provenance into something a
|
|
24
|
+
user or rig can choose when creating, refreshing, or packaging a seat.
|
|
25
|
+
|
|
26
|
+
"Agent image" is the analogy. **Agent Starter is the cleaner product
|
|
27
|
+
noun.** This is NOT a VM image — it is a managed starting point for an
|
|
28
|
+
agent seat, with provenance you can inspect.
|
|
29
|
+
|
|
30
|
+
## Use this when
|
|
31
|
+
|
|
32
|
+
- Creating a new seat from a known-good starting context.
|
|
33
|
+
- Refreshing a seat with `rig expand` and `starter_ref`.
|
|
34
|
+
- Authoring a new starter (registry entry).
|
|
35
|
+
- Inspecting an existing starter's provenance, freshness, or recommended status.
|
|
36
|
+
- Promoting / deprecating starters in the registry.
|
|
37
|
+
- Composing a starter with a Composable Priming Pack (record manifest id/version, runtime, source session id or transcript path, ready-check evidence, freshness state).
|
|
38
|
+
|
|
39
|
+
## Don't use this when
|
|
40
|
+
|
|
41
|
+
- You want VM-style deterministic state capture. Starters don't capture VM state.
|
|
42
|
+
- You want to copy provider auth material into a starter. **Starters refer to session sources and context; they do NOT copy credentials.**
|
|
43
|
+
|
|
44
|
+
## What makes a starter valuable
|
|
45
|
+
|
|
46
|
+
A starter is valuable when it is **functional** — it carries the context the seat needs to do its task well. Functional is the *only* measure of a good starter. Size is not: a smaller starter is not a better one, and a bigger one is not worse. Whatever it took for the seat to become genuinely capable at its job is the right starter — 80K tokens or 800K.
|
|
47
|
+
|
|
48
|
+
Capture the seat as it naturally is at a functional, proven point. Don't pad it with context the seat doesn't use, and — just as important — don't strip context out to make it smaller. Size is an *outcome* of what the seat needed, never a target.
|
|
49
|
+
|
|
50
|
+
Never compact, summarize, or shrink a seat in order to make or "lean" a starter. There is nothing valuable in "smaller," and compaction is lossy — you would trade away the exact capability the starter exists to preserve. (Compaction is a separate last-resort step for a seat genuinely near its context limit, with its own before/after plan — never part of capturing a starter.)
|
|
51
|
+
|
|
52
|
+
## State model — 6 states
|
|
53
|
+
|
|
54
|
+
1. **Captured** — a useful seat/session/context pattern is identified.
|
|
55
|
+
2. **Named** — it becomes an Agent Starter with stable id and owner.
|
|
56
|
+
3. **Inspectable** — runtime, context inputs, session source, and provenance are visible.
|
|
57
|
+
4. **Used** — a rig member or `rig expand` operation starts from it.
|
|
58
|
+
5. **Promoted** — evidence shows it is recommended for a role or bundle.
|
|
59
|
+
6. **Deprecated** — replaced, stale, unsafe, or incompatible.
|
|
60
|
+
|
|
61
|
+
## Failure modes (5)
|
|
62
|
+
|
|
63
|
+
1. **Overclaiming image semantics** — UI/docs imply deterministic VM-style state capture. Say "starter," name what's included, show provenance.
|
|
64
|
+
2. **Hidden provenance** — users can't tell what session, context, or spec a starter came from. **Refuse promotion until provenance is inspectable.**
|
|
65
|
+
3. **Stale starter** — points at outdated doctrine, missing files, or invalid native session source. **Inspect must report staleness honestly.**
|
|
66
|
+
4. **Secret leakage** — starter packages or displays provider auth material. **Refuse.** Refer to session sources and context, never copy credentials.
|
|
67
|
+
5. **Runtime mismatch** — starter used with unsupported runtime. **Refuse with a clear error.**
|
|
68
|
+
|
|
69
|
+
## Manifest shape (v0+v1 shipped)
|
|
70
|
+
|
|
71
|
+
```yaml
|
|
72
|
+
agent_starters:
|
|
73
|
+
- id: velocity-reviewer-v1
|
|
74
|
+
runtime: claude-code
|
|
75
|
+
agent_ref: local:reviewer
|
|
76
|
+
context_refs:
|
|
77
|
+
- doctrine:advisor-orchestrator-mode-judgment
|
|
78
|
+
- convention:workstream-continuity
|
|
79
|
+
session_source:
|
|
80
|
+
mode: fork
|
|
81
|
+
ref:
|
|
82
|
+
kind: native_id
|
|
83
|
+
value: "<prior-native-session-id>"
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Member usage:
|
|
87
|
+
|
|
88
|
+
```yaml
|
|
89
|
+
members:
|
|
90
|
+
- id: reviewer
|
|
91
|
+
starter_ref:
|
|
92
|
+
name: velocity-reviewer-v1
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
When a starter points at a primed session produced from a Composable
|
|
96
|
+
Priming Pack, record:
|
|
97
|
+
- manifest id/version
|
|
98
|
+
- runtime
|
|
99
|
+
- source session id or transcript path
|
|
100
|
+
- ready-check evidence
|
|
101
|
+
- freshness state
|
|
102
|
+
|
|
103
|
+
## Proof matrix
|
|
104
|
+
|
|
105
|
+
| Surface | Test type | Authority |
|
|
106
|
+
|---|---|---|
|
|
107
|
+
| Registry schema accepts minimal starter | unit | daemon or config-layer prototype |
|
|
108
|
+
| Inspect shows provenance and included context | unit / snapshot | daemon or CLI |
|
|
109
|
+
| Member can use `starter_ref` | integration | daemon |
|
|
110
|
+
| Unsupported runtime or stale source refuses honestly | unit + integration | daemon |
|
|
111
|
+
| No secret material copied into starter artifact | grep / fixture | tester |
|
|
112
|
+
| Bundle can include or reference starter | package inspection | bundle layer |
|
|
113
|
+
|
|
114
|
+
## Dependencies on other primitives
|
|
115
|
+
|
|
116
|
+
- **Firm**: `session-source-fork` — native conversation-source continuity for fork-based starters
|
|
117
|
+
- **Firm**: `specification-system` — declarative starter and member references
|
|
118
|
+
- **Soft**: `rig-bundles-and-shareable-artifacts` — shareable starter packaging
|
|
119
|
+
- **Soft**: `context-engineering-and-retrieval` — richer declarative context assembly
|
|
120
|
+
- **Soft**: `seat-continuity-and-handover` — refresh and swap workflows over starters
|
|
121
|
+
|
|
122
|
+
## Required-before-RSI
|
|
123
|
+
|
|
124
|
+
Agent Starters need queryable provenance and honest inspect output before
|
|
125
|
+
RSI loops can rely on them for seat refresh. A workflow must be able to
|
|
126
|
+
answer: "what starter did this seat use, what source session or context was
|
|
127
|
+
included, and is that starter still recommended?"
|
|
128
|
+
|
|
129
|
+
## See also
|
|
130
|
+
|
|
131
|
+
- `session-source-fork` skill — low-level fork primitive that makes native session-based starters possible
|
|
132
|
+
- `composable-priming-packs` skill — manifest-driven layer for producing primed sessions starters reference
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
|
+
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
|
+
name: "agent-starters"
|
|
4
|
+
version: "0.5.3"
|
|
5
|
+
purpose: "Use when creating, refreshing, packaging, inspecting, promoting, or deprecating a named per-seat starting point — Agent Starter manifest authoring, the 6-state lifecycle (captured → named → inspectable → used → promoted → deprecated), provenance honesty, and refusal rules. NOT a VM image; a managed starting point composed from agent role + startup context + optional native session source + provenance."
|
|
6
|
+
files:
|
|
7
|
+
- path: "SKILL.md"
|
|
8
|
+
role: "instruction"
|
|
9
|
+
summary: "Use when creating, refreshing, packaging, inspecting, promoting, or deprecating a named per-seat starting point — Agent Starter manifest authoring, the 6-state lifecycle (captured → named → inspectable → used → promoted → deprecated), provenance honesty, and refusal rules. NOT a VM image; a managed starting point composed from agent role + startup context + optional native session source + provenance."
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: agent-startup-and-context-ingestion
|
|
3
|
+
description: Use when designing or auditing how an agent becomes useful after launch — AGENTS.md overlays, role files, skills, rig specs, workflow specs, startup checklists, refocus messages, "rig context" surface. Covers the 4 failure modes that make startup context fail (old rig spec misses current operating mode; current agents never told about new guidance; startup file as dumping ground; orchestrator transmits implementation without preserving product intent).
|
|
4
|
+
metadata:
|
|
5
|
+
cli_surfaces_referenced:
|
|
6
|
+
- context
|
|
7
|
+
- whoami
|
|
8
|
+
openrig:
|
|
9
|
+
stage: factory-approved
|
|
10
|
+
sibling_skills:
|
|
11
|
+
- claude-compaction-restore
|
|
12
|
+
- mental-model-ha
|
|
13
|
+
- scope-recovery
|
|
14
|
+
- session-compaction-and-restore
|
|
15
|
+
- agent-starters
|
|
16
|
+
- composable-priming-packs
|
|
17
|
+
- session-source-fork
|
|
18
|
+
- seat-continuity-and-handover
|
|
19
|
+
- claude-compact-in-place
|
|
20
|
+
- pre-maintenance-agent-preservation
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
# Agent Startup and Context Ingestion
|
|
24
|
+
|
|
25
|
+
How an agent becomes useful after launch: **AGENTS.md overlays, role
|
|
26
|
+
files, skills, rig specs, workflow specs, startup checklists, refocus
|
|
27
|
+
messages**, and any future "rig context" command or skill-librarian
|
|
28
|
+
surface.
|
|
29
|
+
|
|
30
|
+
It is the current concrete startup path inside the broader
|
|
31
|
+
context-engineering-and-retrieval primitive. Startup gets a seat into
|
|
32
|
+
the right initial shape; context engineering is the larger question of
|
|
33
|
+
how a seat gets the right context for the work it is doing right now.
|
|
34
|
+
|
|
35
|
+
**Most coordination failures are not tool failures; they are context
|
|
36
|
+
failures.** Agents need to know their role, operating mode, coordination
|
|
37
|
+
convention, boundaries, and current product intent. If startup context
|
|
38
|
+
is scattered or stale, agents execute the wrong thing very efficiently.
|
|
39
|
+
|
|
40
|
+
## Use this when
|
|
41
|
+
|
|
42
|
+
- Authoring a new agent's startup files (role / culture / startup-context)
|
|
43
|
+
- Refreshing a seat that's been running on stale guidance
|
|
44
|
+
- Auditing whether agents got the current operating mode (not just what's in old files)
|
|
45
|
+
- Designing the orchestrator → next-agent context-transmission shape
|
|
46
|
+
- Building a startup map for OpenRig-building rigs
|
|
47
|
+
|
|
48
|
+
## Don't use this when
|
|
49
|
+
|
|
50
|
+
- The agent is being created via Agent Starter — the starter's manifest carries startup context
|
|
51
|
+
- The work is artifact-backed mental-model rebuild from a packet — that's `session-compaction-and-restore`
|
|
52
|
+
- The intent is to ship reusable startup content as a skill — that's `writing-skills-for-openrig`
|
|
53
|
+
|
|
54
|
+
## Failure modes (4)
|
|
55
|
+
|
|
56
|
+
1. **A new agent starts from an old rig spec and misses the current operating mode.** Specs go stale; current state must be visible at startup, not just historical config.
|
|
57
|
+
2. **Guidance is written to a file that future agents read, but current agents are never told.** File edits don't propagate to running sessions. Cultural rollout (broadcast + fleet-changes-feed) is needed alongside file edits.
|
|
58
|
+
3. **A startup file becomes a dumping ground and loses the map-to-canonical-sources role.** Startup should point AT canonical sources; it shouldn't TRY to be one.
|
|
59
|
+
4. **The orchestrator transmits implementation instructions without preserving product intent.** Instructions decay; intent travels.
|
|
60
|
+
|
|
61
|
+
## Proof standard
|
|
62
|
+
|
|
63
|
+
Startup proof should:
|
|
64
|
+
|
|
65
|
+
1. **Launch or refresh** a seat
|
|
66
|
+
2. **Inspect** what it actually read
|
|
67
|
+
3. **Verify** it can state the current role, mode, active constraints, and next handoff convention **in its own words**
|
|
68
|
+
|
|
69
|
+
## Cross-runtime startup paths (5; do not collapse)
|
|
70
|
+
|
|
71
|
+
When a seat's startup is artifact-backed mental-model rebuild (active-work
|
|
72
|
+
reentry case, distinct from reusable Agent Starters / priming packs):
|
|
73
|
+
|
|
74
|
+
- See the **cross-runtime restore/reentry packet standard v0**
|
|
75
|
+
- Source-trust ranking applies: **`rig whoami` > target rigspec > bounded latest transcript > full transcript > touched-files > `restore-summary.json`**
|
|
76
|
+
|
|
77
|
+
## Memory surfaces consumed at startup
|
|
78
|
+
|
|
79
|
+
Per the externalized-memory-surfaces convention's 13-row inventory:
|
|
80
|
+
|
|
81
|
+
- **Row 7** — AGENTS/role/CULTURE/startup overlays (primary)
|
|
82
|
+
- **Row 3** — startup replay context (primary)
|
|
83
|
+
- **Row 12** — restore/reentry packets and Agent Starters (cross-runtime startup path)
|
|
84
|
+
|
|
85
|
+
The umbrella's authority-rank + permission-posture columns govern which
|
|
86
|
+
surfaces a startup ingestion path can write vs only read.
|
|
87
|
+
|
|
88
|
+
## Startup files vs skills (the distinction)
|
|
89
|
+
|
|
90
|
+
Per `agent-startup-guide.md` (product reference doc) and the team handbook:
|
|
91
|
+
|
|
92
|
+
| Startup files | Skills |
|
|
93
|
+
|---|---|
|
|
94
|
+
| Rig-specific, role-specific identity | Reusable SOPs / methodology / knowledge |
|
|
95
|
+
| Tell agent WHO it is, WHAT it's working on, HOW this team operates | Tell agent HOW to do something (transferable across rigs) |
|
|
96
|
+
| Examples: `role.md`, `CULTURE.md`, `startup/context.md` | Examples: `openrig-user`, `test-driven-development`, `vault-user` |
|
|
97
|
+
| Authored per-rig | Authored once, used everywhere |
|
|
98
|
+
|
|
99
|
+
Don't put skill content in startup files. Don't put identity content
|
|
100
|
+
in skills. The 7-layer additive startup model (agent / profile / rig /
|
|
101
|
+
culture / pod / member / operator) handles the layering.
|
|
102
|
+
|
|
103
|
+
## See also
|
|
104
|
+
|
|
105
|
+
- `mission-slice-sop` skill — the universal operating procedure for working a mission/slice (the canonical PROGRESS/PROOF/MISSION_NOTES/MISSION_BRIEF files); every agent should reach for it at startup, so this general reading contract points at it here (do NOT duplicate the SOP into seat-specific startup files).
|
|
106
|
+
- `writing-skills-for-openrig` skill — authoring discipline for skill content (what doesn't belong in startup)
|
|
107
|
+
- `forming-an-openrig-mental-model` skill — orientation for new agents
|
|
108
|
+
- `session-compaction-and-restore` skill — restore-time startup ingestion
|
|
109
|
+
- `agent-starters` skill — reusable starter manifests that compose startup context
|
|
110
|
+
- `composable-priming-packs` skill — manifests that produce primed sessions
|
|
111
|
+
- `externalized-memory-surfaces` skill — umbrella convention for memory surfaces this primitive consumes
|
|
112
|
+
- `openrig/docs/reference/agent-startup-guide.md` (product reference doc; not a skill) — the 7-layer additive startup model + delivery hints
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# GENERATED by scripts/generate-context-packs.mjs — DO NOT EDIT.
|
|
2
|
+
# Package-time projection of a canonical skill; regenerated every build.
|
|
3
|
+
name: "agent-startup-and-context-ingestion"
|
|
4
|
+
version: "0.5.3"
|
|
5
|
+
purpose: "Use when designing or auditing how an agent becomes useful after launch — AGENTS.md overlays, role files, skills, rig specs, workflow specs, startup checklists, refocus messages, \"rig context\" surface. Covers the 4 failure modes that make startup context fail (old rig spec misses current operating mode; current agents never told about new guidance; startup file as dumping ground; orchestrator transmits implementation without preserving product intent)."
|
|
6
|
+
files:
|
|
7
|
+
- path: "SKILL.md"
|
|
8
|
+
role: "instruction"
|
|
9
|
+
summary: "Use when designing or auditing how an agent becomes useful after launch — AGENTS.md overlays, role files, skills, rig specs, workflow specs, startup checklists, refocus messages, \"rig context\" surface. Covers the 4 failure modes that make startup context fail (old rig spec misses current operating mode; current agents never told about new guidance; startup file as dumping ground; orchestrator transmits implementation without preserving product intent)."
|