@openrig/cli 0.6.5 → 0.6.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -49
- package/daemon/assets/onboarding/02-self-and-competent-action.md +39 -2
- package/daemon/assets/plugins/openrig-core/.claude-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/.codex-plugin/plugin.json +1 -1
- package/daemon/assets/plugins/openrig-core/skills/applying-a-permission-policy/SKILL.md +41 -21
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/SKILL.md +13 -7
- package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +3 -4
- package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +9 -4
- package/daemon/context-packs/help/help.md +33 -8
- package/daemon/context-packs/help/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +6 -5
- package/daemon/context-packs/reference/getting-started.md +423 -113
- package/daemon/context-packs/reference/manifest.yaml +1 -1
- package/daemon/context-packs/reference/rig-spec.md +150 -26
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/SKILL.md +41 -21
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/SKILL.md +13 -7
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/SKILL.md +0 -6
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/SKILL.md +5 -5
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +3 -3
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +3 -4
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/SKILL.md +12 -9
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/references/worked-example.md +29 -29
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/SKILL.md +0 -5
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/SKILL.md +9 -4
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/OPENRIG.md +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/SKILL.md +0 -2
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +25 -13
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +7 -4
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +3 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +10 -4
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +3 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +59 -61
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/compose-services-adapter.js +1 -1
- package/daemon/dist/adapters/compose-services-adapter.js.map +1 -1
- package/daemon/dist/adapters/kernel-authority.d.ts +10 -0
- package/daemon/dist/adapters/kernel-authority.d.ts.map +1 -0
- package/daemon/dist/adapters/kernel-authority.js +53 -0
- package/daemon/dist/adapters/kernel-authority.js.map +1 -0
- package/daemon/dist/adapters/non-interruptive.d.ts +14 -0
- package/daemon/dist/adapters/non-interruptive.d.ts.map +1 -0
- package/daemon/dist/adapters/non-interruptive.js +38 -0
- package/daemon/dist/adapters/non-interruptive.js.map +1 -0
- package/daemon/dist/adapters/pi-resume.d.ts +3 -1
- package/daemon/dist/adapters/pi-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-resume.js +8 -1
- package/daemon/dist/adapters/pi-resume.js.map +1 -1
- package/daemon/dist/adapters/pi-runner-protocol.d.ts +15 -0
- package/daemon/dist/adapters/pi-runner-protocol.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner-protocol.js +27 -0
- package/daemon/dist/adapters/pi-runner-protocol.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +3 -0
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +79 -13
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts +8 -0
- package/daemon/dist/adapters/pi-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runtime-adapter.js +37 -9
- package/daemon/dist/adapters/pi-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/stub-runner-protocol.d.ts +1 -1
- package/daemon/dist/adapters/stub-runner-protocol.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runner.d.ts +1 -1
- package/daemon/dist/adapters/stub-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/stub-runtime-adapter.js +10 -7
- package/daemon/dist/adapters/stub-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +7 -3
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +11 -6
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/daemon/dist/adapters/yolo-mode.js +3 -0
- package/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/bundle-behaviour-surface.d.ts +2 -0
- package/daemon/dist/bundle-behaviour-surface.d.ts.map +1 -0
- package/daemon/dist/bundle-behaviour-surface.js +2 -0
- package/daemon/dist/bundle-behaviour-surface.js.map +1 -0
- package/daemon/dist/bundle-identity-surface.d.ts +2 -0
- package/daemon/dist/bundle-identity-surface.d.ts.map +1 -0
- package/daemon/dist/bundle-identity-surface.js +4 -0
- package/daemon/dist/bundle-identity-surface.js.map +1 -0
- package/daemon/dist/daemon-shutdown.d.ts +1 -1
- package/daemon/dist/daemon-shutdown.d.ts.map +1 -1
- package/daemon/dist/daemon-shutdown.js +5 -1
- package/daemon/dist/daemon-shutdown.js.map +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +2 -0
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts +3 -0
- package/daemon/dist/db/migrations/095_rig_non_interruptive.d.ts.map +1 -0
- package/daemon/dist/db/migrations/095_rig_non_interruptive.js +5 -0
- package/daemon/dist/db/migrations/095_rig_non_interruptive.js.map +1 -0
- package/daemon/dist/domain/agent-manifest.d.ts.map +1 -1
- package/daemon/dist/domain/agent-manifest.js +4 -2
- package/daemon/dist/domain/agent-manifest.js.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts +10 -0
- package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/bootstrap-orchestrator.js +133 -31
- package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
- package/daemon/dist/domain/builtin-policy-reference.d.ts +1 -1
- package/daemon/dist/domain/builtin-policy-reference.d.ts.map +1 -1
- package/daemon/dist/domain/builtin-policy-reference.js +2 -2
- package/daemon/dist/domain/builtin-policy-reference.js.map +1 -1
- package/daemon/dist/domain/bundle-archive.d.ts +24 -0
- package/daemon/dist/domain/bundle-archive.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-archive.js +52 -27
- package/daemon/dist/domain/bundle-archive.js.map +1 -1
- package/daemon/dist/domain/bundle-audit.d.ts +5 -0
- package/daemon/dist/domain/bundle-audit.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-audit.js.map +1 -1
- package/daemon/dist/domain/bundle-behaviour-inspect.d.ts +4 -0
- package/daemon/dist/domain/bundle-behaviour-inspect.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-behaviour-inspect.js +56 -0
- package/daemon/dist/domain/bundle-behaviour-inspect.js.map +1 -0
- package/daemon/dist/domain/bundle-behaviour.d.ts +118 -0
- package/daemon/dist/domain/bundle-behaviour.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-behaviour.js +364 -0
- package/daemon/dist/domain/bundle-behaviour.js.map +1 -0
- package/daemon/dist/domain/bundle-carried-context-pack.d.ts +16 -0
- package/daemon/dist/domain/bundle-carried-context-pack.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-carried-context-pack.js +67 -0
- package/daemon/dist/domain/bundle-carried-context-pack.js.map +1 -0
- package/daemon/dist/domain/bundle-carried-project.d.ts +13 -0
- package/daemon/dist/domain/bundle-carried-project.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-carried-project.js +71 -0
- package/daemon/dist/domain/bundle-carried-project.js.map +1 -0
- package/daemon/dist/domain/bundle-conflict-detector.js +3 -3
- package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -1
- package/daemon/dist/domain/bundle-content-routing.d.ts +49 -0
- package/daemon/dist/domain/bundle-content-routing.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-content-routing.js +246 -0
- package/daemon/dist/domain/bundle-content-routing.js.map +1 -0
- package/daemon/dist/domain/bundle-context-packs-router.d.ts +7 -2
- package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-context-packs-router.js +19 -0
- package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -1
- package/daemon/dist/domain/bundle-identity.d.ts +27 -0
- package/daemon/dist/domain/bundle-identity.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-identity.js +34 -0
- package/daemon/dist/domain/bundle-identity.js.map +1 -0
- package/daemon/dist/domain/bundle-install-context.d.ts +22 -0
- package/daemon/dist/domain/bundle-install-context.d.ts.map +1 -0
- package/daemon/dist/domain/bundle-install-context.js +51 -0
- package/daemon/dist/domain/bundle-install-context.js.map +1 -0
- package/daemon/dist/domain/bundle-integrity.d.ts +1 -0
- package/daemon/dist/domain/bundle-integrity.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-integrity.js +1 -1
- package/daemon/dist/domain/bundle-integrity.js.map +1 -1
- package/daemon/dist/domain/bundle-source-resolver.d.ts +4 -1
- package/daemon/dist/domain/bundle-source-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-source-resolver.js +73 -19
- package/daemon/dist/domain/bundle-source-resolver.js.map +1 -1
- package/daemon/dist/domain/bundle-types.d.ts +37 -0
- package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
- package/daemon/dist/domain/bundle-types.js +78 -0
- package/daemon/dist/domain/bundle-types.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +4 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +45 -10
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/codex-team-workspace.d.ts +8 -0
- package/daemon/dist/domain/codex-team-workspace.d.ts.map +1 -0
- package/daemon/dist/domain/codex-team-workspace.js +54 -0
- package/daemon/dist/domain/codex-team-workspace.js.map +1 -0
- package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/context-monitor.js +7 -1
- package/daemon/dist/domain/context-monitor.js.map +1 -1
- package/daemon/dist/domain/daemon-version.d.ts +3 -1
- package/daemon/dist/domain/daemon-version.d.ts.map +1 -1
- package/daemon/dist/domain/daemon-version.js +6 -1
- package/daemon/dist/domain/daemon-version.js.map +1 -1
- package/daemon/dist/domain/event-loop-monitor.d.ts +6 -0
- package/daemon/dist/domain/event-loop-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/event-loop-monitor.js +13 -0
- package/daemon/dist/domain/event-loop-monitor.js.map +1 -1
- package/daemon/dist/domain/finite-telemetry.d.ts +74 -0
- package/daemon/dist/domain/finite-telemetry.d.ts.map +1 -0
- package/daemon/dist/domain/finite-telemetry.js +236 -0
- package/daemon/dist/domain/finite-telemetry.js.map +1 -0
- package/daemon/dist/domain/gateway/connections-projection.d.ts +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts +2 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/gateway-subsystem.js +4 -0
- package/daemon/dist/domain/gateway/gateway-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts +45 -0
- package/daemon/dist/domain/gateway/slack/channel-recovery.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/channel-recovery.js +176 -0
- package/daemon/dist/domain/gateway/slack/channel-recovery.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/inbound.d.ts +3 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +19 -8
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts +1 -0
- package/daemon/dist/domain/gateway/slack/slack-api.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-api.js +3 -1
- package/daemon/dist/domain/gateway/slack/slack-api.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js +7 -1
- package/daemon/dist/domain/gateway/slack/slack-subsystem.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts +4 -0
- package/daemon/dist/domain/gateway/slack/socket-inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js +11 -1
- package/daemon/dist/domain/gateway/slack/socket-inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.d.ts +24 -0
- package/daemon/dist/domain/gateway/slack/state-store.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/state-store.js +84 -1
- package/daemon/dist/domain/gateway/slack/state-store.js.map +1 -1
- package/daemon/dist/domain/generated-file-hygiene.d.ts +3 -0
- package/daemon/dist/domain/generated-file-hygiene.d.ts.map +1 -0
- package/daemon/dist/domain/generated-file-hygiene.js +142 -0
- package/daemon/dist/domain/generated-file-hygiene.js.map +1 -0
- package/daemon/dist/domain/install-planner.d.ts.map +1 -1
- package/daemon/dist/domain/install-planner.js +17 -0
- package/daemon/dist/domain/install-planner.js.map +1 -1
- package/daemon/dist/domain/managed-blocks.d.ts +1 -0
- package/daemon/dist/domain/managed-blocks.d.ts.map +1 -1
- package/daemon/dist/domain/managed-blocks.js +3 -0
- package/daemon/dist/domain/managed-blocks.js.map +1 -1
- package/daemon/dist/domain/native-permission-store.d.ts +14 -0
- package/daemon/dist/domain/native-permission-store.d.ts.map +1 -1
- package/daemon/dist/domain/native-permission-store.js +168 -4
- package/daemon/dist/domain/native-permission-store.js.map +1 -1
- package/daemon/dist/domain/native-process-executable.d.ts +4 -0
- package/daemon/dist/domain/native-process-executable.d.ts.map +1 -0
- package/daemon/dist/domain/native-process-executable.js +53 -0
- package/daemon/dist/domain/native-process-executable.js.map +1 -0
- package/daemon/dist/domain/native-process-lineage.d.ts +2 -0
- package/daemon/dist/domain/native-process-lineage.d.ts.map +1 -1
- package/daemon/dist/domain/native-process-lineage.js +34 -7
- package/daemon/dist/domain/native-process-lineage.js.map +1 -1
- package/daemon/dist/domain/native-resume-probe.d.ts +3 -1
- package/daemon/dist/domain/native-resume-probe.d.ts.map +1 -1
- package/daemon/dist/domain/native-resume-probe.js +38 -7
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts +6 -1
- package/daemon/dist/domain/permission-policy/policy-ref.d.ts.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-ref.js +16 -4
- package/daemon/dist/domain/permission-policy/policy-ref.js.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts +1 -1
- package/daemon/dist/domain/permission-policy/policy-spec.d.ts.map +1 -1
- package/daemon/dist/domain/permission-policy/policy-spec.js +2 -2
- package/daemon/dist/domain/permission-policy/policy-spec.js.map +1 -1
- package/daemon/dist/domain/profile-resolver.d.ts +3 -2
- package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
- package/daemon/dist/domain/profile-resolver.js +71 -9
- package/daemon/dist/domain/profile-resolver.js.map +1 -1
- package/daemon/dist/domain/projection-planner.d.ts +11 -0
- package/daemon/dist/domain/projection-planner.d.ts.map +1 -1
- package/daemon/dist/domain/projection-planner.js +1 -1
- package/daemon/dist/domain/projection-planner.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +36 -10
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-transition-log.d.ts.map +1 -1
- package/daemon/dist/domain/queue-transition-log.js +12 -10
- package/daemon/dist/domain/queue-transition-log.js.map +1 -1
- package/daemon/dist/domain/readiness-timeout.d.ts +7 -0
- package/daemon/dist/domain/readiness-timeout.d.ts.map +1 -0
- package/daemon/dist/domain/readiness-timeout.js +19 -0
- package/daemon/dist/domain/readiness-timeout.js.map +1 -0
- package/daemon/dist/domain/request-phase-observer.d.ts +69 -0
- package/daemon/dist/domain/request-phase-observer.d.ts.map +1 -0
- package/daemon/dist/domain/request-phase-observer.js +206 -0
- package/daemon/dist/domain/request-phase-observer.js.map +1 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts +2 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +58 -12
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts +17 -1
- package/daemon/dist/domain/rig-mode/operating-posture.d.ts.map +1 -1
- package/daemon/dist/domain/rig-mode/operating-posture.js +53 -15
- package/daemon/dist/domain/rig-mode/operating-posture.js.map +1 -1
- package/daemon/dist/domain/rig-repository.d.ts +12 -5
- package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
- package/daemon/dist/domain/rig-repository.js +49 -6
- package/daemon/dist/domain/rig-repository.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +12 -3
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-codec.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-codec.js +2 -0
- package/daemon/dist/domain/rigspec-codec.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +1 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +8 -3
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +45 -12
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.d.ts +3 -2
- package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-preflight.js +18 -10
- package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +5 -1
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/route-timing-recorder.d.ts.map +1 -1
- package/daemon/dist/domain/route-timing-recorder.js +2 -0
- package/daemon/dist/domain/route-timing-recorder.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +12 -3
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js +1 -0
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +10 -4
- package/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/daemon/dist/domain/seat-handover-service.d.ts +2 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +5 -7
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.d.ts.map +1 -1
- package/daemon/dist/domain/seat-launch-environment.js +4 -0
- package/daemon/dist/domain/seat-launch-environment.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +4 -0
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +4 -0
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/seat-status-service.d.ts +2 -1
- package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-status-service.js +6 -4
- package/daemon/dist/domain/seat-status-service.js.map +1 -1
- package/daemon/dist/domain/service-orchestrator.d.ts +1 -0
- package/daemon/dist/domain/service-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/service-orchestrator.js +4 -0
- package/daemon/dist/domain/service-orchestrator.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +5 -0
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +161 -14
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/skill-catalog.d.ts +19 -0
- package/daemon/dist/domain/skill-catalog.d.ts.map +1 -1
- package/daemon/dist/domain/skill-catalog.js +166 -17
- package/daemon/dist/domain/skill-catalog.js.map +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts +1 -1
- package/daemon/dist/domain/skill-discovery.d.ts.map +1 -1
- package/daemon/dist/domain/skill-discovery.js +6 -0
- package/daemon/dist/domain/skill-discovery.js.map +1 -1
- package/daemon/dist/domain/slow-op-recorder.d.ts +5 -0
- package/daemon/dist/domain/slow-op-recorder.d.ts.map +1 -1
- package/daemon/dist/domain/slow-op-recorder.js +34 -1
- package/daemon/dist/domain/slow-op-recorder.js.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.d.ts +30 -5
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +143 -43
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/startup-proof.d.ts +7 -0
- package/daemon/dist/domain/startup-proof.d.ts.map +1 -1
- package/daemon/dist/domain/startup-proof.js +7 -0
- package/daemon/dist/domain/startup-proof.js.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts +5 -1
- package/daemon/dist/domain/startup-submission-evidence.d.ts.map +1 -1
- package/daemon/dist/domain/startup-submission-evidence.js +19 -2
- package/daemon/dist/domain/startup-submission-evidence.js.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.d.ts +9 -3
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +12 -4
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/system-world.d.ts +3 -0
- package/daemon/dist/domain/system-world.d.ts.map +1 -1
- package/daemon/dist/domain/system-world.js +24 -21
- package/daemon/dist/domain/system-world.js.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js +2 -3
- package/daemon/dist/domain/terminal/cmux-provider-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +19 -4
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +102 -8
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/terminal-provider.d.ts +2 -0
- package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.d.ts +10 -0
- package/daemon/dist/domain/terminal/terminal-service.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.js +75 -6
- package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.d.ts +6 -0
- package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.js +4 -2
- package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
- package/daemon/dist/domain/topology/remote-up-leaf.d.ts +1 -0
- package/daemon/dist/domain/topology/remote-up-leaf.d.ts.map +1 -1
- package/daemon/dist/domain/topology/remote-up-leaf.js.map +1 -1
- package/daemon/dist/domain/transcript-store.d.ts.map +1 -1
- package/daemon/dist/domain/transcript-store.js +3 -2
- package/daemon/dist/domain/transcript-store.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +6 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts +1 -1
- package/daemon/dist/domain/user-settings/settings-store.d.ts.map +1 -1
- package/daemon/dist/domain/user-settings/settings-store.js +13 -0
- package/daemon/dist/domain/user-settings/settings-store.js.map +1 -1
- package/daemon/dist/domain/workflow-runtime.d.ts +1 -1
- package/daemon/dist/domain/workspace/project-catalog.d.ts +20 -0
- package/daemon/dist/domain/workspace/project-catalog.d.ts.map +1 -1
- package/daemon/dist/domain/workspace/project-catalog.js +92 -0
- package/daemon/dist/domain/workspace/project-catalog.js.map +1 -1
- package/daemon/dist/domain/workspace/project-registration.d.ts +49 -0
- package/daemon/dist/domain/workspace/project-registration.d.ts.map +1 -0
- package/daemon/dist/domain/workspace/project-registration.js +251 -0
- package/daemon/dist/domain/workspace/project-registration.js.map +1 -0
- package/daemon/dist/index.d.ts.map +1 -1
- package/daemon/dist/index.js +2 -1
- package/daemon/dist/index.js.map +1 -1
- package/daemon/dist/project-catalog-surface.d.ts +2 -1
- package/daemon/dist/project-catalog-surface.d.ts.map +1 -1
- package/daemon/dist/project-catalog-surface.js +1 -1
- package/daemon/dist/project-catalog-surface.js.map +1 -1
- package/daemon/dist/routes/bundles.d.ts.map +1 -1
- package/daemon/dist/routes/bundles.js +174 -413
- package/daemon/dist/routes/bundles.js.map +1 -1
- package/daemon/dist/routes/compaction.d.ts.map +1 -1
- package/daemon/dist/routes/compaction.js +14 -2
- package/daemon/dist/routes/compaction.js.map +1 -1
- package/daemon/dist/routes/env.d.ts.map +1 -1
- package/daemon/dist/routes/env.js +14 -4
- package/daemon/dist/routes/env.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +5 -0
- package/daemon/dist/routes/gateway.js.map +1 -1
- package/daemon/dist/routes/projects.d.ts.map +1 -1
- package/daemon/dist/routes/projects.js +4 -2
- package/daemon/dist/routes/projects.js.map +1 -1
- package/daemon/dist/routes/rigs.d.ts.map +1 -1
- package/daemon/dist/routes/rigs.js +3 -2
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.js +4 -2
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/seat.js +11 -4
- 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 +2 -1
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/telemetry.d.ts +2 -0
- package/daemon/dist/routes/telemetry.d.ts.map +1 -1
- package/daemon/dist/routes/telemetry.js +16 -0
- package/daemon/dist/routes/telemetry.js.map +1 -1
- package/daemon/dist/routes/up.js +9 -5
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/server.d.ts +1 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +4 -1
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/spec-validation-surface.d.ts +2 -0
- package/daemon/dist/spec-validation-surface.d.ts.map +1 -1
- package/daemon/dist/spec-validation-surface.js +2 -0
- package/daemon/dist/spec-validation-surface.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +33 -11
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/dist/system-world-surface.d.ts +1 -1
- package/daemon/dist/system-world-surface.d.ts.map +1 -1
- package/daemon/dist/system-world-surface.js +1 -1
- package/daemon/dist/system-world-surface.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +113 -67
- package/daemon/docs/reference/agent-startup-guide.md +106 -33
- package/daemon/docs/reference/agent-state-taxonomy.md +44 -13
- package/daemon/docs/reference/browser-access.md +8 -7
- package/daemon/docs/reference/bundle-formats.md +207 -0
- package/daemon/docs/reference/chain-file-convention.md +16 -7
- package/daemon/docs/reference/developing.md +7 -0
- package/daemon/docs/reference/edge-types.md +18 -10
- package/daemon/docs/reference/getting-started.md +423 -113
- package/daemon/docs/reference/health-diagnosis.md +14 -6
- package/daemon/docs/reference/help.md +33 -8
- package/daemon/docs/reference/host-resources.md +3 -2
- package/daemon/docs/reference/inventory-request-diagnostics.md +75 -0
- package/daemon/docs/reference/knowledge-maturity.md +3 -1
- package/daemon/docs/reference/legacy-topology-migration.md +4 -2
- package/daemon/docs/reference/lore-routing.md +3 -1
- package/daemon/docs/reference/mission-install.md +3 -1
- package/daemon/docs/reference/non-interruptive-mode.md +60 -0
- package/daemon/docs/reference/planning-dial.md +2 -1
- package/daemon/docs/reference/product-journey-sdlc.md +11 -6
- package/daemon/docs/reference/product-management-pass.md +3 -1
- package/daemon/docs/reference/project-workspace.md +80 -3
- package/daemon/docs/reference/publishing-a-rig-bundle.md +144 -0
- package/daemon/docs/reference/refocus-channel.md +14 -5
- package/daemon/docs/reference/release-boundary.md +7 -3
- package/daemon/docs/reference/rig-bundle.md +271 -42
- package/daemon/docs/reference/rig-spec.md +150 -26
- package/daemon/docs/reference/rosters.md +60 -0
- package/daemon/docs/reference/schemas/bundle-behaviour.v1.schema.json +546 -0
- package/daemon/docs/reference/schemas/bundle-common.v1.schema.json +110 -0
- package/daemon/docs/reference/schemas/bundle-configurations.v1.schema.json +67 -0
- package/daemon/docs/reference/schemas/bundle-status.v1.schema.json +323 -0
- package/daemon/docs/reference/schemas/fixtures/identity-vectors.json +80 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/behaviour/not-generated-with-sections.json +60 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/configurations/spaced-member.configurations.yaml +6 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/listed-with-withdrawn-on.yaml +21 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/missing-source.yaml +16 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/parent-folder.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/short-commit.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/registry/withdrawn-without-date.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/run-record/harness-check-with-configuration.json +75 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/run-record/unlabelable-platform.json +97 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/hand-edited-notice.json +61 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-with-assistance.json +62 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/tested-without-records.json +59 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-harness-with-result.json +61 -0
- package/daemon/docs/reference/schemas/fixtures/invalid/status/unavailable-listing-with-label.json +61 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/custom-not-generated.json +22 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/legacy-archive-unknown-identity.json +53 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-default.json +101 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/mixed-runtimes-yolo.json +102 -0
- package/daemon/docs/reference/schemas/fixtures/valid/behaviour/openrig-dev.recommended.json +258 -0
- package/daemon/docs/reference/schemas/fixtures/valid/configurations/openrig-dev.configurations.yaml +12 -0
- package/daemon/docs/reference/schemas/fixtures/valid/registry/openrig-dev.yaml +20 -0
- package/daemon/docs/reference/schemas/fixtures/valid/registry/withdrawn.yaml +21 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/pi-harness-check-blocked.json +74 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-assisted-pass.json +97 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/team-pass.json +97 -0
- package/daemon/docs/reference/schemas/fixtures/valid/run-record/withdraws-earlier.json +99 -0
- package/daemon/docs/reference/schemas/fixtures/valid/status/status.json +61 -0
- package/daemon/docs/reference/schemas/registry-entry.v1.schema.json +139 -0
- package/daemon/docs/reference/schemas/run-record.v1.schema.json +315 -0
- package/daemon/docs/reference/scoped-operating-posture.md +17 -9
- package/daemon/docs/reference/sdlc-conventions.md +42 -26
- package/daemon/docs/reference/slack-app-setup.md +52 -7
- package/daemon/docs/reference/stream-classifier-worker.md +21 -8
- package/daemon/docs/reference/telemetry.md +114 -0
- package/daemon/docs/reference/worktree-builds.md +12 -6
- package/daemon/policies/builtin/auto.policy.md +24 -0
- package/daemon/specs/agents/development/implementer/agent.yaml +2 -2
- package/daemon/specs/agents/development/qa/agent.yaml +1 -1
- package/daemon/specs/agents/product-management/pm/agent.yaml +10 -0
- package/daemon/specs/agents/shared/skills/core/agent-starters/SKILL.md +0 -6
- package/daemon/specs/agents/shared/skills/core/agent-startup-and-context-ingestion/SKILL.md +1 -8
- package/daemon/specs/agents/shared/skills/core/openrig-architect/SKILL.md +5 -5
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +3 -4
- package/daemon/specs/agents/shared/skills/core/openrig-software-factory/SKILL.md +12 -9
- package/daemon/specs/agents/shared/skills/core/openrig-software-factory/references/worked-example.md +29 -29
- package/daemon/specs/agents/shared/skills/core/rig-bundles-and-shareable-artifacts/SKILL.md +0 -1
- package/daemon/specs/agents/shared/skills/core/session-source-fork/SKILL.md +0 -5
- package/daemon/specs/agents/shared/skills/process/agent-browser/OPENRIG.md +1 -1
- package/daemon/specs/agents/shared/skills/process/systematic-debugging/SKILL.md +0 -2
- package/daemon/specs/rigs/focused/{adversarial-review → code-review}/rig.yaml +1 -1
- package/daemon/specs/rigs/focused/pm/CULTURE.md +21 -0
- package/daemon/specs/rigs/focused/{pm-team → pm}/rig.yaml +5 -5
- package/daemon/specs/rigs/focused/{research-team → research}/rig.yaml +1 -1
- package/daemon/specs/rigs/launch/factory/CULTURE.md +96 -0
- package/daemon/specs/rigs/launch/factory/guidance/advisor-role.md +10 -0
- package/daemon/specs/rigs/launch/factory/guidance/lead-first-move.md +23 -0
- package/daemon/specs/rigs/launch/{demo → factory}/rig.yaml +46 -35
- package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/instance/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/CRAFT.md +2 -2
- package/daemon/specs/rigs/{preview/product-team → launch/factory}/topology/rig/ORCHESTRATION-CRAFT.md +2 -2
- package/daemon/specs/rigs/{preview/product-team/topology/seats/dev1-qa → launch/factory/topology/seats/dev-qa}/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team/topology/seats/orch1-lead → launch/factory/topology/seats/orch-lead}/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r1 → launch/factory/topology/seats/review-r1}/CRAFT.md +1 -1
- package/daemon/specs/rigs/{preview/product-team/topology/seats/rev1-r2 → launch/factory/topology/seats/review-r2}/CRAFT.md +1 -1
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/guidance/role.md +37 -0
- package/daemon/specs/rigs/launch/kernel/agents/advisor/lead/startup/context.md +12 -13
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/guidance/role.md +167 -4
- package/daemon/specs/rigs/launch/kernel/agents/operator/agent/startup/context.md +30 -7
- package/daemon/specs/rigs/launch/kernel/agents/queue/worker/guidance/role.md +37 -0
- package/daemon/specs/rigs/launch/kernel/culture/CULTURE.md +41 -0
- package/daemon/specs/rigs/launch/starter/CULTURE.md +39 -0
- package/daemon/specs/rigs/launch/starter/guidance/lead-first-move.md +23 -0
- package/daemon/specs/rigs/launch/{first-project-mixed → starter}/rig.yaml +11 -8
- package/dist/build-info.js +3 -3
- package/dist/bundle-behaviour.d.ts +10 -0
- package/dist/bundle-behaviour.d.ts.map +1 -0
- package/dist/bundle-behaviour.js +72 -0
- package/dist/bundle-behaviour.js.map +1 -0
- package/dist/commands/bootstrap.d.ts.map +1 -1
- package/dist/commands/bootstrap.js +30 -5
- package/dist/commands/bootstrap.js.map +1 -1
- package/dist/commands/bundle.d.ts +12 -0
- package/dist/commands/bundle.d.ts.map +1 -1
- package/dist/commands/bundle.js +286 -21
- package/dist/commands/bundle.js.map +1 -1
- package/dist/commands/capture.js +4 -4
- package/dist/commands/capture.js.map +1 -1
- package/dist/commands/compact-plan.js +2 -2
- package/dist/commands/compact-plan.js.map +1 -1
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +3 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/context.d.ts +3 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +66 -18
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/daemon.js +1 -1
- package/dist/commands/daemon.js.map +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +7 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/down.d.ts.map +1 -1
- package/dist/commands/down.js +7 -1
- package/dist/commands/down.js.map +1 -1
- package/dist/commands/env.js +1 -1
- package/dist/commands/env.js.map +1 -1
- package/dist/commands/health.d.ts.map +1 -1
- package/dist/commands/health.js +4 -1
- package/dist/commands/health.js.map +1 -1
- package/dist/commands/host.d.ts +11 -0
- package/dist/commands/host.d.ts.map +1 -1
- package/dist/commands/host.js +25 -1
- package/dist/commands/host.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +2 -0
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/mcp.d.ts.map +1 -1
- package/dist/commands/mcp.js +25 -12
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +3 -2
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/project-jev.js +1 -1
- package/dist/commands/project-jev.js.map +1 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +5 -3
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/ps.d.ts +1 -0
- package/dist/commands/ps.d.ts.map +1 -1
- package/dist/commands/ps.js +12 -2
- package/dist/commands/ps.js.map +1 -1
- package/dist/commands/queue.d.ts.map +1 -1
- package/dist/commands/queue.js +4 -2
- package/dist/commands/queue.js.map +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +5 -0
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/roster.d.ts +63 -0
- package/dist/commands/roster.d.ts.map +1 -0
- package/dist/commands/roster.js +169 -0
- package/dist/commands/roster.js.map +1 -0
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +57 -8
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +20 -6
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/setup.d.ts +1 -1
- package/dist/commands/setup.d.ts.map +1 -1
- package/dist/commands/setup.js +72 -25
- package/dist/commands/setup.js.map +1 -1
- package/dist/commands/slack.d.ts +1 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +49 -4
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/specs.d.ts.map +1 -1
- package/dist/commands/specs.js +19 -2
- package/dist/commands/specs.js.map +1 -1
- package/dist/commands/start.js +1 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/telemetry.d.ts +5 -0
- package/dist/commands/telemetry.d.ts.map +1 -0
- package/dist/commands/telemetry.js +58 -0
- package/dist/commands/telemetry.js.map +1 -0
- package/dist/commands/terminal.js +1 -1
- package/dist/commands/terminal.js.map +1 -1
- package/dist/commands/tui.js +4 -4
- package/dist/commands/tui.js.map +1 -1
- package/dist/commands/up.d.ts.map +1 -1
- package/dist/commands/up.js +115 -68
- package/dist/commands/up.js.map +1 -1
- package/dist/commands/whoami.d.ts +3 -0
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +29 -2
- package/dist/commands/whoami.js.map +1 -1
- package/dist/config-store.d.ts +5 -1
- package/dist/config-store.d.ts.map +1 -1
- package/dist/config-store.js +16 -1
- package/dist/config-store.js.map +1 -1
- package/dist/daemon-auto-start.d.ts +8 -0
- package/dist/daemon-auto-start.d.ts.map +1 -0
- package/dist/daemon-auto-start.js +39 -0
- package/dist/daemon-auto-start.js.map +1 -0
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +3 -2
- package/dist/front-door.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/bundle-check.d.ts +13 -0
- package/dist/lib/bundle-check.d.ts.map +1 -0
- package/dist/lib/bundle-check.js +191 -0
- package/dist/lib/bundle-check.js.map +1 -0
- package/dist/lib/bundle-configuration.d.ts +60 -0
- package/dist/lib/bundle-configuration.d.ts.map +1 -0
- package/dist/lib/bundle-configuration.js +198 -0
- package/dist/lib/bundle-configuration.js.map +1 -0
- package/dist/lib/bundle-source.d.ts +57 -0
- package/dist/lib/bundle-source.d.ts.map +1 -0
- package/dist/lib/bundle-source.js +355 -0
- package/dist/lib/bundle-source.js.map +1 -0
- package/dist/lib/context-install.d.ts.map +1 -1
- package/dist/lib/context-install.js +2 -3
- package/dist/lib/context-install.js.map +1 -1
- package/dist/lib/permission-policy/policy-ref.d.ts +6 -1
- package/dist/lib/permission-policy/policy-ref.d.ts.map +1 -1
- package/dist/lib/permission-policy/policy-ref.js +16 -4
- package/dist/lib/permission-policy/policy-ref.js.map +1 -1
- package/dist/lib/permission-policy/policy-spec.d.ts +1 -1
- package/dist/lib/permission-policy/policy-spec.d.ts.map +1 -1
- package/dist/lib/permission-policy/policy-spec.js +2 -2
- package/dist/lib/permission-policy/policy-spec.js.map +1 -1
- package/dist/lib/scope/templates.d.ts.map +1 -1
- package/dist/lib/scope/templates.js +1 -0
- package/dist/lib/scope/templates.js.map +1 -1
- package/dist/lib/scope-templates/notes.md +1 -1
- package/dist/lib/work-install.d.ts +12 -0
- package/dist/lib/work-install.d.ts.map +1 -1
- package/dist/lib/work-install.js +55 -4
- package/dist/lib/work-install.js.map +1 -1
- package/package.json +1 -1
- package/tui/dist/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +8 -3
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +1 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +5 -2
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/main.js +30 -3
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +66 -19
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/specs/graph.d.ts +5 -0
- package/tui/dist/specs/graph.d.ts.map +1 -0
- package/tui/dist/specs/graph.js +16 -0
- package/tui/dist/specs/graph.js.map +1 -0
- package/tui/dist/specs/launch.d.ts +29 -0
- package/tui/dist/specs/launch.d.ts.map +1 -0
- package/tui/dist/specs/launch.js +64 -0
- package/tui/dist/specs/launch.js.map +1 -0
- package/tui/dist/startup.d.ts.map +1 -1
- package/tui/dist/startup.js +15 -6
- package/tui/dist/startup.js.map +1 -1
- package/tui/dist/state.d.ts +2 -2
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +41 -18
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/terminals/terminal-model.d.ts +1 -0
- package/tui/dist/terminals/terminal-model.d.ts.map +1 -1
- package/tui/dist/terminals/terminal-model.js +19 -2
- package/tui/dist/terminals/terminal-model.js.map +1 -1
- package/tui/dist/types.d.ts +17 -0
- package/tui/dist/types.d.ts.map +1 -1
- package/daemon/specs/rigs/launch/conveyor/README.md +0 -33
- package/daemon/specs/rigs/launch/conveyor/rig.yaml +0 -72
- package/daemon/specs/rigs/launch/demo/project-example/README.md +0 -25
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/SPEC.md +0 -19
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROGRESS.md +0 -6
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/PROOF.md +0 -7
- package/daemon/specs/rigs/launch/demo/project-example/missions/improve-onboarding/slices/01-shorten-first-run/SPEC.md +0 -31
- package/daemon/specs/rigs/launch/first-project/rig.yaml +0 -31
- package/daemon/specs/rigs/launch/first-project-claude/rig.yaml +0 -30
- package/daemon/specs/rigs/launch/implementation-pair/rig.yaml +0 -27
- package/daemon/specs/rigs/preview/product-team/rig.yaml +0 -90
- /package/daemon/specs/rigs/launch/factory-rsi/{rig.yaml → world-bundle.yaml} +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# SDLC conventions — the markdown control plane
|
|
2
2
|
|
|
3
3
|
> **Source of truth:** this repo document is the living SSOT for the SDLC
|
|
4
|
-
> conventions. Scaffold templates, the advisory scope audit
|
|
5
|
-
> `mission-slice-sop` skill
|
|
4
|
+
> conventions. Scaffold templates, the advisory scope audit and the
|
|
5
|
+
> `mission-slice-sop` skill all point HERE —
|
|
6
6
|
> they must not restate this document in full (restatement is how drift is born).
|
|
7
7
|
|
|
8
8
|
OpenRig is a software factory the human steers from a high altitude. The human
|
|
@@ -37,7 +37,7 @@ one does not deprecate the others. Nothing below deletes or overrides an existin
|
|
|
37
37
|
| **PRODUCT / MISSION PREPARATION** | **The product-management pass** — the layer above planning, run by the advisor/PM seat before planners touch a mission. The build is a lossy compression pipeline (PM intent → planner spec → builder code); nothing leaks downward by proximity, so this pass grounds in the raw sources, synthesizes ONE scope of record, presents owner decisions decision-ready, mints slices at plan time, deposits the full design contract INLINE in each design-bearing spec (owner words verbatim, settled decisions, evidence, shape of done, anti-goals), routes the complete reading list and internet-research assignments from the spec itself, frames each slice's planning-dial rung with its reason, and rereads every spec as the narrow downstream reader. The measuring stick: SPEC.md alone, plus what it explicitly routes to, reproduces the intent in a reader with none of the author's context. Full reference: `product-management-pass.md`. |
|
|
38
38
|
| **PLAN** | **The planning dial** — planning rigor is a spectrum chosen per piece: P0 mini-requirements and pointers (simple, reversible work) · P1 an authored spec with a proof contract (the default) · P2 plus a research round before the spec freezes, run BEFORE build dispatch · P3 plus an adversarial pass by a non-author, judged against product goals, landing amendments with proof-contract teeth · P4 plus a blind from-scratch design diffed against priors before proceeding. Dial up by what the piece is, exactly as build care is priced below. Full reference: `planning-dial.md`. |
|
|
39
39
|
| **BUILD** | **Part A, the simple flow** (below — the default) · **product-journey components** — a mission-selectable menu for greenfield work, drift recovery, public journey probes, one evidence-gated look at the layer below, minimal repair, independent QA/review, integration, and installed smoke; compose only what the work needs in mission/slice YAML, never as a new mode or mandatory pipeline. Full reference: `product-journey-sdlc.md` · **the wave model** — slices build in parallel in disjoint file territories, an integrator merges serially, and independent review fires once per wave (two reviewers with different vantages, never the writers; fix rounds re-earn verdicts at one final revision; per-slice discipline stays failing-test-first and verify-by-effect). The wave IS the care dial: what shares a wave decides how much review each piece gets · **Part B, the rigorous overlay** (below — only when assigned). These combine: a wave can carry one Part-B piece. Full wave reference: `wave-sdlc.md`. |
|
|
40
|
-
| **DISPATCH DATA** | **The execution-data conventions (S27)** — three tiny data disciplines that make execution state derivable instead of hand-tabulated, consumed by `rig view show execution`. **EC-1, edges in frontmatter:** every open slice carries its hard edges in `depends_on:` (an inline JSON array; an explicit `[]` is a statement, absence is INDETERMINATE); soft/serialization edges are one machine-readable Territory line, exactly `SOFT-AFTER: [ids] — reason`. **EC-2, wave-as-data:** wave composition + review model live
|
|
40
|
+
| **DISPATCH DATA** | **The execution-data conventions (S27)** — three tiny data disciplines that make execution state derivable instead of hand-tabulated, consumed by `rig view show execution`. **EC-1, edges in frontmatter:** every open slice carries its hard edges in `depends_on:` (an inline JSON array; an explicit `[]` is a statement, absence is INDETERMINATE; when the slice's `slice.yaml` carries `execution.depends_on`, that list takes precedence); soft/serialization edges are one machine-readable Territory line, exactly `SOFT-AFTER: [ids] — reason`. **EC-2, wave-as-data:** wave composition + review model live in `mission.yaml` `arrangement.waves` (`{id, slices, review_model?}`; a slice may also name its wave in `slice.yaml` `execution.wave`). Only when the mission has no `mission.yaml`, or it is malformed, does the view fall back to the legacy form: the newest queue row tagged `format:wave-map-v1` and `mission:<mission>` whose body carries one fenced ```json block (`{format:"wave-map-v1", mission, waves:[{id, slices, serialized_order?, review_model?}]}`) — composition only, never status labels (status derives at read time); the planning dial recorded at lock surfaces as the frontmatter field `approved-spec-dial:` beside the approve stamp. **EC-3, dispatch names the worktree:** build batons carry the exact body line `worktree_path=<path>` from dispatch onward — it is Q1's join key; batons without it join by naming only and the view marks them `fragile_join`. Existing batons are never rewritten. |
|
|
41
41
|
| **RELEASE** | The release ceremony conventions (publication identity, honest release notes) and the CAPABILITY-DELTA LIFECYCLE LAW: each release's delta is authored at the fence and bound to the exact candidate, then reconciled to the published cut. Expiry requires both the canon header naming the absorbed delta and a distinct successor delta existing; a draft header alone is insufficient. Verify the actual boundary event and stop citing an expired delta. Full statement: `release-boundary.md` §6. |
|
|
42
42
|
| **BOUNDARY** | **The release boundary** — housekeeping run once per fence so the next release starts clean: seats reset or re-primed per their continuity needs, memory distilled (keep what changed a decision recently), every queue swept by destination and dispositioned, substrate torn down, boards frozen as records, a clean-box baseline captured. A checklist of judgment guides, not gates. Full reference: `release-boundary.md`. |
|
|
43
43
|
|
|
@@ -46,7 +46,7 @@ one does not deprecate the others. Nothing below deletes or overrides an existin
|
|
|
46
46
|
> planning dial — `planning-dial.md` · the product-journey component catalog —
|
|
47
47
|
> `product-journey-sdlc.md` · the wave model — `wave-sdlc.md` · the release
|
|
48
48
|
> boundary (including the capability-delta lifecycle law) — `release-boundary.md` ·
|
|
49
|
-
> the mission install — `mission-install.md
|
|
49
|
+
> the mission install — `mission-install.md`. The
|
|
50
50
|
> summaries above remain the one-glance description; this document remains the SSOT
|
|
51
51
|
> pointer for the whole menu.
|
|
52
52
|
|
|
@@ -99,17 +99,17 @@ Each slice directory carries:
|
|
|
99
99
|
(numbered list). This is the human operator's first structured catchpoint;
|
|
100
100
|
approval starts here.
|
|
101
101
|
- **`## Proof contract`** — a checkbox list of promised deliverables (see
|
|
102
|
-
|
|
102
|
+
B1). The UI's DELIVERED section pairs each item with its proof.
|
|
103
103
|
- **`PROGRESS.md`** — the slice's current delivery state and retained outcome
|
|
104
104
|
log. Record material changes with links to proof; historical checkboxes are
|
|
105
105
|
testimony, not current acceptance authority. For a selected proof policy,
|
|
106
|
-
`rig proof show <slice>` derives current readiness from the proof contract
|
|
106
|
+
`rig proof show <mission>/slices/<slice>` derives current readiness from the proof contract
|
|
107
107
|
and attributed judgments. In-process steps stay in the working agent's
|
|
108
108
|
own todo tool.
|
|
109
109
|
- **`PROOF.md`** — the retained proof summary, explicitly paired to the
|
|
110
110
|
`SPEC.md` proof contract.
|
|
111
111
|
- **`proof/`** — the proof-artifact directory. Curated canonical evidence
|
|
112
|
-
lands here via `rig proof` with valid C1 headers (
|
|
112
|
+
lands here via `rig proof` with valid C1 headers (B3).
|
|
113
113
|
|
|
114
114
|
Legacy `README.md`, `IMPLEMENTATION-PRD.md`, and pre-convention trees remain
|
|
115
115
|
readable indefinitely. New scaffolds do not create or mirror them, and repair
|
|
@@ -128,7 +128,9 @@ Part B or add a mandatory review gate.
|
|
|
128
128
|
|
|
129
129
|
The three sections project into the UI's one review structure: a vertical
|
|
130
130
|
stack of **INTENT → PLAN → DELIVERED**. A slice missing a section still
|
|
131
|
-
renders (
|
|
131
|
+
renders (a missing Intent or Delivered source shows a muted "—", missing
|
|
132
|
+
mini-requirements show "Not compliant · mini-requirements not authored";
|
|
133
|
+
nothing is invented) —
|
|
132
134
|
but it does not carry its weight in review.
|
|
133
135
|
|
|
134
136
|
## A3. Honesty rails (public surfaces + cited hashes)
|
|
@@ -209,24 +211,31 @@ are losslessness checks on the decompression from intent to delivery, not
|
|
|
209
211
|
paperwork. Scaffolding emits the sections; it must never mint ceremony.
|
|
210
212
|
## A6. The audit (advisory, fail-open — always)
|
|
211
213
|
|
|
212
|
-
`rig scope audit
|
|
213
|
-
`doctor`) checks these conventions: the section headings
|
|
214
|
-
contract well-formed, `proof/` artifacts carrying valid C1
|
|
215
|
-
referencing a mockup.
|
|
216
|
-
|
|
214
|
+
`rig scope audit --mission <name>` (and the advisory `sdlc_convention_sections`
|
|
215
|
+
row in `rig workspace doctor`) checks these conventions: the section headings
|
|
216
|
+
present, the proof contract well-formed, `proof/` artifacts carrying valid C1
|
|
217
|
+
headers, UI slices referencing a mockup. Convention findings are low or info
|
|
218
|
+
severity, except an invalid C1 header on a `proof/` artifact, which is medium.
|
|
219
|
+
All of them **record and advise — they never block a write path and never
|
|
220
|
+
change the exit code**. (`rig scope audit` exits 1 only on high-severity
|
|
221
|
+
structural findings, such as a missing `PROGRESS.md` or id.) Unknown is
|
|
217
222
|
reported as unknown, not failure.
|
|
218
223
|
## A7. Where the knowledge lives (the four pointers)
|
|
219
224
|
|
|
220
225
|
- **This document** — the SSOT.
|
|
221
|
-
- **Scaffold**: `rig scope slice create` emits `SPEC.md` + `
|
|
222
|
-
`PROOF.md` + `proof/` for every template kind
|
|
223
|
-
|
|
226
|
+
- **Scaffold**: `rig scope slice create` emits `SPEC.md` + `slice.yaml` +
|
|
227
|
+
`PROGRESS.md` + `PROOF.md` + `proof/` for every template kind (and registers
|
|
228
|
+
the slice in `mission.yaml` when that manifest exists; legacy missions
|
|
229
|
+
without one remain supported); `rig scope mission create` emits an
|
|
230
|
+
intent-bearing `SPEC.md` + `mission.yaml` + `PROGRESS.md` + `NOTES.md` +
|
|
231
|
+
`slices/` (plus `CAPABILITY-DELTA-v<version>.md` for a `release-X.Y.Z`
|
|
232
|
+
mission). Core emits only this
|
|
224
233
|
mode-neutral shape; mode plugins add richer material through the extension
|
|
225
234
|
seam rather than teaching core a mode.
|
|
226
235
|
- **Skill**: `mission-slice-sop` teaches **Part A**, the light default. **Part B**
|
|
227
236
|
is defined below and applies only when assigned — never self-selected.
|
|
228
|
-
- **Bootstrap**: the shipped
|
|
229
|
-
and this document
|
|
237
|
+
- **Bootstrap**: the shipped `pm` rig culture points its seats at the skill
|
|
238
|
+
and this document; the generic `openrig-start.md` overlay no longer does.
|
|
230
239
|
|
|
231
240
|
# PART B — THE RIGOROUS OVERLAY (assigned only)
|
|
232
241
|
|
|
@@ -266,7 +275,8 @@ deliverable, written as an observable outcome:
|
|
|
266
275
|
that evidence it — that pairing is what the DELIVERED section renders, so
|
|
267
276
|
the human never hunts through dozens of artifacts to find which one proves
|
|
268
277
|
what.
|
|
269
|
-
- **UI deliverables carry a planned mockup** (`plannedRef
|
|
278
|
+
- **UI deliverables carry a planned mockup** (`plannedRef`, written as an
|
|
279
|
+
inline image on the checkbox line, e.g. `- [ ] … `): the planning
|
|
270
280
|
agent produces the mockup and attaches it to the locked set. A UI slice
|
|
271
281
|
with no mockup in its locked set is an incomplete plan. Non-UI slices
|
|
272
282
|
(backend, skills, markdown) have no mockup and no `plannedRef` — that is
|
|
@@ -283,14 +293,18 @@ append-only audit row land together):
|
|
|
283
293
|
- **Plan-lock:** `rig scope slice approve <slice> --scope spec` — "the spec
|
|
284
294
|
matches my intent; THIS artifact set is what gets built." Pins `SPEC.md`
|
|
285
295
|
(and planned mockups, when present) out of everything else in the folder.
|
|
296
|
+
`--locked-artifacts "SPEC.md,…"` names the set explicitly instead; a
|
|
297
|
+
plan-lock on an unedited scaffold `SPEC.md` with nothing else to pin refuses.
|
|
286
298
|
- **Proof-lock:** `rig scope slice approve <slice> --scope delivery`
|
|
287
|
-
(the default scope) — the terminal "this is done" sign-off
|
|
288
|
-
|
|
299
|
+
(the default scope) — the terminal "this is done" sign-off. (It does not
|
|
300
|
+
render the frozen export; the approve result reports `freezeFired: false`.)
|
|
289
301
|
|
|
290
302
|
Approval is freeze/sign-off — **never** proven-green. Proven-green requires a
|
|
291
|
-
recorded verdict (a C1 proof artifact,
|
|
303
|
+
recorded verdict (a C1 proof artifact, B3); presence of an approval stamp does
|
|
292
304
|
not assert the work was proven. `--on-behalf-of` records delegation honestly
|
|
293
|
-
(the actor stays the real invoking session).
|
|
305
|
+
(the actor stays the real invoking session). A second approve of the same
|
|
306
|
+
scope refuses; `--re-approve --reason "<why>"` supersedes the stamp and keeps
|
|
307
|
+
the prior one in the audit log.
|
|
294
308
|
|
|
295
309
|
## B3. Proof drops and the C1 header (closed sets)
|
|
296
310
|
|
|
@@ -323,9 +337,11 @@ that it LOOKED at the evidence. `--media` names the curated media files
|
|
|
323
337
|
(relative to the slice's `proof/` dir — co-located, never absolute) this
|
|
324
338
|
drop stands behind; the composer projects them into the DELIVERED items'
|
|
325
339
|
proof set. Validation happens at drop time; the audit
|
|
326
|
-
(
|
|
327
|
-
in `proof/` without a drop is the anti-pattern**:
|
|
328
|
-
|
|
340
|
+
(A6) backstops artifacts that arrived by other paths. **Hand-placing files
|
|
341
|
+
in `proof/` without a drop is the anti-pattern**: media alone pairs with
|
|
342
|
+
nothing, so a deliverable with no covering proof artifact (one whose
|
|
343
|
+
`evidences` names it) shows as `missing` in the DELIVERED view, or as current
|
|
344
|
+
acceptance absent under a selected proof policy — always attach media via
|
|
329
345
|
`--media` on a drop.
|
|
330
346
|
|
|
331
347
|
## B4. Role contracts (what makes the structure self-enforcing)
|
|
@@ -44,9 +44,15 @@ not fill in; if so, follow the form.
|
|
|
44
44
|
SLACK_APP_TOKEN=xapp-...
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
8.
|
|
48
|
-
`rig slack verify
|
|
49
|
-
9.
|
|
47
|
+
8. Invite the bot to the channel you will use (`/invite @OpenRig` in that channel).
|
|
48
|
+
`rig slack verify` reports NOT ready until the app is a member.
|
|
49
|
+
9. Register yourself as the human the connector delivers to, with a Slack binding that names
|
|
50
|
+
your Slack user ID (`rig gateway human add`; its `--help` shows the binding format).
|
|
51
|
+
Messages from Slack users who are not registered are not delivered. `rig slack enable`
|
|
52
|
+
needs a readable human registry: on a fresh install with no registry, or with an invalid
|
|
53
|
+
one, it is refused.
|
|
54
|
+
10. Run `rig slack setup --channel <channel-id> --secrets-env-file <path>`, then
|
|
55
|
+
`rig slack verify`, then `rig slack enable`.
|
|
50
56
|
|
|
51
57
|
## What the app asks for
|
|
52
58
|
|
|
@@ -58,8 +64,8 @@ groups:
|
|
|
58
64
|
`rig slack verify` checks these.
|
|
59
65
|
- **Feature scopes**: `files:read` (download attachments people send), `files:write` (upload
|
|
60
66
|
attachments to Slack), and `app_mentions:read` (receive @-mentions of the app). `rig slack verify`
|
|
61
|
-
|
|
62
|
-
work.
|
|
67
|
+
warns when one of these is missing (if Slack returns the granted scopes) but does not require
|
|
68
|
+
them, so a READY from verify does not prove attachments or mentions will work.
|
|
63
69
|
|
|
64
70
|
If a feature scope was not granted, the effect differs by feature:
|
|
65
71
|
|
|
@@ -67,8 +73,8 @@ If a feature scope was not granted, the effect differs by feature:
|
|
|
67
73
|
message with an attachment that could not be downloaded is still delivered, with the failed
|
|
68
74
|
file named in it. A post whose attachment could not be uploaded still delivers its text, and
|
|
69
75
|
the failure appears only in the daemon log (`rig daemon logs`).
|
|
70
|
-
- **Mentions** (`app_mentions:read`): Slack does not deliver `app_mention` events to the app
|
|
71
|
-
|
|
76
|
+
- **Mentions** (`app_mentions:read`): Slack does not deliver `app_mention` events to the app.
|
|
77
|
+
Only `rig slack verify` warns that the scope is missing; nothing reports the missing events.
|
|
72
78
|
|
|
73
79
|
So after installing, compare the granted scopes Slack shows for the app with all six scopes that
|
|
74
80
|
`rig slack manifest --json` lists.
|
|
@@ -94,3 +100,42 @@ part of OpenRig.
|
|
|
94
100
|
|
|
95
101
|
- `rig slack status` shows what is still missing, without contacting Slack.
|
|
96
102
|
- `rig slack verify` checks the granted baseline scopes and channel membership with Slack.
|
|
103
|
+
|
|
104
|
+
## Reconnect recovery and status
|
|
105
|
+
|
|
106
|
+
The daemon scans available top-level messages in the configured channel after a
|
|
107
|
+
Socket Mode connection and on its existing five-minute retry cadence. Recovered
|
|
108
|
+
queue rows say **Recovered after a gap** and show the original Slack posting time.
|
|
109
|
+
They use the same sender admission, routing, attachment handling, fixed identity
|
|
110
|
+
and dead-letter path as live messages. A durable dead letter is custody of a
|
|
111
|
+
failed delivery, not successful delivery.
|
|
112
|
+
|
|
113
|
+
Recovery keeps a per-channel checkpoint across reconnects, restarts and channel
|
|
114
|
+
switches. On upgrade it initializes once from the newest retained accepted
|
|
115
|
+
channel landing; without such evidence it starts at feature adoption. **Older
|
|
116
|
+
history is unknown.** New live messages never move the recovery checkpoint. A
|
|
117
|
+
partial scan resumes its saved interval; only an exhausted interval advances the
|
|
118
|
+
covered boundary. Each new interval ends five seconds before the local clock to
|
|
119
|
+
allow recent messages to become visible; larger clock skew or visibility lag is
|
|
120
|
+
not covered by that margin. A corrupt or unreadable checkpoint leaves recovery unavailable
|
|
121
|
+
and preserves the existing file; live inbound continues.
|
|
122
|
+
|
|
123
|
+
Each pass admits at most four pages, 100 entries and 15 seconds of work, with a
|
|
124
|
+
five-second history-request ceiling. An already admitted attachment/landing keeps
|
|
125
|
+
its owner until it settles. Rate limits retain Slack's Retry-After across restart.
|
|
126
|
+
Transport and server failures use a five-second backoff unless Slack supplies Retry-After.
|
|
127
|
+
When Slack reports a plan history limit, recovery still lands the available page
|
|
128
|
+
and advances normally, retaining an older-history limitation in status across restarts.
|
|
129
|
+
Missing bot credentials, history scope, membership, retention limits and API
|
|
130
|
+
failures appear as recovery limitations. No additional scope is required to keep
|
|
131
|
+
live delivery working. Thread-reply catch-up and dead-connection detection remain
|
|
132
|
+
outside this recovery scope; global chronological order is not promised.
|
|
133
|
+
|
|
134
|
+
`rig slack status` retains local configuration checks and adds a bounded daemon
|
|
135
|
+
snapshot: socket state/generation, last event, recovery interval/state/reason,
|
|
136
|
+
retry time and accepted/dead-lettered recovery counts since the connector last
|
|
137
|
+
started (they reset when it is enabled or disabled, and when the daemon restarts).
|
|
138
|
+
Human-readable coverage and pending bounds use ISO timestamps; JSON keeps Slack timestamps.
|
|
139
|
+
The status read calls no Slack API and starts no scan. If the daemon cannot be
|
|
140
|
+
observed, local configuration remains visible and live state is unknown. A
|
|
141
|
+
connected socket or valid configuration alone does not prove end-to-end delivery.
|
|
@@ -61,12 +61,19 @@ The smaller of `--limit` and the configured request maximum bounds the wake.
|
|
|
61
61
|
Unknown answers remain null; a wholly unknown answer abstains. Invalid model,
|
|
62
62
|
provider, answer keys, choices, probabilities or response bytes reject the whole
|
|
63
63
|
answer. Probability sums retain the strict 0.001 tolerance; there is no rounding
|
|
64
|
-
repair or partial salvage. Unavailable/invalid provider work
|
|
65
|
-
no classification write
|
|
64
|
+
repair or partial salvage. Unavailable/invalid provider work, Ctrl-C or SIGTERM
|
|
65
|
+
stops that run with no classification write; when the classifier returns that
|
|
66
|
+
outcome, the item in hand is recorded as an abstention, final for that classifier
|
|
67
|
+
version, taxonomy version and evidence epoch. The worker's own deadline (the lesser
|
|
68
|
+
of the request timeout and the time left before the next lease heartbeat) is
|
|
69
|
+
different: when it fires
|
|
70
|
+
first, the attempt is recorded as `error` with a retry time, or `exhausted` once the
|
|
71
|
+
retry budget is spent, not as an abstention. Inspect the returned attempt state: terminal abstentions
|
|
66
72
|
are not reopened, and failed/unknown daemon writes must be reconciled through the
|
|
67
73
|
existing ledger. Never change the evidence epoch merely to retry an experiment.
|
|
68
74
|
|
|
69
|
-
Disable
|
|
75
|
+
Disable, a changed `--max-requests` or `--timeout-ms`, or an unreadable configuration
|
|
76
|
+
is checked before each call and before applying its result, and stops the run. A separate
|
|
70
77
|
disable command cannot cancel an already forwarded remote request; its late
|
|
71
78
|
result is discarded, with the existing deadline bounding the wait. Ctrl-C or
|
|
72
79
|
SIGTERM requests immediate cancellation of the foreground run. An uncooperative
|
|
@@ -169,7 +176,8 @@ source churn can require repeated preparation and is not a throughput claim.
|
|
|
169
176
|
Each wake processes at most `--limit` items (1–100; default 20), starting with the
|
|
170
177
|
oldest eligible work rather than relying on a lossy notification cursor. Durable
|
|
171
178
|
terminal attempts stay excluded. A new candidate version does **not** authorize
|
|
172
|
-
another pass: only
|
|
179
|
+
another pass: only a new classifier version, taxonomy version or owner-selected
|
|
180
|
+
evidence epoch changes that attempt identity.
|
|
173
181
|
Retain the candidates output beside the decisions and result so its version is
|
|
174
182
|
reproducible. The CLI does not keep a second local ledger.
|
|
175
183
|
|
|
@@ -197,6 +205,9 @@ capture. Retained-no-write is a separate event, never delivery evidence.
|
|
|
197
205
|
|
|
198
206
|
Activation requires explicitly supplied `OPENRIG_SHADOW_CAPTURE` JSON at a later
|
|
199
207
|
authorized daemon start. Absence or invalid configuration leaves capture disabled.
|
|
208
|
+
Daemon start checks only that `destination` is an absolute normalized path and the
|
|
209
|
+
numeric ceilings; the private-directory checks and exclusive file creation happen
|
|
210
|
+
at the first drain, and a failure there stops the sink.
|
|
200
211
|
This document supplies no live destination or activation instruction. Required
|
|
201
212
|
fields and engineering ceilings are:
|
|
202
213
|
|
|
@@ -218,8 +229,9 @@ observation; explicit production configuration supplies each value.
|
|
|
218
229
|
|
|
219
230
|
`rig project shadow-status` only inspects configuration/counters.
|
|
220
231
|
`rig project shadow-drain` asks the existing HTTP service to drain up to 64 rows;
|
|
221
|
-
it requires an actor
|
|
222
|
-
|
|
232
|
+
it requires an actor (outside a managed seat, name one with `--actor <name>`)
|
|
233
|
+
and never enables capture. No background drain timer is added.
|
|
234
|
+
`rig project shadow-stop` (which needs an actor the same way) disables new enqueueing immediately, finishes any active
|
|
223
235
|
drain and the finite retained queue, then closes the sink. Repeated stop is
|
|
224
236
|
idempotent; it cannot enable capture or delete the existing archive. Existing
|
|
225
237
|
quota and sink-failure losses remain counted. A slow disk can leave stop pending;
|
|
@@ -236,8 +248,9 @@ start another writer. Overflow drops new observations. Capacity exhaustion stops
|
|
|
236
248
|
the sink. Errors stop writes, count losses and preserve any partial file; failed
|
|
237
249
|
batches are not replayed. `reservedRecords/Bytes` include attempted writes, while
|
|
238
250
|
`completedRecords/Bytes` count successful appends. `drained` means removed from
|
|
239
|
-
the observer, not necessarily persisted. Queue count
|
|
240
|
-
|
|
251
|
+
the observer, not necessarily persisted. Queue drops (count-bound and byte-bound
|
|
252
|
+
together in `dropped`; `droppedBytes` adds the bytes of byte-bound drops), record
|
|
253
|
+
errors, missing/unavailable captures and sink failures remain separate.
|
|
241
254
|
|
|
242
255
|
Live collection, private destination/retention selection, corpus labels, hosted
|
|
243
256
|
calibration, native placement, package/install proof and independent visible /
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Finite telemetry metadata
|
|
2
|
+
|
|
3
|
+
`rig telemetry` reads one bounded page of retained history from the daemon. It is
|
|
4
|
+
useful for collectors and operators that need a cursor without reading OpenRig's
|
|
5
|
+
private SQLite schema. It neither watches nor automatically drains history.
|
|
6
|
+
|
|
7
|
+
```sh
|
|
8
|
+
rig telemetry events --json
|
|
9
|
+
rig telemetry events --start retained --node NODE_ID --limit 128 --json
|
|
10
|
+
rig telemetry events --start retained --rig RIG_ID --json
|
|
11
|
+
rig telemetry events --cursor CURSOR --node NODE_ID --json
|
|
12
|
+
rig telemetry transitions --start retained --qitem QUEUE_ITEM_ID --json
|
|
13
|
+
rig telemetry tenures NODE_ID --json
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Events and transitions initially return an empty checkpoint at the current high
|
|
17
|
+
watermark, with `historical_events_not_read` or `historical_transitions_not_read`.
|
|
18
|
+
Use `--start retained` to request the retained past. Tenures start with the newest
|
|
19
|
+
32 records for the immutable node ID, with a descending continuation when needed.
|
|
20
|
+
An empty match set can still have more source records: check `page.hasMore` and
|
|
21
|
+
`page.nextCursor`. The cursor binds the stream and filters; retain the same filter
|
|
22
|
+
options when continuing. Do not use `--start` with `--cursor`.
|
|
23
|
+
|
|
24
|
+
## HTTP and envelope
|
|
25
|
+
|
|
26
|
+
These reads use the daemon's existing browser/access boundary:
|
|
27
|
+
|
|
28
|
+
| GET path | Query parameters |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| `/api/telemetry/v1/events` | `cursor`, `limit`, `start=latest\|retained`, `nodeId`, `rigId` |
|
|
31
|
+
| `/api/telemetry/v1/queue-transitions` | `cursor`, `limit`, `start=latest\|retained`, `qitemId` |
|
|
32
|
+
| `/api/telemetry/v1/nodes/:nodeId/tenures` | `cursor`, `limit` |
|
|
33
|
+
|
|
34
|
+
The envelope contains `schemaVersion: 1`, `stream`, `observedAt`, `source`, `rows`,
|
|
35
|
+
`page`, and `coverage`. Integer IDs are **decimal strings**, including values larger
|
|
36
|
+
than JavaScript's safe integer range. `--json` preserves the complete envelope.
|
|
37
|
+
|
|
38
|
+
- Events: `seq`, `rigId`, `nodeId`, `type`, `originalTimestamp`, `createdAt`.
|
|
39
|
+
- Transitions: original `transitionId`, `qitemId`, `state`, `actorSession`,
|
|
40
|
+
`identityProvenance`, `closureReason`, `closureTarget`, `originalTimestamp`, `createdAt`.
|
|
41
|
+
- Tenures: `nodeId`, `generationOrdinal`, `generationUuid`, `kind`,
|
|
42
|
+
`nativeSessionIdAtBoot`, `originalTimestamp`, `bootAt`.
|
|
43
|
+
|
|
44
|
+
Normalized `createdAt` and `bootAt` are explicit UTC or null with a named gap.
|
|
45
|
+
SQLite timestamps without a timezone are interpreted as UTC. Original timestamps
|
|
46
|
+
remain available. Streams have separate sequences; their IDs do not establish
|
|
47
|
+
cross-stream causal ordering. Event type alone establishes no readiness, activity,
|
|
48
|
+
or native-exit verdict. Repeated same-state transitions remain separate records.
|
|
49
|
+
Null boot identity stays unknown, and a tenure has no inferred end time. Historical
|
|
50
|
+
records are never joined to today's owner or node name.
|
|
51
|
+
|
|
52
|
+
`page` reports the requested boundary (`requestedAfter` or `requestedBefore`),
|
|
53
|
+
`lastScanned`, fixed `through`, `retainedHighWatermark`, `hasMore`, `nextCursor`,
|
|
54
|
+
`restartCursor`, and `fetched`, `scanned`, `filtered`, `withheld`, `returned`,
|
|
55
|
+
`capReason`. New writes above a window's `through` wait until that window is
|
|
56
|
+
complete. A complete ascending checkpoint opens another finite window on its next
|
|
57
|
+
use. Descending tenure history ends with a null continuation.
|
|
58
|
+
Its cursor also retains the first observed lower ordinal, so disappearance of that
|
|
59
|
+
older range produces a named gap even when some records remain on the final page.
|
|
60
|
+
|
|
61
|
+
## Bounds and privacy
|
|
62
|
+
|
|
63
|
+
The default/max source page is 128 rows; tenures default to 32. Sparse filters run
|
|
64
|
+
**after** that bound, so matching nothing still advances over scanned records.
|
|
65
|
+
Transitions fetch at most 128 candidates from each of the active/archive tables
|
|
66
|
+
in one read snapshot, then process at most 128 distinct ordered IDs. Equal
|
|
67
|
+
projected duplicates collapse; conflicting IDs are withheld with a named gap.
|
|
68
|
+
Physical `fetched` can therefore exceed logical `scanned`.
|
|
69
|
+
|
|
70
|
+
Responses are at most 128 KiB, with a 4 KiB projected-record cap. SQL guards bound
|
|
71
|
+
fields before fetching them: identifiers 256 bytes, timestamps/enums 128 bytes,
|
|
72
|
+
and actor/closure references 512 bytes. Oversized fields become null with an
|
|
73
|
+
`oversized_field` gap, and non-text values become null with an `invalid_type` gap;
|
|
74
|
+
they are never truncated into a different identity. A record
|
|
75
|
+
whose JSON escaping still exceeds 4 KiB is withheld and counted. A response-byte
|
|
76
|
+
stop leaves the next unprocessed record for the continuation. Gap details are
|
|
77
|
+
capped at 32; `gapCount` and `gapDetailsTruncated` preserve the count. Cursor input
|
|
78
|
+
is limited to 2 KiB. These are work/size bounds, not a disk-latency guarantee.
|
|
79
|
+
|
|
80
|
+
No event payload, transition note, queue body/summary, transcript, command, path,
|
|
81
|
+
or environment is selected. Operational IDs, native conversation IDs and actor
|
|
82
|
+
addresses are intentional metadata; they can still identify people or seats.
|
|
83
|
+
This interface does not make that metadata public or anonymous.
|
|
84
|
+
|
|
85
|
+
## Unknown history and errors
|
|
86
|
+
|
|
87
|
+
`coverage.historyCompleteness` is always `unknown`. Coverage status is
|
|
88
|
+
`retained_window`, `partial`, or `unavailable`; a retained window does not prove
|
|
89
|
+
that older history exists or is complete. `retainedMinimum` and named gaps expose
|
|
90
|
+
missing retained identifiers with unknown cause, never inferred downtime. Missing
|
|
91
|
+
tenure history cannot distinguish node deletion from never-recorded history.
|
|
92
|
+
|
|
93
|
+
`source` contains `hostId`, `bootEpoch`, and **`sequenceSpaceId: null`**. A daemon
|
|
94
|
+
boot epoch is not durable store identity. On a boot change or observed watermark
|
|
95
|
+
regression, the API returns no old-window rows, a named unavailable-history gap,
|
|
96
|
+
and (for ascending streams) a separate fresh `restartCursor`. Record that gap
|
|
97
|
+
before explicitly adopting the fresh checkpoint. Tenures may be requested fresh
|
|
98
|
+
without a cursor. Do not silently reset to zero or conflate existing collector
|
|
99
|
+
source identity, native-tail cursors and these cursors. An arbitrary in-place
|
|
100
|
+
database restore/copy without an observable regression is not detected.
|
|
101
|
+
|
|
102
|
+
After **every daemon restart**, a following collector cannot continue its old
|
|
103
|
+
cursor. To recover available retained history, record the boot gap and start a new
|
|
104
|
+
read with `start=retained`, accepting possible overlap with previously read records.
|
|
105
|
+
Alternatively, adopting `restartCursor` observes only new records after the fresh
|
|
106
|
+
high watermark; it does not recover the missed interval. Neither choice proves
|
|
107
|
+
continuity across the restart while `sequenceSpaceId` remains null.
|
|
108
|
+
|
|
109
|
+
Malformed cursors/options return HTTP 400 `telemetry_invalid_request`.
|
|
110
|
+
Schema/read/source failures return HTTP 503 `telemetry_read_unavailable`, never a
|
|
111
|
+
successful empty history. The CLI preserves the error body in JSON mode and exits
|
|
112
|
+
1 for request errors, 2 for unavailable reads. Existing SSE and usage APIs retain
|
|
113
|
+
their behavior. Collector deployment, exporters and durable store epochs are
|
|
114
|
+
separate work.
|
|
@@ -6,12 +6,12 @@ consume ANOTHER tree's source — a false-green generator, not an inconvenience.
|
|
|
6
6
|
|
|
7
7
|
## What actually happens
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
A per-worktree install creates `node_modules/@openrig/<pkg>` as a RELATIVE symlink
|
|
10
10
|
(`-> ../../packages/<pkg>`). Relative links resolve against the directory they live in, so:
|
|
11
11
|
|
|
12
12
|
| setup | `@openrig/daemon` resolves to | verdict |
|
|
13
13
|
|---|---|---|
|
|
14
|
-
| per-worktree `npm
|
|
14
|
+
| per-worktree install (`npm ci`) | that worktree's `packages/daemon` | correct |
|
|
15
15
|
| `ln -s <primary>/node_modules node_modules` | **the PRIMARY tree's** `packages/daemon` | **cross-tree** |
|
|
16
16
|
|
|
17
17
|
Verified by discriminator, not by inference: with a symlinked `node_modules`, a deliberate type
|
|
@@ -21,18 +21,24 @@ A worktree can therefore report green against code it does not contain.
|
|
|
21
21
|
|
|
22
22
|
## Rules
|
|
23
23
|
|
|
24
|
-
1. **Run `npm
|
|
25
|
-
worktree's own source.
|
|
24
|
+
1. **Run `npm ci` in each worktree** so workspace packages resolve to the
|
|
25
|
+
worktree's own source. It installs the locked versions without rewriting
|
|
26
|
+
`package-lock.json`. Then run `npm run build`, as CI does before the package suites.
|
|
26
27
|
2. **Never symlink `node_modules` from the primary checkout.** It appears to work — builds pass,
|
|
27
28
|
typechecks pass — which is exactly the danger.
|
|
28
29
|
3. **`npx tsc` with no `node_modules` installs an unrelated `tsc` package** and prints
|
|
29
30
|
"This is not the tsc command you are looking for". That message means *no install*, not a
|
|
30
31
|
TypeScript error.
|
|
31
|
-
4. **Build `@openrig/daemon` before typechecking `@openrig/cli`** in a fresh worktree:
|
|
32
|
-
`@openrig/daemon/crash-cart` etc
|
|
32
|
+
4. **Build `@openrig/daemon` before typechecking `@openrig/cli` or `@openrig/tui`** in a fresh worktree:
|
|
33
|
+
cli imports `@openrig/daemon/crash-cart` etc. and tui imports `@openrig/daemon/attention`, which resolve
|
|
34
|
+
to daemon's `dist`. `npm run lint` does this build first. Absent dist reads as
|
|
33
35
|
TS2307 "Cannot find module" plus a cascade of implicit-any — a provisioning artifact, not a
|
|
34
36
|
code defect.
|
|
35
37
|
|
|
38
|
+
Some cli imports don't depend on `node_modules` at all: `packages/cli/tsconfig.json` maps a few daemon
|
|
39
|
+
subpaths (`crash-cart` among them) straight to the worktree's own `../daemon/dist`. The others resolve through
|
|
40
|
+
`node_modules`, so the rules above still hold.
|
|
41
|
+
|
|
36
42
|
## Self-check before trusting any worktree build
|
|
37
43
|
|
|
38
44
|
[ "$(readlink -f packages/daemon)" = "$(readlink -f node_modules/@openrig/daemon)" ] \
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
---
|
|
2
|
+
source: builtin
|
|
3
|
+
name: auto
|
|
4
|
+
surface: flag
|
|
5
|
+
launch_posture: auto
|
|
6
|
+
policy_schema_version: 1
|
|
7
|
+
description: Claude runs with --permission-mode auto. Codex and Pi launch at the floor.
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Auto (built-in policy — flag surface)
|
|
11
|
+
|
|
12
|
+
This built-in selects Claude `--permission-mode auto`. Codex and Pi do not have an
|
|
13
|
+
auto mode and launch at their floor (Codex `-s workspace-write` or its named
|
|
14
|
+
profile; Pi `--no-approve`).
|
|
15
|
+
|
|
16
|
+
**APPLICATION is deterministic, NOT skill-translated.** Auto is a `surface: flag`
|
|
17
|
+
policy: it resolves to a stable launch flag and is applied directly by the runtime
|
|
18
|
+
flag-surface opt-in. The `applying-a-permission-policy` skill does **NOT** translate
|
|
19
|
+
this policy.
|
|
20
|
+
|
|
21
|
+
**Selection and native enforcement are separate.** A member policy overrides the
|
|
22
|
+
rig policy. A resolved config-surface selection chooses OpenRig's normal launch
|
|
23
|
+
mode and takes precedence over ambient YOLO. Native configuration and managed
|
|
24
|
+
restrictions still matter; recording a policy does not translate config rules.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
name: implementer
|
|
2
2
|
version: "1.0"
|
|
3
|
-
description: Implementation agent —
|
|
3
|
+
description: Implementation agent — implements and verifies coherent changes
|
|
4
4
|
|
|
5
5
|
defaults:
|
|
6
6
|
runtime: claude-code
|
|
@@ -11,7 +11,7 @@ imports:
|
|
|
11
11
|
profiles:
|
|
12
12
|
default:
|
|
13
13
|
uses:
|
|
14
|
-
skills: [development-team,
|
|
14
|
+
skills: [development-team, systematic-debugging, verification-before-completion]
|
|
15
15
|
guidance: []
|
|
16
16
|
subagents: []
|
|
17
17
|
plugins: [shared:openrig-core]
|
|
@@ -11,7 +11,7 @@ imports:
|
|
|
11
11
|
profiles:
|
|
12
12
|
default:
|
|
13
13
|
uses:
|
|
14
|
-
skills: [
|
|
14
|
+
skills: [development-team, systematic-debugging, verification-before-completion, agent-browser, dogfood]
|
|
15
15
|
guidance: []
|
|
16
16
|
subagents: []
|
|
17
17
|
plugins: [shared:openrig-core]
|
|
@@ -29,6 +29,16 @@ profiles:
|
|
|
29
29
|
- shared:codex-default-config
|
|
30
30
|
- shared:claude-activity-hooks
|
|
31
31
|
|
|
32
|
+
advisor:
|
|
33
|
+
uses:
|
|
34
|
+
skills: [shared:orchestration-team]
|
|
35
|
+
plugins: [shared:openrig-core]
|
|
36
|
+
runtime_resources:
|
|
37
|
+
- shared:claude-default-settings
|
|
38
|
+
- shared:claude-default-mcp
|
|
39
|
+
- shared:codex-default-config
|
|
40
|
+
- shared:claude-activity-hooks
|
|
41
|
+
|
|
32
42
|
resources:
|
|
33
43
|
guidance:
|
|
34
44
|
- id: role
|
|
@@ -6,15 +6,10 @@ metadata:
|
|
|
6
6
|
stage: factory-approved
|
|
7
7
|
sibling_skills:
|
|
8
8
|
- claude-compaction-restore
|
|
9
|
-
- mental-model-ha
|
|
10
|
-
- scope-recovery
|
|
11
9
|
- session-compaction-and-restore
|
|
12
10
|
- agent-startup-and-context-ingestion
|
|
13
|
-
- composable-priming-packs
|
|
14
11
|
- session-source-fork
|
|
15
12
|
- seat-continuity-and-handover
|
|
16
|
-
- claude-compact-in-place
|
|
17
|
-
- pre-maintenance-agent-preservation
|
|
18
13
|
---
|
|
19
14
|
|
|
20
15
|
# Agent Starters
|
|
@@ -131,4 +126,3 @@ included, and is that starter still recommended?"
|
|
|
131
126
|
## See also
|
|
132
127
|
|
|
133
128
|
- `session-source-fork` skill — low-level fork primitive that makes native session-based starters possible
|
|
134
|
-
- `composable-priming-packs` skill — manifest-driven layer for producing primed sessions starters reference
|
|
@@ -9,15 +9,10 @@ metadata:
|
|
|
9
9
|
stage: factory-approved
|
|
10
10
|
sibling_skills:
|
|
11
11
|
- claude-compaction-restore
|
|
12
|
-
- mental-model-ha
|
|
13
|
-
- scope-recovery
|
|
14
12
|
- session-compaction-and-restore
|
|
15
13
|
- agent-starters
|
|
16
|
-
- composable-priming-packs
|
|
17
14
|
- session-source-fork
|
|
18
15
|
- seat-continuity-and-handover
|
|
19
|
-
- claude-compact-in-place
|
|
20
|
-
- pre-maintenance-agent-preservation
|
|
21
16
|
---
|
|
22
17
|
|
|
23
18
|
# Agent Startup and Context Ingestion
|
|
@@ -48,7 +43,7 @@ is scattered or stale, agents execute the wrong thing very efficiently.
|
|
|
48
43
|
|
|
49
44
|
- The agent is being created via Agent Starter — the starter's manifest carries startup context
|
|
50
45
|
- The work is artifact-backed mental-model rebuild from a packet — that's `session-compaction-and-restore`
|
|
51
|
-
- The intent is to ship reusable startup content as a skill
|
|
46
|
+
- The intent is to ship reusable startup content as a skill
|
|
52
47
|
|
|
53
48
|
## Failure modes (4)
|
|
54
49
|
|
|
@@ -119,10 +114,8 @@ culture / pod / member / operator) handles the layering.
|
|
|
119
114
|
## See also
|
|
120
115
|
|
|
121
116
|
- `mission-slice-sop` — load when starting assigned mission/slice work; the light artifact and handoff procedure for SPEC.md, NOTES.md, PROGRESS.md and proof. It does not choose the SDLC for the task.
|
|
122
|
-
- `writing-skills-for-openrig` skill — authoring discipline for skill content (what doesn't belong in startup)
|
|
123
117
|
- `forming-an-openrig-mental-model` skill — orientation for new agents
|
|
124
118
|
- `session-compaction-and-restore` skill — restore-time startup ingestion
|
|
125
119
|
- `agent-starters` skill — reusable starter manifests that compose startup context
|
|
126
|
-
- `composable-priming-packs` skill — manifests that produce primed sessions
|
|
127
120
|
- `openrig-operating-model` skill — placement and authority of durable context
|
|
128
121
|
- `openrig/docs/reference/agent-startup-guide.md` (product reference doc; not a skill) — the 7-layer additive startup model + delivery hints
|