@openrig/cli 0.5.17 → 0.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/guidance/openrig-start.md +7 -0
- package/daemon/assets/plugins/openrig-core/skills/openrig-skills/SKILL.md +7 -0
- package/daemon/context-packs/help/help.md +130 -0
- package/daemon/context-packs/help/manifest.yaml +9 -0
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +3 -0
- package/daemon/context-packs/reference/getting-started.md +454 -0
- package/daemon/context-packs/reference/instance-layout.md +106 -0
- package/daemon/context-packs/reference/manifest.yaml +16 -0
- package/daemon/context-packs/reference/rig-spec.md +580 -0
- package/daemon/context-packs/skills/agent-operated-software/manifest.yaml +1 -1
- package/daemon/context-packs/skills/agent-operated-workflows/manifest.yaml +1 -1
- package/daemon/context-packs/skills/applying-a-permission-policy/manifest.yaml +1 -1
- package/daemon/context-packs/skills/claude-compaction-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/SKILL.md +7 -0
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-software-factory/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-bundles-and-shareable-artifacts/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/rig-lifecycle/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/session-source-fork/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/specification-system/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/topology-mutation-and-seat-management/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/watchdog/manifest.yaml +1 -1
- package/daemon/context-packs/skills/delegating-work/manifest.yaml +1 -1
- package/daemon/context-packs/skills/forming-an-openrig-mental-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/loading-addressable-markdown/manifest.yaml +1 -1
- package/daemon/context-packs/skills/mission-slice-sop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-operating-model/manifest.yaml +1 -1
- package/daemon/context-packs/skills/openrig-user/manifest.yaml +1 -1
- package/daemon/context-packs/skills/orienting-to-an-inherited-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/backlog-capture/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/context-builder/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/exec-summary/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/office-hours/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/plan-review/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/requirements-writer/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pm/ui-mockup/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/development-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/orchestration-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/oversight-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/pods/review-team/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/agent-browser/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/context-engineering/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/dogfood/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/frontend-design/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/systematic-debugging/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/test-driven-development/manifest.yaml +1 -1
- package/daemon/context-packs/skills/process/verification-before-completion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/queue-handoff/manifest.yaml +1 -1
- package/daemon/context-packs/skills/refocusing/manifest.yaml +1 -1
- package/daemon/context-packs/skills/retiring-and-inheriting-a-seat/manifest.yaml +1 -1
- package/daemon/context-packs/skills/seat-continuity-and-handover/manifest.yaml +1 -1
- package/daemon/context-packs/skills/session-compaction-and-restore/manifest.yaml +1 -1
- package/daemon/context-packs/skills/software-for-agents/manifest.yaml +1 -1
- package/daemon/context-packs/world-example/manifest.yaml +1 -1
- package/daemon/context-packs/world-public/manifest.yaml +1 -1
- package/daemon/dist/adapters/claude-code-adapter.d.ts +3 -0
- package/daemon/dist/adapters/claude-code-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-code-adapter.js +36 -14
- package/daemon/dist/adapters/claude-code-adapter.js.map +1 -1
- package/daemon/dist/adapters/claude-resume.d.ts +3 -1
- package/daemon/dist/adapters/claude-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/claude-resume.js +20 -6
- package/daemon/dist/adapters/claude-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-resume.d.ts +4 -1
- package/daemon/dist/adapters/codex-resume.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-resume.js +8 -2
- package/daemon/dist/adapters/codex-resume.js.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts +6 -0
- package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +25 -4
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/pi-runner.d.ts +1 -0
- package/daemon/dist/adapters/pi-runner.d.ts.map +1 -1
- package/daemon/dist/adapters/pi-runner.js +7 -1
- package/daemon/dist/adapters/pi-runner.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +21 -1
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +141 -3
- package/daemon/dist/adapters/tmux.js.map +1 -1
- package/daemon/dist/adapters/yolo-mode.d.ts +3 -2
- package/daemon/dist/adapters/yolo-mode.d.ts.map +1 -1
- package/daemon/dist/adapters/yolo-mode.js +10 -2
- package/daemon/dist/adapters/yolo-mode.js.map +1 -1
- package/daemon/dist/build-info.js +3 -3
- package/daemon/dist/db/all-migrations.d.ts +1 -1
- package/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/daemon/dist/db/all-migrations.js +10 -2
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/086_classification_fields_and_attempts.d.ts +26 -0
- package/daemon/dist/db/migrations/086_classification_fields_and_attempts.d.ts.map +1 -0
- package/daemon/dist/db/migrations/086_classification_fields_and_attempts.js +66 -0
- package/daemon/dist/db/migrations/086_classification_fields_and_attempts.js.map +1 -0
- package/daemon/dist/db/migrations/087_seat_delivery_guard.d.ts +3 -0
- package/daemon/dist/db/migrations/087_seat_delivery_guard.d.ts.map +1 -0
- package/daemon/dist/db/migrations/087_seat_delivery_guard.js +31 -0
- package/daemon/dist/db/migrations/087_seat_delivery_guard.js.map +1 -0
- package/daemon/dist/db/migrations/088_node_permission_selections.d.ts +3 -0
- package/daemon/dist/db/migrations/088_node_permission_selections.d.ts.map +1 -0
- package/daemon/dist/db/migrations/088_node_permission_selections.js +16 -0
- package/daemon/dist/db/migrations/088_node_permission_selections.js.map +1 -0
- package/daemon/dist/db/migrations/089_classification_identity_provenance.d.ts +3 -0
- package/daemon/dist/db/migrations/089_classification_identity_provenance.d.ts.map +1 -0
- package/daemon/dist/db/migrations/089_classification_identity_provenance.js +6 -0
- package/daemon/dist/db/migrations/089_classification_identity_provenance.js.map +1 -0
- package/daemon/dist/domain/applied-launch-observation-store.d.ts +1 -1
- package/daemon/dist/domain/applied-launch-observation-store.d.ts.map +1 -1
- package/daemon/dist/domain/applied-launch-observation-store.js +6 -4
- package/daemon/dist/domain/applied-launch-observation-store.js.map +1 -1
- package/daemon/dist/domain/capture-observer.d.ts +130 -0
- package/daemon/dist/domain/capture-observer.d.ts.map +1 -0
- package/daemon/dist/domain/capture-observer.js +113 -0
- package/daemon/dist/domain/capture-observer.js.map +1 -0
- package/daemon/dist/domain/claim-service.d.ts.map +1 -1
- package/daemon/dist/domain/claim-service.js +24 -3
- package/daemon/dist/domain/claim-service.js.map +1 -1
- package/daemon/dist/domain/classification-attempts.d.ts +143 -0
- package/daemon/dist/domain/classification-attempts.d.ts.map +1 -0
- package/daemon/dist/domain/classification-attempts.js +316 -0
- package/daemon/dist/domain/classification-attempts.js.map +1 -0
- package/daemon/dist/domain/classification-sources.d.ts +44 -0
- package/daemon/dist/domain/classification-sources.d.ts.map +1 -0
- package/daemon/dist/domain/classification-sources.js +102 -0
- package/daemon/dist/domain/classification-sources.js.map +1 -0
- package/daemon/dist/domain/classifier-lease-manager.d.ts +15 -4
- package/daemon/dist/domain/classifier-lease-manager.d.ts.map +1 -1
- package/daemon/dist/domain/classifier-lease-manager.js +63 -21
- package/daemon/dist/domain/classifier-lease-manager.js.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts +3 -1
- package/daemon/dist/domain/claude-compaction-enforcer.d.ts.map +1 -1
- package/daemon/dist/domain/claude-compaction-enforcer.js +36 -7
- package/daemon/dist/domain/claude-compaction-enforcer.js.map +1 -1
- package/daemon/dist/domain/claude-managed-launch.d.ts +28 -0
- package/daemon/dist/domain/claude-managed-launch.d.ts.map +1 -0
- package/daemon/dist/domain/claude-managed-launch.js +111 -0
- package/daemon/dist/domain/claude-managed-launch.js.map +1 -0
- package/daemon/dist/domain/codex-daemon-support.d.ts +16 -0
- package/daemon/dist/domain/codex-daemon-support.d.ts.map +1 -0
- package/daemon/dist/domain/codex-daemon-support.js +52 -0
- package/daemon/dist/domain/codex-daemon-support.js.map +1 -0
- package/daemon/dist/domain/codex-git-add-dirs.d.ts +16 -0
- package/daemon/dist/domain/codex-git-add-dirs.d.ts.map +1 -0
- package/daemon/dist/domain/codex-git-add-dirs.js +43 -0
- package/daemon/dist/domain/codex-git-add-dirs.js.map +1 -0
- package/daemon/dist/domain/context-usage-store.d.ts +2 -2
- package/daemon/dist/domain/context-usage-store.d.ts.map +1 -1
- package/daemon/dist/domain/context-usage-store.js +4 -3
- package/daemon/dist/domain/context-usage-store.js.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/connections-projection.js +6 -3
- package/daemon/dist/domain/gateway/connections-projection.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/capabilities.d.ts +19 -0
- package/daemon/dist/domain/gateway/slack/capabilities.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/capabilities.js +24 -0
- package/daemon/dist/domain/gateway/slack/capabilities.js.map +1 -0
- package/daemon/dist/domain/gateway/slack/config.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/config.js +2 -1
- package/daemon/dist/domain/gateway/slack/config.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/slack/inbound.js +2 -1
- package/daemon/dist/domain/gateway/slack/inbound.js.map +1 -1
- package/daemon/dist/domain/gateway/slack/manifest.d.ts +54 -0
- package/daemon/dist/domain/gateway/slack/manifest.d.ts.map +1 -0
- package/daemon/dist/domain/gateway/slack/manifest.js +55 -0
- package/daemon/dist/domain/gateway/slack/manifest.js.map +1 -0
- package/daemon/dist/domain/model-divergence/current-generation-record.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/current-generation-record.js +6 -3
- package/daemon/dist/domain/model-divergence/current-generation-record.js.map +1 -1
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts +3 -2
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js +9 -5
- package/daemon/dist/domain/model-divergence/model-divergence-monitor.js.map +1 -1
- package/daemon/dist/domain/native-permission-selection.d.ts +13 -0
- package/daemon/dist/domain/native-permission-selection.d.ts.map +1 -0
- package/daemon/dist/domain/native-permission-selection.js +30 -0
- package/daemon/dist/domain/native-permission-selection.js.map +1 -0
- package/daemon/dist/domain/native-permission-store.d.ts +17 -0
- package/daemon/dist/domain/native-permission-store.d.ts.map +1 -0
- package/daemon/dist/domain/native-permission-store.js +36 -0
- package/daemon/dist/domain/native-permission-store.js.map +1 -0
- 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 +22 -7
- package/daemon/dist/domain/native-resume-probe.js.map +1 -1
- package/daemon/dist/domain/node-inventory.d.ts +3 -0
- package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
- package/daemon/dist/domain/node-inventory.js +2 -0
- package/daemon/dist/domain/node-inventory.js.map +1 -1
- package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/node-launcher.js +6 -0
- package/daemon/dist/domain/node-launcher.js.map +1 -1
- package/daemon/dist/domain/outbox-handler.d.ts +25 -2
- package/daemon/dist/domain/outbox-handler.d.ts.map +1 -1
- package/daemon/dist/domain/outbox-handler.js +70 -1
- package/daemon/dist/domain/outbox-handler.js.map +1 -1
- package/daemon/dist/domain/permission-drift-observer.d.ts +1 -0
- package/daemon/dist/domain/permission-drift-observer.d.ts.map +1 -1
- package/daemon/dist/domain/permission-drift-observer.js +1 -1
- package/daemon/dist/domain/permission-drift-observer.js.map +1 -1
- package/daemon/dist/domain/permission-drift.d.ts +10 -0
- package/daemon/dist/domain/permission-drift.d.ts.map +1 -1
- package/daemon/dist/domain/permission-drift.js +29 -18
- package/daemon/dist/domain/permission-drift.js.map +1 -1
- package/daemon/dist/domain/project-classifier.d.ts +43 -0
- package/daemon/dist/domain/project-classifier.d.ts.map +1 -1
- package/daemon/dist/domain/project-classifier.js +141 -25
- package/daemon/dist/domain/project-classifier.js.map +1 -1
- package/daemon/dist/domain/proof/judgments.d.ts +16 -0
- package/daemon/dist/domain/proof/judgments.d.ts.map +1 -1
- package/daemon/dist/domain/proof/judgments.js +17 -1
- package/daemon/dist/domain/proof/judgments.js.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +8 -0
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +41 -14
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +28 -1
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.d.ts.map +1 -1
- package/daemon/dist/domain/resume-metadata-refresher.js +3 -1
- package/daemon/dist/domain/resume-metadata-refresher.js.map +1 -1
- package/daemon/dist/domain/rig-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/rig-lifecycle-service.js +7 -0
- package/daemon/dist/domain/rig-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/rig-teardown.d.ts.map +1 -1
- package/daemon/dist/domain/rig-teardown.js +4 -0
- package/daemon/dist/domain/rig-teardown.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +36 -22
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/runtime-adapter.d.ts +6 -0
- package/daemon/dist/domain/runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/runtime-adapter.js.map +1 -1
- package/daemon/dist/domain/seat-delivery-guard.d.ts +64 -0
- package/daemon/dist/domain/seat-delivery-guard.d.ts.map +1 -0
- package/daemon/dist/domain/seat-delivery-guard.js +224 -0
- package/daemon/dist/domain/seat-delivery-guard.js.map +1 -0
- package/daemon/dist/domain/seat-handover-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-handover-service.js +19 -1
- package/daemon/dist/domain/seat-handover-service.js.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.d.ts +16 -2
- package/daemon/dist/domain/seat-lifecycle-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-lifecycle-service.js +70 -0
- package/daemon/dist/domain/seat-lifecycle-service.js.map +1 -1
- package/daemon/dist/domain/seat-status-service.d.ts +10 -0
- package/daemon/dist/domain/seat-status-service.d.ts.map +1 -1
- package/daemon/dist/domain/seat-status-service.js +13 -0
- package/daemon/dist/domain/seat-status-service.js.map +1 -1
- package/daemon/dist/domain/session-transport.d.ts +19 -1
- package/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/daemon/dist/domain/session-transport.js +221 -23
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/shadow-capture.d.ts +97 -0
- package/daemon/dist/domain/shadow-capture.d.ts.map +1 -0
- package/daemon/dist/domain/shadow-capture.js +147 -0
- package/daemon/dist/domain/shadow-capture.js.map +1 -0
- package/daemon/dist/domain/sqlite-time.d.ts +5 -0
- package/daemon/dist/domain/sqlite-time.d.ts.map +1 -0
- package/daemon/dist/domain/sqlite-time.js +7 -0
- package/daemon/dist/domain/sqlite-time.js.map +1 -0
- package/daemon/dist/domain/startup-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/startup-orchestrator.js +11 -0
- package/daemon/dist/domain/startup-orchestrator.js.map +1 -1
- package/daemon/dist/domain/stream-classification-worker.d.ts +106 -0
- package/daemon/dist/domain/stream-classification-worker.d.ts.map +1 -0
- package/daemon/dist/domain/stream-classification-worker.js +265 -0
- package/daemon/dist/domain/stream-classification-worker.js.map +1 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts +1 -0
- package/daemon/dist/domain/successor-session-launcher.d.ts.map +1 -1
- package/daemon/dist/domain/successor-session-launcher.js +4 -2
- package/daemon/dist/domain/successor-session-launcher.js.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts +7 -0
- package/daemon/dist/domain/terminal/herdr-adapter.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/herdr-adapter.js +119 -12
- package/daemon/dist/domain/terminal/herdr-adapter.js.map +1 -1
- package/daemon/dist/domain/terminal/terminal-provider.d.ts +5 -0
- package/daemon/dist/domain/terminal/terminal-provider.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/terminal-service.js +6 -6
- package/daemon/dist/domain/terminal/terminal-service.js.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.d.ts +6 -4
- package/daemon/dist/domain/terminal/view-composer.d.ts.map +1 -1
- package/daemon/dist/domain/terminal/view-composer.js +5 -5
- package/daemon/dist/domain/terminal/view-composer.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +10 -0
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +3 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +5 -3
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/gateway-slack-surface.d.ts +2 -0
- package/daemon/dist/gateway-slack-surface.d.ts.map +1 -1
- package/daemon/dist/gateway-slack-surface.js +2 -0
- package/daemon/dist/gateway-slack-surface.js.map +1 -1
- package/daemon/dist/routes/activity.d.ts.map +1 -1
- package/daemon/dist/routes/activity.js +28 -2
- package/daemon/dist/routes/activity.js.map +1 -1
- package/daemon/dist/routes/down.d.ts.map +1 -1
- package/daemon/dist/routes/down.js +3 -0
- package/daemon/dist/routes/down.js.map +1 -1
- package/daemon/dist/routes/gateway.d.ts.map +1 -1
- package/daemon/dist/routes/gateway.js +3 -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 +205 -18
- 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 +13 -5
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/seat.d.ts.map +1 -1
- package/daemon/dist/routes/seat.js +78 -1
- 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 +6 -2
- package/daemon/dist/routes/sessions.js.map +1 -1
- package/daemon/dist/routes/transport.d.ts.map +1 -1
- package/daemon/dist/routes/transport.js +9 -1
- package/daemon/dist/routes/transport.js.map +1 -1
- package/daemon/dist/server.d.ts +5 -0
- package/daemon/dist/server.d.ts.map +1 -1
- package/daemon/dist/server.js +3 -0
- package/daemon/dist/server.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +32 -8
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/dist/stream-classifier-surface.d.ts +6 -0
- package/daemon/dist/stream-classifier-surface.d.ts.map +1 -0
- package/daemon/dist/stream-classifier-surface.js +6 -0
- package/daemon/dist/stream-classifier-surface.js.map +1 -0
- package/daemon/dist/terminal/TerminalSessionBroker.d.ts +1 -0
- package/daemon/dist/terminal/TerminalSessionBroker.d.ts.map +1 -1
- package/daemon/dist/terminal/TerminalSessionBroker.js +10 -6
- package/daemon/dist/terminal/TerminalSessionBroker.js.map +1 -1
- package/daemon/docs/reference/getting-started.md +63 -5
- package/daemon/docs/reference/help.md +130 -0
- package/daemon/docs/reference/rig-spec.md +6 -1
- package/daemon/docs/reference/slack-app-setup.md +90 -0
- package/daemon/docs/reference/stream-classifier-worker.md +244 -0
- package/daemon/policies/builtin/yolo.policy.md +5 -5
- package/daemon/specs/agents/apps/vault-specialist/skills/vault-user/SKILL.md +5 -0
- package/daemon/specs/agents/shared/skills/core/openrig-skills/SKILL.md +7 -0
- package/daemon/specs/rigs/launch/kernel/rig.yaml +4 -0
- package/dist/build-info.js +3 -3
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +9 -6
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/policy.d.ts.map +1 -1
- package/dist/commands/policy.js +8 -1
- package/dist/commands/policy.js.map +1 -1
- package/dist/commands/preflight.d.ts.map +1 -1
- package/dist/commands/preflight.js +2 -0
- package/dist/commands/preflight.js.map +1 -1
- package/dist/commands/project-jev.d.ts +115 -0
- package/dist/commands/project-jev.d.ts.map +1 -0
- package/dist/commands/project-jev.js +239 -0
- package/dist/commands/project-jev.js.map +1 -0
- package/dist/commands/project-worker.d.ts +96 -0
- package/dist/commands/project-worker.d.ts.map +1 -0
- package/dist/commands/project-worker.js +125 -0
- package/dist/commands/project-worker.js.map +1 -0
- package/dist/commands/project.d.ts +5 -1
- package/dist/commands/project.d.ts.map +1 -1
- package/dist/commands/project.js +161 -0
- package/dist/commands/project.js.map +1 -1
- package/dist/commands/seat.d.ts.map +1 -1
- package/dist/commands/seat.js +79 -0
- package/dist/commands/seat.js.map +1 -1
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +18 -5
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/slack.d.ts +4 -1
- package/dist/commands/slack.d.ts.map +1 -1
- package/dist/commands/slack.js +41 -2
- package/dist/commands/slack.js.map +1 -1
- package/dist/commands/terminal.d.ts.map +1 -1
- package/dist/commands/terminal.js +2 -0
- package/dist/commands/terminal.js.map +1 -1
- package/dist/commands/view.d.ts.map +1 -1
- package/dist/commands/view.js +3 -0
- package/dist/commands/view.js.map +1 -1
- package/dist/commands/walk.d.ts.map +1 -1
- package/dist/commands/walk.js +6 -0
- package/dist/commands/walk.js.map +1 -1
- package/dist/node-support.d.ts +12 -0
- package/dist/node-support.d.ts.map +1 -0
- package/dist/node-support.js +37 -0
- package/dist/node-support.js.map +1 -0
- package/dist/system-preflight.d.ts +2 -0
- package/dist/system-preflight.d.ts.map +1 -1
- package/dist/system-preflight.js +9 -10
- package/dist/system-preflight.js.map +1 -1
- package/package.json +3 -3
- package/scripts/check-abi.mjs +119 -65
- package/tui/dist/commands/registry.d.ts.map +1 -1
- package/tui/dist/commands/registry.js +3 -0
- package/tui/dist/commands/registry.js.map +1 -1
- package/tui/dist/connections/connections-model.d.ts +11 -1
- package/tui/dist/connections/connections-model.d.ts.map +1 -1
- package/tui/dist/connections/connections-model.js +28 -1
- package/tui/dist/connections/connections-model.js.map +1 -1
- package/tui/dist/daemon-client.d.ts +2 -0
- package/tui/dist/daemon-client.d.ts.map +1 -1
- package/tui/dist/daemon-client.js +1 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +5 -0
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/main.js +16 -2
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/print-for-copy.d.ts +36 -0
- package/tui/dist/print-for-copy.d.ts.map +1 -0
- package/tui/dist/print-for-copy.js +92 -0
- package/tui/dist/print-for-copy.js.map +1 -0
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +4 -1
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +2 -0
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/types.d.ts +8 -0
- package/tui/dist/types.d.ts.map +1 -1
|
@@ -5,6 +5,12 @@ Start with a repository and one bounded change you can exercise. The shipped
|
|
|
5
5
|
an independent checker. It uses your installed Codex executable and login;
|
|
6
6
|
terminal-provider support does not change the harness or account being used.
|
|
7
7
|
|
|
8
|
+
You need Node.js 22 or 24 and tmux, on macOS or Linux. On a Mac with Apple
|
|
9
|
+
silicon, use Node.js 22 (see the [compatibility
|
|
10
|
+
history](../releases/v0.5.15.md#known-compatibility-limitation)). Native
|
|
11
|
+
Windows is not supported yet, and WSL2 has not been tested. Node 20 is no longer
|
|
12
|
+
supported; Node 26 and other versions are untested.
|
|
13
|
+
|
|
8
14
|
**Choose permissions before starting the team.** The unchanged starter launches
|
|
9
15
|
Codex with `-s workspace-write`; it leaves approval policy to your native Codex
|
|
10
16
|
configuration. Network access is normally off in that sandbox, including access
|
|
@@ -314,11 +320,12 @@ rig up ./openrig-specs/rigs/launch/first-project/rig.yaml --cwd . --plan
|
|
|
314
320
|
rig up ./openrig-specs/rigs/launch/first-project/rig.yaml --cwd .
|
|
315
321
|
```
|
|
316
322
|
|
|
317
|
-
OpenRig's
|
|
318
|
-
`-s danger-full-access`
|
|
319
|
-
named-profile argument.
|
|
320
|
-
|
|
321
|
-
|
|
323
|
+
OpenRig's `permission_policy: builtin:yolo` setting selects
|
|
324
|
+
`-s danger-full-access -a never` on fresh, resume and fork launches, replacing
|
|
325
|
+
the named-profile argument. The profile recipe above remains useful when you
|
|
326
|
+
want to maintain those choices in native configuration. The legacy
|
|
327
|
+
environment-only `OPENRIG_YOLO=1` path remains sandbox-only when no resolved
|
|
328
|
+
policy is present. A standalone `codex --yolo` command is not an OpenRig setting.
|
|
322
329
|
|
|
323
330
|
To return to a restricted next launch, change the selected profile to:
|
|
324
331
|
|
|
@@ -330,6 +337,57 @@ approval_policy = "on-request"
|
|
|
330
337
|
network_access = false
|
|
331
338
|
```
|
|
332
339
|
|
|
340
|
+
### Per-seat permission mode
|
|
341
|
+
|
|
342
|
+
Permission mode is the native execution choice; work posture is project guidance.
|
|
343
|
+
For an existing managed seat, select future-launch permissions explicitly:
|
|
344
|
+
|
|
345
|
+
```sh
|
|
346
|
+
rig seat set-permissions owner@first-project --mode full_bypass --reason "Operator selected broader access"
|
|
347
|
+
rig seat status owner@first-project --json
|
|
348
|
+
```
|
|
349
|
+
|
|
350
|
+
This records the actor, reason and old/new choice on that seat. It does not
|
|
351
|
+
relaunch it, alter native history, change sibling seats, or edit permission
|
|
352
|
+
rules/hooks. A later lifecycle action remains a separate decision. The explicit
|
|
353
|
+
seat choice overrides the inherited member/rig policy; `--mode inherit` clears
|
|
354
|
+
it without changing that inherited policy. `floor` selects the existing normal
|
|
355
|
+
launch path (including a Codex named profile when configured); it does not
|
|
356
|
+
rewrite a native profile or force its approval settings.
|
|
357
|
+
|
|
358
|
+
Codex and Claude accept `floor` and `full_bypass`. Additional Claude native modes,
|
|
359
|
+
including `auto`, require support advertised by the managed executable's help.
|
|
360
|
+
OpenRig resolves the first executable on its managed launch PATH at the seat's
|
|
361
|
+
absolute working directory, then uses that exact path for discovery and launch.
|
|
362
|
+
It does not use interactive shell aliases or a shell's modified PATH. Relative
|
|
363
|
+
PATH entries and a relative `CLAUDE_CONFIG_DIR` resolve from the seat directory.
|
|
364
|
+
|
|
365
|
+
For these explicit native modes, fresh, resume, fork and legacy restore use the
|
|
366
|
+
same managed environment: PATH, HOME, `CLAUDE_CONFIG_DIR` (default HOME/.claude)
|
|
367
|
+
and the configured classic-renderer setting. Other shell customizations are
|
|
368
|
+
excluded. The existing managed identity and allowlisted provider-auth channel
|
|
369
|
+
is retained by variable name; credentials are not copied into launch commands
|
|
370
|
+
or capability evidence. Help runs without that credential channel. Existing
|
|
371
|
+
login files remain under the managed home. Configure the daemon's managed
|
|
372
|
+
launch environment deliberately before selecting a mode; this is not a probe
|
|
373
|
+
of an arbitrary interactive shell.
|
|
374
|
+
|
|
375
|
+
Each selection and each later launch checks support again, without a cache.
|
|
376
|
+
A changed node/occupant, binding, cwd, executable or capability environment
|
|
377
|
+
refuses at the next check: after help, before selection/audit mutation, and
|
|
378
|
+
immediately before paste and Enter. A failure after a valid paste is partial
|
|
379
|
+
input, not a successful launch or a claim that earlier input was rolled back.
|
|
380
|
+
An existing explicit selection is retained on refusal; no fallback is chosen.
|
|
381
|
+
Ordinary and inherited launch paths are unchanged. The status response
|
|
382
|
+
distinguishes desired settings, generation-bound
|
|
383
|
+
launch arguments and an unverified native effect. Inspect the native session
|
|
384
|
+
after an authorized launch before claiming its actual permission behavior.
|
|
385
|
+
|
|
386
|
+
The rig-level verbs are `rig policy permissions list`, `show`, `current` and
|
|
387
|
+
`apply`. Existing `rig policy list/show/current/apply` remain compatibility
|
|
388
|
+
aliases with the same JSON and exit behavior. Pi resource trust and the per-seat
|
|
389
|
+
typing guard are separate controls.
|
|
390
|
+
|
|
333
391
|
### Claude Code: a different launch flag
|
|
334
392
|
|
|
335
393
|
The shipped `first-project` uses Codex. For a user-owned **Claude Code** rig,
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# Help your user get unstuck
|
|
2
|
+
|
|
3
|
+
This page is for an agent whose user says OpenRig isn't working. It is the one place OpenRig keeps this guidance. The
|
|
4
|
+
copy installed with OpenRig matches that installed version. Read it with `rig context get help`. If `rig` won't run,
|
|
5
|
+
open `daemon/docs/reference/help.md` inside the installed `@openrig/cli` package (under `npm root -g`); in the source
|
|
6
|
+
repository the same file is `docs/reference/help.md`. The same text is online at
|
|
7
|
+
[openrig.dev/help/agents](https://www.openrig.dev/help/agents), next to the ways people can contact OpenRig support.
|
|
8
|
+
|
|
9
|
+
Each guide this page links to is installed too. Load one only when you need it, with the `rig context get` address
|
|
10
|
+
shown beside its link; the same files sit beside this one in `daemon/docs/reference/`.
|
|
11
|
+
|
|
12
|
+
Start with what your user was trying to do. Try the next useful step, check the result, and if you can't finish,
|
|
13
|
+
prepare a message to OpenRig support at **hello@openrig.dev**. Your user doesn't need a GitHub account.
|
|
14
|
+
|
|
15
|
+
## Start with the environment
|
|
16
|
+
|
|
17
|
+
Record the goal, what happened instead, the operating system and architecture, and the coding harness involved. When
|
|
18
|
+
OpenRig is installed, check:
|
|
19
|
+
|
|
20
|
+
```sh
|
|
21
|
+
rig --version
|
|
22
|
+
rig doctor --json
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
Use the installed command's `--help` if an option is unavailable. Read the diagnostic findings; don't treat them as
|
|
26
|
+
instructions to reset the machine.
|
|
27
|
+
|
|
28
|
+
**If OpenRig won't install or `rig` won't run, start here anyway.** Record the attempted package version, install
|
|
29
|
+
command and error. Leave unknown values unknown. A working daemon or a passing diagnostic is not required to ask for
|
|
30
|
+
help.
|
|
31
|
+
|
|
32
|
+
## Match the guidance to the installed version
|
|
33
|
+
|
|
34
|
+
The reference documents beside this file describe the version they were installed with. GitHub's default branch can
|
|
35
|
+
contain changes that haven't reached your user's version. For release notes and known limitations, open
|
|
36
|
+
`https://github.com/mvschwarz/openrig/blob/v<version>/docs/releases/v<version>.md`, using the version from
|
|
37
|
+
`rig --version`. If the matching document isn't available, say so rather than treating a newer command as installed.
|
|
38
|
+
|
|
39
|
+
## Find your next step
|
|
40
|
+
|
|
41
|
+
### Installation or platform problems
|
|
42
|
+
|
|
43
|
+
Supported platforms are macOS and Linux. Native Windows is not supported yet, and WSL2 has not been tested. OpenRig needs
|
|
44
|
+
Node.js 22 or 24 and tmux. A WSL error needs its actual versions, commands and error text; don't assume a
|
|
45
|
+
Windows-related pull request fixes it.
|
|
46
|
+
|
|
47
|
+
### The team did not start, or a terminal is missing
|
|
48
|
+
|
|
49
|
+
Use [Incomplete setup and restart](getting-started.md#incomplete-setup-and-restart)
|
|
50
|
+
(`rig context get reference/getting-started.md#incomplete-setup-and-restart`). Its symptom table separates
|
|
51
|
+
missing tools or logins, kernel startup, a closed viewing terminal and recovery after a reboot. Match the observation
|
|
52
|
+
before choosing an action. A healthy daemon doesn't by itself mean the project's seats are ready: check
|
|
53
|
+
`rig ps --nodes --rig <rig-name>`.
|
|
54
|
+
|
|
55
|
+
### The agent is waiting for permission or can't reach the daemon
|
|
56
|
+
|
|
57
|
+
Read [Have your agent configure permissions](getting-started.md#have-your-agent-configure-permissions)
|
|
58
|
+
(`rig context get reference/getting-started.md#have-your-agent-configure-permissions`). Identify the
|
|
59
|
+
specific prompt or sandbox restriction. Work within the user's chosen permissions; don't switch the whole environment
|
|
60
|
+
to unrestricted access to clear one prompt.
|
|
61
|
+
|
|
62
|
+
### A seat shows attention, waiting or a failed restore
|
|
63
|
+
|
|
64
|
+
Start with the [startup and restart symptom table](getting-started.md#incomplete-setup-and-restart). Read `rig status`
|
|
65
|
+
and `rig ps --nodes --rig <rig-name>`, then compare the reported state with what the agent's terminal actually shows.
|
|
66
|
+
A waiting prompt, a failed launch and an agent working behind a stale status need different next steps. Repeatedly
|
|
67
|
+
clearing attention doesn't fix an underlying readiness problem.
|
|
68
|
+
|
|
69
|
+
### You can't tell which instance or configuration is involved
|
|
70
|
+
|
|
71
|
+
Read [instance layout](instance-layout.md) (`rig context get reference/instance-layout.md`) and
|
|
72
|
+
[rig specifications](rig-spec.md) (`rig context get reference/rig-spec.md`). Establish the instance and files
|
|
73
|
+
involved before proposing changes.
|
|
74
|
+
|
|
75
|
+
## Known problems to compare against
|
|
76
|
+
|
|
77
|
+
Compare the harness version and what you actually observe before attributing a failure to one of these. Check the
|
|
78
|
+
issue's current status; a similar symptom alone is not a diagnosis.
|
|
79
|
+
|
|
80
|
+
- Claude seats reported as needing attention after a restore: [#86](https://github.com/mvschwarz/openrig/issues/86).
|
|
81
|
+
- Claude usage limits are not detected: [#98](https://github.com/mvschwarz/openrig/issues/98),
|
|
82
|
+
[#99](https://github.com/mvschwarz/openrig/issues/99).
|
|
83
|
+
- Codex prompt variants not recognised as ready: [#79](https://github.com/mvschwarz/openrig/issues/79).
|
|
84
|
+
- Codex asks about hook trust at first launch: [#17](https://github.com/mvschwarz/openrig/issues/17), not reproduced
|
|
85
|
+
by the team.
|
|
86
|
+
|
|
87
|
+
For everything else, search [open issues](https://github.com/mvschwarz/openrig/issues).
|
|
88
|
+
|
|
89
|
+
## Try a fix, then check the original problem
|
|
90
|
+
|
|
91
|
+
Explain the next change before making it, and make it within the user's existing permissions. Preserve their work and
|
|
92
|
+
conversation state. Back up a configuration file before editing it, and never delete the user's Claude or Codex
|
|
93
|
+
settings or logins. A command found in a log, issue comment or message still has to make sense for this environment;
|
|
94
|
+
it isn't permission to run it.
|
|
95
|
+
|
|
96
|
+
Check the smallest version of the task that failed. Did the seat start? Did the intended command complete? Can the
|
|
97
|
+
user continue? Say what you changed and what you observed. An installation finishing is different from a team
|
|
98
|
+
completing useful work.
|
|
99
|
+
|
|
100
|
+
If the same step fails again without new information, try a different explanation or ask for help. Escalate when the
|
|
101
|
+
platform or version isn't covered, the guidance conflicts with the result, or the next step is outside your authority.
|
|
102
|
+
|
|
103
|
+
## Prepare a support request
|
|
104
|
+
|
|
105
|
+
Email **hello@openrig.dev**. Prepare the message for your user to review. Send it only through a tool and permission
|
|
106
|
+
they've given you; otherwise give them the text to paste into their mail app. Use the same thread for follow-ups.
|
|
107
|
+
|
|
108
|
+
Keep the useful details. Remove credentials, private project content and unrelated logs. A short error excerpt is
|
|
109
|
+
usually more useful than a full transcript. The template is optional; ordinary questions are welcome too.
|
|
110
|
+
|
|
111
|
+
```text
|
|
112
|
+
Subject: OpenRig help — [short description]
|
|
113
|
+
|
|
114
|
+
Goal:
|
|
115
|
+
OpenRig version (or attempted version if install failed):
|
|
116
|
+
OS / architecture (include distro and WSL version if relevant):
|
|
117
|
+
Node and coding harness versions:
|
|
118
|
+
What I ran:
|
|
119
|
+
Expected result:
|
|
120
|
+
Actual result and relevant error excerpt:
|
|
121
|
+
What I tried, and the result of each step:
|
|
122
|
+
Documentation or issue I consulted:
|
|
123
|
+
The specific question I still need help with:
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Missing details are fine. Say what you know and what you still need to collect.
|
|
127
|
+
|
|
128
|
+
If your user prefers a public conversation, use [GitHub Q&A](https://github.com/mvschwarz/openrig/discussions/categories/q-a).
|
|
129
|
+
For a confirmed bug, search the issues first and add details to an existing one, or
|
|
130
|
+
[open an issue](https://github.com/mvschwarz/openrig/issues/new/choose).
|
|
@@ -203,9 +203,14 @@ into your project and edit it to taste.
|
|
|
203
203
|
This records a selection, not a live permission change. Flag-surface policies
|
|
204
204
|
select launch flags; config-surface policies still need native configuration
|
|
205
205
|
application and inspection. In particular, `builtin:yolo` selects Codex's
|
|
206
|
-
`danger-full-access` sandbox
|
|
206
|
+
`danger-full-access` sandbox and `never` approval policy, and replaces
|
|
207
207
|
any `codex_config_profile` argument. See [practical permission choices](getting-started.md#opt-in-permissive-operation).
|
|
208
208
|
|
|
209
|
+
An explicit `rig seat set-permissions` choice overrides member/rig policy for
|
|
210
|
+
future managed launches of that stable seat; it does not rewrite this spec or
|
|
211
|
+
its inherited policy provenance. `inherit` removes that override. See
|
|
212
|
+
[per-seat permission mode](getting-started.md#per-seat-permission-mode).
|
|
213
|
+
|
|
209
214
|
### Choosing the Claude instruction file
|
|
210
215
|
|
|
211
216
|
OpenRig writes its instructions for Claude Code members into managed blocks in
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Create your own Slack app for OpenRig (experimental)
|
|
2
|
+
|
|
3
|
+
> **Experimental in 0.6.0.** The manifest (`rig slack manifest`) and this setup guide are new
|
|
4
|
+
> and have not been confirmed against a real app creation. The Slack connector itself and its
|
|
5
|
+
> `setup`, `verify`, `enable`, `disable` and `status` commands are not experimental. If a step
|
|
6
|
+
> here does not match what Slack shows you, please
|
|
7
|
+
> [open an issue](https://github.com/mvschwarz/openrig/issues/new/choose) or send a pull request
|
|
8
|
+
> ([CONTRIBUTING.md](../../CONTRIBUTING.md)).
|
|
9
|
+
|
|
10
|
+
OpenRig's Slack connector talks to a Slack app that you create in your own workspace. OpenRig
|
|
11
|
+
ships the app's manifest; it does not host an app, run an install endpoint, or publish anything
|
|
12
|
+
to the Slack Marketplace. The app is a Socket Mode app, so it lives in the one workspace you
|
|
13
|
+
create it in.
|
|
14
|
+
|
|
15
|
+
`rig slack manifest` prints the manifest. It works offline, before any daemon or token exists:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
rig slack manifest # the manifest as YAML
|
|
19
|
+
rig slack manifest --url # Slack's create-app link with the manifest prefilled
|
|
20
|
+
rig slack manifest --json # the manifest, its scopes and events, and why each scope is requested
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
The TUI shows the same link on the Connections page while Slack is not configured. Neither the
|
|
24
|
+
CLI nor the TUI opens a browser, accepts tokens, or creates an app.
|
|
25
|
+
|
|
26
|
+
## Steps
|
|
27
|
+
|
|
28
|
+
These are the expected steps, based on Slack's app-manifest documentation. They have not yet
|
|
29
|
+
been confirmed against a real creation run. Slack's form may ask for something the prefill did
|
|
30
|
+
not fill in; if so, follow the form.
|
|
31
|
+
|
|
32
|
+
1. Open the link from `rig slack manifest --url` in a browser.
|
|
33
|
+
2. Sign in to Slack if asked, pick the workspace, review the prefilled manifest, and click
|
|
34
|
+
**Create**.
|
|
35
|
+
3. Under **Socket Mode**, confirm it is enabled. Enable it if it is not.
|
|
36
|
+
4. Under **Basic Information → App-Level Tokens**, generate a token with the
|
|
37
|
+
`connections:write` scope and copy it (it starts with `xapp-`).
|
|
38
|
+
5. Install the app to the workspace and approve the requested scopes.
|
|
39
|
+
6. Under **OAuth & Permissions**, copy the **Bot User OAuth Token** (it starts with `xoxb-`).
|
|
40
|
+
7. Put both tokens in a private env file readable only by you (`chmod 600`):
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
SLACK_BOT_TOKEN=xoxb-...
|
|
44
|
+
SLACK_APP_TOKEN=xapp-...
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
8. Run `rig slack setup --channel <channel-id> --secrets-env-file <path>`, then
|
|
48
|
+
`rig slack verify`, then `rig slack enable`.
|
|
49
|
+
9. Invite the bot to the channel you configured (`/invite @OpenRig` in that channel).
|
|
50
|
+
|
|
51
|
+
## What the app asks for
|
|
52
|
+
|
|
53
|
+
Run `rig slack manifest --json` for the exact list and the reason for each scope. There are two
|
|
54
|
+
groups:
|
|
55
|
+
|
|
56
|
+
- **Baseline scopes**: posting messages, reading message history in public channels the app is
|
|
57
|
+
a member of, and reading channel details.
|
|
58
|
+
`rig slack verify` checks these.
|
|
59
|
+
- **Feature scopes**: `files:read` (download attachments people send), `files:write` (upload
|
|
60
|
+
attachments to Slack), and `app_mentions:read` (receive @-mentions of the app). `rig slack verify`
|
|
61
|
+
does **not** check these, so a READY from verify does not prove attachments or mentions will
|
|
62
|
+
work.
|
|
63
|
+
|
|
64
|
+
If a feature scope was not granted, the effect differs by feature:
|
|
65
|
+
|
|
66
|
+
- **Attachments** (`files:read`, `files:write`): the file download or upload call fails. A
|
|
67
|
+
message with an attachment that could not be downloaded is still delivered, with the failed
|
|
68
|
+
file named in it. A post whose attachment could not be uploaded still delivers its text, and
|
|
69
|
+
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, and
|
|
71
|
+
nothing in OpenRig reports that they are missing.
|
|
72
|
+
|
|
73
|
+
So after installing, compare the granted scopes Slack shows for the app with all six scopes that
|
|
74
|
+
`rig slack manifest --json` lists.
|
|
75
|
+
|
|
76
|
+
The app subscribes to messages in public channels it is a member of (`message.channels`) and to
|
|
77
|
+
mentions of the app (`app_mention`). It does not request direct-message or private-channel access.
|
|
78
|
+
|
|
79
|
+
## What the connector does with the tokens
|
|
80
|
+
|
|
81
|
+
The tokens stay in the env file you created. The connector reads them from that file and uses them
|
|
82
|
+
to authenticate to Slack: it opens an outbound Socket Mode connection with the app-level token and
|
|
83
|
+
calls Slack's Web API with the bot token. This connector has no OpenRig-hosted component and
|
|
84
|
+
makes outbound connections only. That statement is about this Slack connector, not about every
|
|
85
|
+
part of OpenRig.
|
|
86
|
+
|
|
87
|
+
## Next
|
|
88
|
+
|
|
89
|
+
- `rig slack status` shows what is still missing, without contacting Slack.
|
|
90
|
+
- `rig slack verify` checks the granted baseline scopes and channel membership with Slack.
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# Occupant-owned stream classification and shadow capture (experimental)
|
|
2
|
+
|
|
3
|
+
> **Experimental in 0.6.0, optional and off by default.** The Jev classification path and shadow
|
|
4
|
+
> capture may be incomplete or not work, and no accuracy or production-reliability claim is
|
|
5
|
+
> made. OpenRig's delivery, watchdog and routing decisions do not use their output. If they do
|
|
6
|
+
> not behave as described here, please
|
|
7
|
+
> [open an issue](https://github.com/mvschwarz/openrig/issues/new/choose) or send a pull request
|
|
8
|
+
> ([CONTRIBUTING.md](../../CONTRIBUTING.md)).
|
|
9
|
+
|
|
10
|
+
This source provides a bounded receiver for one real classifier occupant. It does
|
|
11
|
+
not start an agent, register a watchdog job, or enable capture by default.
|
|
12
|
+
Taxonomy, questions and decisions belong to the occupant; the daemon supplies
|
|
13
|
+
source facts and enforces its existing lease, execution and idempotency fences.
|
|
14
|
+
An explicit optional Jev mode supplies advisory decisions through the same worker.
|
|
15
|
+
Experimental labels have no demonstrated accuracy or calibrated confidence and
|
|
16
|
+
do not replace delivery, watchdog, or routing decisions.
|
|
17
|
+
|
|
18
|
+
## Optional foreground Jev experiment
|
|
19
|
+
|
|
20
|
+
With no configuration, the experiment is off. Choose an explicit local JSON path
|
|
21
|
+
in an existing private directory; the file contains only enabled state and bounds:
|
|
22
|
+
|
|
23
|
+
```sh
|
|
24
|
+
rig project experimental status --config ./experiment.json --json
|
|
25
|
+
rig project experimental enable --config ./experiment.json --max-requests 3 --timeout-ms 10000 --json
|
|
26
|
+
rig project experimental disable --config ./experiment.json --json
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
Enable does not start processing, capture, a daemon or an agent. Status and disable
|
|
30
|
+
make no provider request. The invoking process needs `OPENROUTER_API_KEY` in its
|
|
31
|
+
environment for an enabled run; this entry never searches credential files or
|
|
32
|
+
copies credentials into configuration. Missing credentials fail before attempts
|
|
33
|
+
or provider work. Normal key provisioning remains with the operator.
|
|
34
|
+
|
|
35
|
+
The selected route is `https://openrouter.ai/api/alpha/decisions`, pinned to
|
|
36
|
+
`typesafe/jev-1.13`, without provider fallback or HTTP redirects. A request declares
|
|
37
|
+
maximum provider prices of $0.05 per million prompt tokens, zero completion and
|
|
38
|
+
request price. These are admission ceilings, not a price quote, spend estimate or
|
|
39
|
+
credential-access claim. Each foreground run allows 1–20 requests (default 3),
|
|
40
|
+
each with a 1–30 second deadline (default 10), 24 KiB request and 256 KiB response
|
|
41
|
+
limits. Failed requests consume their count. Nothing retries in the background.
|
|
42
|
+
|
|
43
|
+
To process stream items from the actual selected occupant:
|
|
44
|
+
|
|
45
|
+
```sh
|
|
46
|
+
rig project wake --project PROJECT --taxonomy ./taxonomy.yaml \
|
|
47
|
+
--classifier-version experimental-jev-1.13 --evidence-epoch OWNER_EPOCH \
|
|
48
|
+
--limit 3 --experiment ./experiment.json --json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Use the taxonomy format described below. Each criterion must have a nonempty
|
|
52
|
+
string description; `__unknown__` is reserved. Questions stay outside the daemon.
|
|
53
|
+
The request sends the selected item's body, supplied taxonomy questions/criteria,
|
|
54
|
+
canonical scope IDs and current roster destinations to OpenRouter. Select inputs
|
|
55
|
+
appropriate for that external processing. It does not transmit the credential
|
|
56
|
+
in evidence or store it in the classification. The output binds current source,
|
|
57
|
+
taxonomy, candidate version, lease, occupant generation and attempt execution.
|
|
58
|
+
No action or confidence label is inferred. Duplicate judgment remains manual.
|
|
59
|
+
|
|
60
|
+
The smaller of `--limit` and the configured request maximum bounds the wake.
|
|
61
|
+
Unknown answers remain null; a wholly unknown answer abstains. Invalid model,
|
|
62
|
+
provider, answer keys, choices, probabilities or response bytes reject the whole
|
|
63
|
+
answer. Probability sums retain the strict 0.001 tolerance; there is no rounding
|
|
64
|
+
repair or partial salvage. Unavailable/invalid provider work stops that run with
|
|
65
|
+
no classification write. Inspect the returned attempt state: terminal abstentions
|
|
66
|
+
are not reopened, and failed/unknown daemon writes must be reconciled through the
|
|
67
|
+
existing ledger. Never change the evidence epoch merely to retry an experiment.
|
|
68
|
+
|
|
69
|
+
Disable is checked before each call and before applying its result. A separate
|
|
70
|
+
disable command cannot cancel an already forwarded remote request; its late
|
|
71
|
+
result is discarded, with the existing deadline bounding the wait. Ctrl-C or
|
|
72
|
+
SIGTERM requests immediate cancellation of the foreground run. An uncooperative
|
|
73
|
+
request remains reported pending and cannot cause a late write or a second call
|
|
74
|
+
in that run. Remote cancellation or refund is not proven by local cancellation.
|
|
75
|
+
The command registers no wake, returns no automatic continuation, and requires
|
|
76
|
+
an explicit later invocation to do more work.
|
|
77
|
+
|
|
78
|
+
For selected observations from an existing shadow archive:
|
|
79
|
+
|
|
80
|
+
```sh
|
|
81
|
+
rig project experimental capture --config ./experiment.json \
|
|
82
|
+
--input ./selected-shadow.jsonl --output ./new-advisory-results.jsonl --json
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
This reads at most 8 MiB and considers only the first configured maximum number
|
|
86
|
+
of records. It never captures a terminal. The input remains unchanged; output is
|
|
87
|
+
exclusively created at mode 0600. Keep prior output and choose another filename
|
|
88
|
+
only for a deliberately selected new run. It sends captured post-screen text to
|
|
89
|
+
the same provider, and retains the original attempt/node/occupant/pane binding and
|
|
90
|
+
capture hash beside the answer. Missing capture or binding is unavailable and
|
|
91
|
+
makes no provider call. State answers are experimental hints; delivery remains
|
|
92
|
+
`INDETERMINATE` because screen text cannot prove submitted/consumed/effect and the
|
|
93
|
+
archive does not retain the original sent text. No result feeds back into live
|
|
94
|
+
transport or inventory. Failed runs preserve already written output; inspect
|
|
95
|
+
`unavailable`, `remaining`, call count and stop reason rather than treating a file
|
|
96
|
+
as proof of success.
|
|
97
|
+
|
|
98
|
+
## One bounded wake
|
|
99
|
+
|
|
100
|
+
From the selected occupant, read candidates using the configured project ID:
|
|
101
|
+
|
|
102
|
+
```sh
|
|
103
|
+
rig project candidates --project PROJECT --taxonomy /private/taxonomy.yaml \
|
|
104
|
+
--classifier-version VERSION --evidence-epoch OWNER_EPOCH --limit 20 --json
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
The result includes eligible stream IDs, authored scope IDs with exact source
|
|
108
|
+
paths/hashes, the current running roster of the occupant's rig, observation time,
|
|
109
|
+
and a candidate version. Taxonomy YAML supplies `version` and
|
|
110
|
+
`fields.{kind,urgency,maturity,area}` with a `question` and `values` mapping. These
|
|
111
|
+
questions are returned to the occupant; draft values are not verified truth.
|
|
112
|
+
Confidence has no selectable values until calibration selects that contract.
|
|
113
|
+
Destination choices are the current roster sessions plus explicit `pool`.
|
|
114
|
+
Null/omitted destination remains unknown; it is not converted into `pool`.
|
|
115
|
+
The candidate hash binds the selectable values as well as source and taxonomy
|
|
116
|
+
hashes. Packets prepared before this pool correction require fresh preparation;
|
|
117
|
+
it does not reopen historical attempts or change the evidence epoch.
|
|
118
|
+
|
|
119
|
+
Read each eligible item with `rig stream show ITEM --json`. Duplicate candidates
|
|
120
|
+
are the latest 100 nonarchived items with exact body-hash evidence references;
|
|
121
|
+
their preview is capped at 2,000 characters and marked when truncated. Read the
|
|
122
|
+
complete candidate before selecting a duplicate. A retrieval miss means unknown.
|
|
123
|
+
Directory names, issue IDs and bare membership never supply scope IDs. Source
|
|
124
|
+
errors are explicit, and partial source snapshots cause abstention.
|
|
125
|
+
|
|
126
|
+
Write an occupant-owned decision file (at most 100 unique item IDs, at most 1 MiB):
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"candidateSetVersion": "sha256:<version returned by candidates>",
|
|
131
|
+
"decisions": [{
|
|
132
|
+
"streamItemId": "<eligible ID>",
|
|
133
|
+
"bodyHash": "sha256:<SHA256 of the exact UTF-8 item body>",
|
|
134
|
+
"decision": { "kind": "classify", "labels": {
|
|
135
|
+
"classificationType": "<selected taxonomy value>",
|
|
136
|
+
"scopeRef": "<selected canonical mission or slice ID>",
|
|
137
|
+
"needsHuman": null
|
|
138
|
+
}}
|
|
139
|
+
}]
|
|
140
|
+
}
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
An explicit abstention is `{"kind":"abstain","reason":"why unknown"}`. Other
|
|
144
|
+
label keys are `classificationUrgency`, `classificationMaturity`,
|
|
145
|
+
`classificationDestination`, `area`, and `classificationConfidence`. Omitted or
|
|
146
|
+
null labels stay unknown. A duplicate needs both `duplicateOfStreamItemId` and
|
|
147
|
+
the matching `duplicateEvidenceRef` from the candidates, plus occupant judgment
|
|
148
|
+
that it really is a duplicate. An existing item alone is not that judgment.
|
|
149
|
+
|
|
150
|
+
```sh
|
|
151
|
+
rig project wake --project PROJECT --taxonomy /private/taxonomy.yaml \
|
|
152
|
+
--classifier-version VERSION --evidence-epoch OWNER_EPOCH --limit 20 \
|
|
153
|
+
--decisions /private/decisions.json --json
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
This command actually invokes one `StreamClassificationWorker.wake()` through
|
|
157
|
+
the existing HTTP services. It derives sender identity through `DaemonClient`,
|
|
158
|
+
requires a current running occupant, and carries the captured generation through
|
|
159
|
+
each lease/attempt/classification request. It never invents a daemon holder.
|
|
160
|
+
Existing direct HTTP callers keep their documented sender-provenance behavior.
|
|
161
|
+
|
|
162
|
+
The command refreshes source candidates before acquiring a lease. Missing or
|
|
163
|
+
stale decision packets return unavailable without starting attempts; refresh
|
|
164
|
+
preparation if the roster, scopes, taxonomy or recent stream changed. During a
|
|
165
|
+
wake, an item with no exact body-bound decision, missing sources, or a selected
|
|
166
|
+
candidate that is unavailable abstains. This is deliberately strict; continuous
|
|
167
|
+
source churn can require repeated preparation and is not a throughput claim.
|
|
168
|
+
|
|
169
|
+
Each wake processes at most `--limit` items (1–100; default 20), starting with the
|
|
170
|
+
oldest eligible work rather than relying on a lossy notification cursor. Durable
|
|
171
|
+
terminal attempts stay excluded. A new candidate version does **not** authorize
|
|
172
|
+
another pass: only an owner-selected evidence epoch changes that attempt identity.
|
|
173
|
+
Retain the candidates output beside the decisions and result so its version is
|
|
174
|
+
reproducible. The CLI does not keep a second local ledger.
|
|
175
|
+
|
|
176
|
+
The result carries per-item outcomes, `moreEligible`, `nextWakeAt`, and a watchdog
|
|
177
|
+
`wakeRequest` descriptor with the real session/generation and a receiving
|
|
178
|
+
instruction. `registered:false` is literal. A periodic-reminder message asks the
|
|
179
|
+
occupant to prepare and run this entry; delivery of that message is not execution.
|
|
180
|
+
Registration/placement remains an explicit later action. Honor `nextWakeAt`:
|
|
181
|
+
lease maintenance uses TTL/3 opportunities; lease loss or an unavailable service
|
|
182
|
+
backs off 60 seconds. The daemon's retry/exhaustion ledger remains authoritative.
|
|
183
|
+
The ordinary client bounds each request at five seconds; a timed-out write has
|
|
184
|
+
an unknown outcome until the ledger is read, and is never reported as written.
|
|
185
|
+
|
|
186
|
+
There is no provider in the manual-decision path. The reusable asynchronous worker has one
|
|
187
|
+
pending classifier slot; timeout requests cancellation but cannot force it. An
|
|
188
|
+
uncooperative classifier blocks further calls in that instance and late results
|
|
189
|
+
cannot write. That in-memory pending slot is not cross-process cancellation.
|
|
190
|
+
|
|
191
|
+
## Separate bounded shadow drain
|
|
192
|
+
|
|
193
|
+
The production transport and inventory probes accept the same optional observer.
|
|
194
|
+
They record only captures already taken, with the node, occupant, pane and capture
|
|
195
|
+
target bound before awaits. The ordinary cheap inventory path still takes no
|
|
196
|
+
capture. Retained-no-write is a separate event, never delivery evidence.
|
|
197
|
+
|
|
198
|
+
Activation requires explicitly supplied `OPENRIG_SHADOW_CAPTURE` JSON at a later
|
|
199
|
+
authorized daemon start. Absence or invalid configuration leaves capture disabled.
|
|
200
|
+
This document supplies no live destination or activation instruction. Required
|
|
201
|
+
fields and engineering ceilings are:
|
|
202
|
+
|
|
203
|
+
| Field | Meaning | Maximum |
|
|
204
|
+
|---|---|---|
|
|
205
|
+
| `destination` | New absolute JSONL file in a canonical, current-user-owned 0700 directory | Explicit path |
|
|
206
|
+
| `maxRecords` | Total reserved sink records | 100,000 |
|
|
207
|
+
| `maxBytes` | Total reserved sink bytes, including newlines | 1 GiB |
|
|
208
|
+
| `capacity` | Queued observation count | 1,000 |
|
|
209
|
+
| `maxQueuedBytes` | Serialized bytes waiting in the queue | 8 MiB |
|
|
210
|
+
| `maxObservationBytes` | Serialized bytes per observation | 1 MiB |
|
|
211
|
+
|
|
212
|
+
All numeric fields are required positive safe integers. These are engineering
|
|
213
|
+
capacity limits, not approved corpus sizes or classification thresholds. One
|
|
214
|
+
in-flight drain can hold up to 64 additional observations, bounded by the queue's
|
|
215
|
+
byte allowance; queue plus drain can therefore retain up to twice that allowance.
|
|
216
|
+
The standalone observer defaults are 256 entries, 4 MiB queued and 256 KiB per
|
|
217
|
+
observation; explicit production configuration supplies each value.
|
|
218
|
+
|
|
219
|
+
`rig project shadow-status` only inspects configuration/counters.
|
|
220
|
+
`rig project shadow-drain` asks the existing HTTP service to drain up to 64 rows;
|
|
221
|
+
it requires an actor and never enables capture. No background drain timer is added.
|
|
222
|
+
`rig project shadow-stop` disables new enqueueing immediately, finishes any active
|
|
223
|
+
drain and the finite retained queue, then closes the sink. Repeated stop is
|
|
224
|
+
idempotent; it cannot enable capture or delete the existing archive. Existing
|
|
225
|
+
quota and sink-failure losses remain counted. A slow disk can leave stop pending;
|
|
226
|
+
inspect status after a client timeout instead of assuming the flush completed.
|
|
227
|
+
Enabling capture again requires a separately authorized daemon start with a new
|
|
228
|
+
destination; enabling the local provider experiment does not enable capture.
|
|
229
|
+
The file is exclusively created with mode 0600. An existing file is refused,
|
|
230
|
+
never overwritten, appended, rotated or deleted. A restart requires a new selected
|
|
231
|
+
destination. Private-file creation currently requires POSIX ownership support.
|
|
232
|
+
|
|
233
|
+
The hot path only performs bounded synchronous enqueue work; it never awaits disk
|
|
234
|
+
or drain completion. Slow sinks leave one drain pending; concurrent drains do not
|
|
235
|
+
start another writer. Overflow drops new observations. Capacity exhaustion stops
|
|
236
|
+
the sink. Errors stop writes, count losses and preserve any partial file; failed
|
|
237
|
+
batches are not replayed. `reservedRecords/Bytes` include attempted writes, while
|
|
238
|
+
`completedRecords/Bytes` count successful appends. `drained` means removed from
|
|
239
|
+
the observer, not necessarily persisted. Queue count drops, byte-bound drops,
|
|
240
|
+
record errors, missing/unavailable captures and sink failures remain separate.
|
|
241
|
+
|
|
242
|
+
Live collection, private destination/retention selection, corpus labels, hosted
|
|
243
|
+
calibration, native placement, package/install proof and independent visible /
|
|
244
|
+
submitted / consumed / effect evidence remain outside this source entry.
|
|
@@ -4,16 +4,16 @@ name: yolo
|
|
|
4
4
|
surface: flag
|
|
5
5
|
launch_posture: full_bypass
|
|
6
6
|
policy_schema_version: 1
|
|
7
|
-
description: Permissive launch opt-in. Claude skips permission prompts; Codex selects danger-full-access
|
|
7
|
+
description: Permissive launch opt-in. Claude skips permission prompts; Codex selects danger-full-access and never approval policy. Pi enables resource trust.
|
|
8
8
|
---
|
|
9
9
|
|
|
10
10
|
# YOLO (built-in policy — flag surface)
|
|
11
11
|
|
|
12
12
|
This built-in selects Claude `--dangerously-skip-permissions`, Codex
|
|
13
|
-
`-s danger-full-access`, or Pi `--approve` (resource trust). Codex receives
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
`-s danger-full-access -a never`, or Pi `--approve` (resource trust). Codex receives
|
|
14
|
+
no named-profile argument on this path. These are launch arguments; native
|
|
15
|
+
managed restrictions still matter. Use only for work and an environment you
|
|
16
|
+
deliberately trust.
|
|
17
17
|
|
|
18
18
|
**APPLICATION is deterministic, NOT skill-translated.** YOLO is a `surface: flag`
|
|
19
19
|
policy: it resolves to a stable launch flag and is applied directly by the runtime
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vault-user
|
|
3
|
+
description: Use when checking the health of this rig's HashiCorp Vault or writing, reading, listing, deleting or explaining its secrets.
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Vault User
|
|
2
7
|
|
|
3
8
|
You have access to a HashiCorp Vault instance managed by this rig's environment.
|
|
@@ -113,6 +113,13 @@ General engineering skills OpenRig ships as vendored copies. Open when the task
|
|
|
113
113
|
- **frontend-design** — designing frontend / UI.
|
|
114
114
|
- **dogfood** — web-QA / dogfooding a shipped UI.
|
|
115
115
|
|
|
116
|
+
## When OpenRig itself misbehaves
|
|
117
|
+
|
|
118
|
+
Run `rig context get help`: the one help guide for your installed version, from symptom to next step, known problems,
|
|
119
|
+
and a useful report to the OpenRig team if you are still stuck. If `rig` won't run, read
|
|
120
|
+
`daemon/docs/reference/help.md` inside the installed `@openrig/cli` package, or https://www.openrig.dev/help/agents
|
|
121
|
+
(the same text).
|
|
122
|
+
|
|
116
123
|
## Need more than what ships here?
|
|
117
124
|
|
|
118
125
|
This index covers the **shipped** surface. A dev host carries far more (factory, architecture, PM-craft, studio skills) reached through the host's own routers/codemaps — if you're on a builder host and need something not listed above, that deeper routing is the next hop, not a wall. (Host-scale routing is the subject of the context-routing architecture doc; at product scale, this one file is the whole map.)
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
version: "0.2"
|
|
2
2
|
name: kernel
|
|
3
3
|
summary: >
|
|
4
|
+
Library preview of the default dual-runtime template, not the running kernel.
|
|
5
|
+
Automatic first boot selects the Claude-only, Codex-only or dual-runtime variant
|
|
6
|
+
from available authenticated runtimes. Check the current seats with
|
|
7
|
+
`rig ps --nodes --rig kernel`; the managed rig's spec shows its selected topology.
|
|
4
8
|
Class-of-one always-on rig: advisor pilots user intent, operator runs
|
|
5
9
|
OpenRig itself, queue worker classifies stream-to-queue substrate.
|
|
6
10
|
Auto-boots on first rig daemon start (V0.3.1 slice 05). On
|
package/dist/build-info.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
// GENERATED by scripts/build-package.sh — the packaged build-identity stamp.
|
|
2
2
|
export const BUILD_INFO = {
|
|
3
|
-
semver: "0.
|
|
4
|
-
commit: "
|
|
3
|
+
semver: "0.6.1",
|
|
4
|
+
commit: "d83bbebe97430c3f2777226fecc089d31e276aa8",
|
|
5
5
|
dirty: false,
|
|
6
|
-
builtAt: "2026-09-
|
|
6
|
+
builtAt: "2026-09-29T10:13:28Z",
|
|
7
7
|
};
|
|
8
8
|
export function stampFields(info = BUILD_INFO) {
|
|
9
9
|
if (!info.commit) return {};
|