@openrig/cli 0.5.7 → 0.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/daemon/assets/plugins/openrig-core/hooks/scripts/refocus.cjs +25 -2
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/precompact-hook.mjs +95 -8
- package/daemon/assets/plugins/openrig-core/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +9 -1
- package/daemon/context-packs/onboarding-width/manifest.yaml +1 -1
- package/daemon/context-packs/onboarding-width/public-what-you-can-do.md +40 -15
- 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/claude-compaction-restore/scripts/precompact-hook.mjs +95 -8
- package/daemon/context-packs/skills/claude-compaction-restore/scripts/restore-from-jsonl.mjs +9 -1
- package/daemon/context-packs/skills/core/agent-starters/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/agent-startup-and-context-ingestion/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/cross-host-rig-commands/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/human-in-the-loop/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/messaging-the-human/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-architect/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-cmux/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-herdr/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-skills/manifest.yaml +1 -1
- package/daemon/context-packs/skills/core/openrig-upgrade/SKILL.md +120 -355
- package/daemon/context-packs/skills/core/openrig-upgrade/manifest.yaml +9 -3
- package/daemon/context-packs/skills/core/openrig-upgrade/scripts/backup-sqlite.mjs +62 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/scripts/inspect-upgrade.mjs +40 -0
- package/daemon/context-packs/skills/core/openrig-upgrade/scripts/refresh-managed-plugin.mjs +151 -0
- 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/codex-runtime-adapter.d.ts.map +1 -1
- package/daemon/dist/adapters/codex-runtime-adapter.js +249 -2
- package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/daemon/dist/adapters/tmux.d.ts +6 -5
- package/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/daemon/dist/adapters/tmux.js +29 -12
- package/daemon/dist/adapters/tmux.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 +3 -1
- package/daemon/dist/db/all-migrations.js.map +1 -1
- package/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts +17 -0
- package/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts.map +1 -0
- package/daemon/dist/db/migrations/078_idle_gate_fired_condition.js +21 -0
- package/daemon/dist/db/migrations/078_idle_gate_fired_condition.js.map +1 -0
- package/daemon/dist/domain/active-occupant.d.ts +6 -0
- package/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/daemon/dist/domain/active-occupant.js +14 -0
- package/daemon/dist/domain/active-occupant.js.map +1 -1
- package/daemon/dist/domain/current-work.d.ts +73 -0
- package/daemon/dist/domain/current-work.d.ts.map +1 -0
- package/daemon/dist/domain/current-work.js +225 -0
- package/daemon/dist/domain/current-work.js.map +1 -0
- package/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/daemon/dist/domain/execution-view.js +215 -13
- package/daemon/dist/domain/execution-view.js.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.d.ts +3 -2
- package/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/daemon/dist/domain/gateway/human-registry.js +113 -18
- package/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +3 -2
- package/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
- package/daemon/dist/domain/model-divergence/effective-model-readers.js +7 -5
- package/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
- package/daemon/dist/domain/policies/idle-gate-qitem.d.ts +5 -5
- package/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -1
- package/daemon/dist/domain/policies/idle-gate-qitem.js +130 -22
- package/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -1
- package/daemon/dist/domain/policies/types.d.ts +12 -0
- package/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.d.ts +37 -2
- package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-repository.js +171 -16
- package/daemon/dist/domain/queue-repository.js.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.d.ts +19 -0
- package/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/daemon/dist/domain/queue-wake-repository.js +33 -0
- package/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/daemon/dist/domain/reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/reconciler.js +4 -1
- package/daemon/dist/domain/reconciler.js.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts +11 -1
- package/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/daemon/dist/domain/rehydrate-eligibility.js +34 -0
- package/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.d.ts +9 -0
- package/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/daemon/dist/domain/restore-orchestrator.js +32 -0
- package/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/daemon/dist/domain/restore-plan-preview.js +2 -2
- package/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-exporter.js +2 -0
- package/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.d.ts +15 -9
- package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-instantiator.js +66 -83
- package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/daemon/dist/domain/rigspec-schema.d.ts +5 -1
- package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/daemon/dist/domain/rigspec-schema.js +41 -2
- package/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts +32 -1
- package/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/daemon/dist/domain/seat-attention-reconciler.js +183 -4
- package/daemon/dist/domain/seat-attention-reconciler.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 +33 -7
- package/daemon/dist/domain/session-transport.js.map +1 -1
- package/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/daemon/dist/domain/snapshot-capture.js +4 -2
- package/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/daemon/dist/domain/topology-defaults-installer.d.ts +4 -2
- package/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -1
- package/daemon/dist/domain/topology-defaults-installer.js +27 -0
- package/daemon/dist/domain/topology-defaults-installer.js.map +1 -1
- package/daemon/dist/domain/types.d.ts +1 -1
- package/daemon/dist/domain/types.d.ts.map +1 -1
- package/daemon/dist/domain/types.js.map +1 -1
- package/daemon/dist/domain/up-command-router.d.ts.map +1 -1
- package/daemon/dist/domain/up-command-router.js +19 -0
- package/daemon/dist/domain/up-command-router.js.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts +9 -0
- package/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-jobs-repository.js +15 -2
- package/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -0
- package/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/daemon/dist/domain/watchdog-policy-engine.js +47 -0
- package/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/daemon/dist/routes/queue.d.ts.map +1 -1
- package/daemon/dist/routes/queue.js +31 -10
- package/daemon/dist/routes/queue.js.map +1 -1
- package/daemon/dist/routes/rigs.js +10 -3
- package/daemon/dist/routes/rigs.js.map +1 -1
- package/daemon/dist/routes/rigspec.d.ts.map +1 -1
- package/daemon/dist/routes/rigspec.js +37 -0
- package/daemon/dist/routes/rigspec.js.map +1 -1
- package/daemon/dist/routes/up.js +10 -3
- package/daemon/dist/routes/up.js.map +1 -1
- package/daemon/dist/startup.d.ts.map +1 -1
- package/daemon/dist/startup.js +16 -6
- package/daemon/dist/startup.js.map +1 -1
- package/daemon/docs/reference/agent-spec.md +33 -0
- package/daemon/docs/reference/chain-file-convention.md +17 -12
- package/daemon/docs/reference/release-boundary.md +29 -5
- package/daemon/docs/reference/sdlc-conventions.md +6 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/SKILL.md +120 -355
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/backup-sqlite.mjs +62 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/inspect-upgrade.mjs +40 -0
- package/daemon/specs/agents/shared/skills/core/openrig-upgrade/scripts/refresh-managed-plugin.mjs +151 -0
- package/daemon/specs/rigs/preview/product-team/topology/instance/CRAFT.md +4 -4
- package/daemon/specs/rigs/preview/product-team/topology/rig/ORCHESTRATION-CRAFT.md +3 -3
- package/dist/build-info.js +3 -3
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +55 -9
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +27 -1
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/watchdog.d.ts.map +1 -1
- package/dist/commands/watchdog.js +51 -3
- package/dist/commands/watchdog.js.map +1 -1
- package/dist/front-door.d.ts.map +1 -1
- package/dist/front-door.js +16 -4
- package/dist/front-door.js.map +1 -1
- package/dist/lib/topology-trace.d.ts +3 -2
- package/dist/lib/topology-trace.d.ts.map +1 -1
- package/dist/lib/topology-trace.js +12 -2
- package/dist/lib/topology-trace.js.map +1 -1
- package/dist/lib/work-install.d.ts.map +1 -1
- package/dist/lib/work-install.js +65 -31
- package/dist/lib/work-install.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js +249 -2
- package/node_modules/@openrig/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts +6 -5
- package/node_modules/@openrig/daemon/dist/adapters/tmux.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js +29 -12
- package/node_modules/@openrig/daemon/dist/adapters/tmux.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/build-info.js +3 -3
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js +3 -1
- package/node_modules/@openrig/daemon/dist/db/all-migrations.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts +17 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.js +21 -0
- package/node_modules/@openrig/daemon/dist/db/migrations/078_idle_gate_fired_condition.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts +6 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js +14 -0
- package/node_modules/@openrig/daemon/dist/domain/active-occupant.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/current-work.d.ts +73 -0
- package/node_modules/@openrig/daemon/dist/domain/current-work.d.ts.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/current-work.js +225 -0
- package/node_modules/@openrig/daemon/dist/domain/current-work.js.map +1 -0
- package/node_modules/@openrig/daemon/dist/domain/execution-view.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js +215 -13
- package/node_modules/@openrig/daemon/dist/domain/execution-view.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts +3 -2
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js +113 -18
- package/node_modules/@openrig/daemon/dist/domain/gateway/human-registry.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts +3 -2
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js +7 -5
- package/node_modules/@openrig/daemon/dist/domain/model-divergence/effective-model-readers.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.d.ts +5 -5
- package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.js +130 -22
- package/node_modules/@openrig/daemon/dist/domain/policies/idle-gate-qitem.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts +12 -0
- package/node_modules/@openrig/daemon/dist/domain/policies/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts +37 -2
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js +171 -16
- package/node_modules/@openrig/daemon/dist/domain/queue-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts +19 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js +33 -0
- package/node_modules/@openrig/daemon/dist/domain/queue-wake-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.js +4 -1
- package/node_modules/@openrig/daemon/dist/domain/reconciler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts +11 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js +34 -0
- package/node_modules/@openrig/daemon/dist/domain/rehydrate-eligibility.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js +32 -0
- package/node_modules/@openrig/daemon/dist/domain/restore-orchestrator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js +2 -2
- package/node_modules/@openrig/daemon/dist/domain/restore-plan-preview.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js +2 -0
- package/node_modules/@openrig/daemon/dist/domain/rigspec-exporter.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts +15 -9
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js +66 -83
- package/node_modules/@openrig/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts +5 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js +41 -2
- package/node_modules/@openrig/daemon/dist/domain/rigspec-schema.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts +32 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js +183 -4
- package/node_modules/@openrig/daemon/dist/domain/seat-attention-reconciler.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts +5 -0
- package/node_modules/@openrig/daemon/dist/domain/session-transport.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js +33 -7
- package/node_modules/@openrig/daemon/dist/domain/session-transport.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js +4 -2
- package/node_modules/@openrig/daemon/dist/domain/snapshot-capture.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts +4 -2
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js +27 -0
- package/node_modules/@openrig/daemon/dist/domain/topology-defaults-installer.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/types.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/up-command-router.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/up-command-router.js +19 -0
- package/node_modules/@openrig/daemon/dist/domain/up-command-router.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts +9 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js +15 -2
- package/node_modules/@openrig/daemon/dist/domain/watchdog-jobs-repository.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts +7 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js +47 -0
- package/node_modules/@openrig/daemon/dist/domain/watchdog-policy-engine.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/queue.js +31 -10
- package/node_modules/@openrig/daemon/dist/routes/queue.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigs.js +10 -3
- package/node_modules/@openrig/daemon/dist/routes/rigs.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigspec.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js +37 -0
- package/node_modules/@openrig/daemon/dist/routes/rigspec.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/routes/up.js +10 -3
- package/node_modules/@openrig/daemon/dist/routes/up.js.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.d.ts.map +1 -1
- package/node_modules/@openrig/daemon/dist/startup.js +16 -6
- package/node_modules/@openrig/daemon/dist/startup.js.map +1 -1
- package/node_modules/@openrig/daemon/package.json +1 -1
- package/package.json +2 -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 +4 -0
- package/tui/dist/daemon-client.js.map +1 -1
- package/tui/dist/execution/execution-model.d.ts +19 -0
- package/tui/dist/execution/execution-model.d.ts.map +1 -0
- package/tui/dist/execution/execution-model.js +518 -0
- package/tui/dist/execution/execution-model.js.map +1 -0
- package/tui/dist/hydrate.d.ts +1 -1
- package/tui/dist/hydrate.d.ts.map +1 -1
- package/tui/dist/hydrate.js +6 -2
- package/tui/dist/hydrate.js.map +1 -1
- package/tui/dist/input.d.ts +7 -0
- package/tui/dist/input.d.ts.map +1 -1
- package/tui/dist/input.js +13 -0
- package/tui/dist/input.js.map +1 -1
- package/tui/dist/live.d.ts +10 -0
- package/tui/dist/live.d.ts.map +1 -1
- package/tui/dist/live.js +34 -1
- package/tui/dist/live.js.map +1 -1
- package/tui/dist/main.js +22 -3
- package/tui/dist/main.js.map +1 -1
- package/tui/dist/render.d.ts.map +1 -1
- package/tui/dist/render.js +13 -2
- package/tui/dist/render.js.map +1 -1
- package/tui/dist/scopes/scopes-model.d.ts +1 -0
- package/tui/dist/scopes/scopes-model.d.ts.map +1 -1
- package/tui/dist/scopes/scopes-model.js +4 -2
- package/tui/dist/scopes/scopes-model.js.map +1 -1
- package/tui/dist/sections.js +2 -2
- package/tui/dist/sections.js.map +1 -1
- package/tui/dist/state.d.ts.map +1 -1
- package/tui/dist/state.js +15 -2
- package/tui/dist/state.js.map +1 -1
- package/tui/dist/stylize.js +2 -2
- package/tui/dist/stylize.js.map +1 -1
- package/tui/dist/types.d.ts +20 -0
- package/tui/dist/types.d.ts.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"AAyCA,MAAM,UAAU,gBAAgB,CAAC,KAAa,EAAE,MAAwB;IACtE,OAAO,MAAM,CAAC,IAAI,KAAK,iBAAiB;QACtC,CAAC,CAAC,0BAA0B,KAAK,EAAE;QACnC,CAAC,CAAC,wBAAwB,KAAK,EAAE,CAAC;AACtC,CAAC;AAED,MAAM,OAAO,YAAY;IACd,OAAO,CAAS;IACR,SAAS,CAAe;IAEzC,YAAY,UAA+B,EAAE;QAC3C,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,uBAAuB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7G,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,KAAK,CAAC;IAC9C,CAAC;IAED;;;+EAG2E;IAC3E,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,sBAAsB,EAAE;gBACtE,OAAO,EAAE,EAAE,MAAM,EAAE,mBAAmB,EAAE;aACzC,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;gBAAE,OAAO,IAAI,CAAC;YACnG,OAAO,GAAG,CAAC;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,sEAAsE;QACrF,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,KAAa;QAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACjF,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,IAAa;QAC7C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,KAAK,EAAE,EAAE;YAC1D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAO,MAA6B,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7H,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QACjF,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iFAAiF;IACjF,uFAAuF;IACvF,2FAA2F;IAC3F,8FAA8F;IAC9F,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAwD,CAAC;IAC/G,CAAC;IACD,oEAAoE;IACpE,kBAAkB,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,GAAG,CAAC,iCAAiC,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAgC,CAAC;IAC5G,CAAC;IACD,sEAAsE;IACtE,kBAAkB,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC,IAAI,CAAC,iCAAiC,kBAAkB,CAAC,EAAE,CAAC,SAAS,EAAE,EAAE,CAGnF,CAAC;IACL,CAAC;IAED,mCAAmC;IACnC,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,EAAE;QACA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC7B,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,QAAQ,CAAC,KAAa;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,kBAAkB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IACD,YAAY,CAAC,QAAyB,KAAK;QACzC,OAAO,IAAI,CAAC,GAAG,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,6BAA6B;IAC7B,YAAY,CAAC,IAAa;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,qBAAqB,IAAI,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,CAAC,KAAa;QACnB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,kBAAkB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACtE,CAAC;IACD;6EACyE;IACzE,iBAAiB,CAAC,EAAU;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,kBAAkB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,iFAAiF;IACjF,iEAAiE;IACjE,cAAc;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IACD;;;gEAG4D;IAC5D,YAAY;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD;;;4DAGwD;IACxD,eAAe;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IACD;;;;4DAIwD;IACxD,YAAY,CAAC,KAAK,GAAG,EAAE;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;IAClE,CAAC;IACD;;;;wFAIoF;IACpF,qBAAqB,CAAC,KAAK,GAAG,EAAE;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,+CAA+C,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD;;;yDAGqD;IACrD,SAAS,CAAC,OAAe;QACvB,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/D,CAAC;IACD,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,kBAAkB;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,aAAa,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,sEAAsE;IACtE,kFAAkF;IAClF,UAAU,CAAC,KAAK,GAAG,GAAG,EAAE,YAAqB;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,kBAAkB,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/H,CAAC;IACD,kFAAkF;IAClF,YAAY,CAAC,KAAK,GAAG,CAAC;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,0BAA0B,KAAK,mBAAmB,CAAC,CAAC;IACtE,CAAC;IAED,+EAA+E;IAC/E,0EAA0E;IAC1E,KAAK,CAAC,YAAY,CAAC,IAAY;QAC7B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAuB,CAAC;QACvF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC,CAAC;QAC/F,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,yCAAyC;IACzC,KAAK,CAAC,UAAU,CAAC,KAAa,EAAE,SAAiB;QAC/C,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,kBAAkB,CAAC,KAAK,CAAC,UAAU,kBAAkB,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,CAAqB,CAAC;IAC3I,CAAC;CACF"}
|
|
1
|
+
{"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../src/daemon-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type ContentLine } from "../detail.js";
|
|
2
|
+
import type { MissionScopesSnap } from "../scopes/scopes-model.js";
|
|
3
|
+
export interface ExecutionViewSnap {
|
|
4
|
+
view: "execution";
|
|
5
|
+
mission: string;
|
|
6
|
+
derived_at?: string;
|
|
7
|
+
sources: Record<string, unknown>;
|
|
8
|
+
q1_lanes: Array<Record<string, unknown>>;
|
|
9
|
+
q2_sequencing: Array<Record<string, unknown>>;
|
|
10
|
+
q3_care?: Array<Record<string, unknown>>;
|
|
11
|
+
q4_ladder: Array<Record<string, unknown>>;
|
|
12
|
+
q5_park: Array<Record<string, unknown>>;
|
|
13
|
+
q6_parallelism?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export declare function executionContentLines(execution: ExecutionViewSnap | null | undefined, scopes: readonly MissionScopesSnap[] | undefined, readErrors: readonly string[], opened: string | null, width?: number, pending?: boolean): ContentLine[];
|
|
16
|
+
/** Compact source-grounded execution strip embedded in the existing rich SCOPES
|
|
17
|
+
* slice detail. Missing projection/slice data stays explicit instead of being inferred. */
|
|
18
|
+
export declare function executionSliceStripLines(execution: ExecutionViewSnap | null | undefined, sliceId: string, sliceDir: string, width?: number, declared?: string | null): ContentLine[];
|
|
19
|
+
//# sourceMappingURL=execution-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-model.d.ts","sourceRoot":"","sources":["../../src/execution/execution-model.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAqC,KAAK,WAAW,EAAgB,MAAM,cAAc,CAAC;AACjG,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,2BAA2B,CAAC;AAEnF,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,aAAa,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACzC,SAAS,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC1C;AAgfD,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAC/C,MAAM,EAAE,SAAS,iBAAiB,EAAE,GAAG,SAAS,EAChD,UAAU,EAAE,SAAS,MAAM,EAAE,EAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,KAAK,SAAK,EACV,OAAO,UAAQ,GACd,WAAW,EAAE,CAyBf;AAED;2FAC2F;AAC3F,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EAC/C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,EACV,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,GACvB,WAAW,EAAE,CAsBf"}
|
|
@@ -0,0 +1,518 @@
|
|
|
1
|
+
import { detailPage, listItem, sectionRule } from "../detail.js";
|
|
2
|
+
const MAX_ROWS_PER_WAVE = 5;
|
|
3
|
+
const INDETERMINATE = "INDETERMINATE";
|
|
4
|
+
const RUNGS = ["locked", "built", "reviewed", "folded", "adopted"];
|
|
5
|
+
/** Ordinary words for the ladder rungs. */
|
|
6
|
+
const RUNG_WORD = { locked: "spec locked", built: "built", reviewed: "reviewed", folded: "merged", adopted: "live" };
|
|
7
|
+
function record(value) {
|
|
8
|
+
return value != null && typeof value === "object" && !Array.isArray(value)
|
|
9
|
+
? value
|
|
10
|
+
: {};
|
|
11
|
+
}
|
|
12
|
+
function str(value, fallback = "?") {
|
|
13
|
+
return typeof value === "string" && value !== "" ? value : value == null ? fallback : String(value);
|
|
14
|
+
}
|
|
15
|
+
function shortSha(value) {
|
|
16
|
+
return typeof value === "string" ? value.slice(0, 9) : "?";
|
|
17
|
+
}
|
|
18
|
+
function clock(iso) {
|
|
19
|
+
return typeof iso === "string" && iso.length >= 19 ? `${iso.slice(11, 19)}Z` : "";
|
|
20
|
+
}
|
|
21
|
+
function clip(text, room) {
|
|
22
|
+
return text.length > room ? `${text.slice(0, Math.max(room - 1, 0))}…` : text;
|
|
23
|
+
}
|
|
24
|
+
function open(key) {
|
|
25
|
+
return { type: "execution-open", key };
|
|
26
|
+
}
|
|
27
|
+
/** A drillable row. The text is clamped so the open affordance always survives the pane
|
|
28
|
+
* width; the full facts live one drill away. */
|
|
29
|
+
function actionRow(text, action, width = Number.MAX_SAFE_INTEGER) {
|
|
30
|
+
return { text: ` ${clip(text, Math.max(width - 13, 24))} (open ▸)`, action };
|
|
31
|
+
}
|
|
32
|
+
function row(text, key, width = Number.MAX_SAFE_INTEGER) {
|
|
33
|
+
return actionRow(text, open(key), width);
|
|
34
|
+
}
|
|
35
|
+
function rungCell(ladder, rung) {
|
|
36
|
+
const cell = record(ladder[rung]);
|
|
37
|
+
const basis = str(cell["basis"], "basis unavailable");
|
|
38
|
+
if (rung === "built") {
|
|
39
|
+
const sha = cell["candidate_sha"];
|
|
40
|
+
return { value: sha, basis, state: typeof sha === "string" && sha !== INDETERMINATE ? "yes" : "undetermined" };
|
|
41
|
+
}
|
|
42
|
+
const value = cell["value"];
|
|
43
|
+
return { value, basis, state: value === true ? "yes" : value === false ? "no" : "undetermined" };
|
|
44
|
+
}
|
|
45
|
+
/** Highest rung actually confirmed (true / built sha), 0 = nothing confirmed. */
|
|
46
|
+
function reachedRank(cells) {
|
|
47
|
+
for (let i = RUNGS.length - 1; i >= 0; i--)
|
|
48
|
+
if (cells[RUNGS[i]].state === "yes")
|
|
49
|
+
return i + 1;
|
|
50
|
+
return 0;
|
|
51
|
+
}
|
|
52
|
+
/** The evidence fact in words: the highest confirmed rung, or the reason nothing is. */
|
|
53
|
+
function evidenceText(cells, rank) {
|
|
54
|
+
if (rank === 0)
|
|
55
|
+
return cells.built.state === "undetermined" ? "no candidate recorded" : "nothing confirmed";
|
|
56
|
+
const rung = RUNGS[rank - 1];
|
|
57
|
+
return rung === "built" ? `built ${shortSha(cells.built.value)}` : RUNG_WORD[rung];
|
|
58
|
+
}
|
|
59
|
+
function sliceName(scope, dir) {
|
|
60
|
+
const raw = scope?.displayName ?? dir;
|
|
61
|
+
// the id column already says which slice; "Slice 04 — " in front of the name is noise
|
|
62
|
+
return raw.replace(/^slice\s+\d+\s*[—–-]\s*/i, "").trim() || dir;
|
|
63
|
+
}
|
|
64
|
+
function sliceFacts(execution, scopes) {
|
|
65
|
+
const missionScopes = scopes?.find((item) => item.mission === execution.mission);
|
|
66
|
+
const seq = execution.q2_sequencing ?? [];
|
|
67
|
+
const care = execution.q3_care ?? [];
|
|
68
|
+
const lanes = execution.q1_lanes ?? [];
|
|
69
|
+
const parks = execution.q5_park ?? [];
|
|
70
|
+
return (execution.q4_ladder ?? []).map((ladder, index) => {
|
|
71
|
+
const id = str(ladder["slice_id"] ?? ladder["dir"]);
|
|
72
|
+
const dir = str(ladder["dir"], id);
|
|
73
|
+
const cells = Object.fromEntries(RUNGS.map((rung) => [rung, rungCell(ladder, rung)]));
|
|
74
|
+
const seqIndex = seq.findIndex((item) => item["slice_id"] === id || item["dir"] === dir);
|
|
75
|
+
const scope = missionScopes?.slices.find((slice) => slice.id === id || slice.dirName === dir) ?? null;
|
|
76
|
+
const lane = lanes.find((candidate) => candidate["slice"] === id) ?? null;
|
|
77
|
+
return {
|
|
78
|
+
id,
|
|
79
|
+
dir,
|
|
80
|
+
name: sliceName(scope, dir),
|
|
81
|
+
order: seqIndex >= 0 ? seqIndex : seq.length + index,
|
|
82
|
+
ladder,
|
|
83
|
+
cells,
|
|
84
|
+
rank: reachedRank(cells),
|
|
85
|
+
sequencing: seqIndex >= 0 ? seq[seqIndex] : null,
|
|
86
|
+
care: care.find((item) => item["slice_id"] === id) ?? null,
|
|
87
|
+
scope,
|
|
88
|
+
lane,
|
|
89
|
+
park: lane ? parks.find((item) => item["qitem_id"] === lane["qitem_id"]) ?? null : null,
|
|
90
|
+
};
|
|
91
|
+
}).sort((a, b) => a.order - b.order);
|
|
92
|
+
}
|
|
93
|
+
/** blocked_on_rows entries are `{ qitem_id, blocked_on }` — the slice's own row and the row it
|
|
94
|
+
* waits on. Render the relation, never the object. */
|
|
95
|
+
function blockerText(rows, lead = "row") {
|
|
96
|
+
if (!Array.isArray(rows) || rows.length === 0)
|
|
97
|
+
return "";
|
|
98
|
+
return rows
|
|
99
|
+
.map((entry) => {
|
|
100
|
+
if (typeof entry === "string")
|
|
101
|
+
return entry;
|
|
102
|
+
const r = record(entry);
|
|
103
|
+
const own = str(r["qitem_id"], "?");
|
|
104
|
+
const blocker = str(r["blocked_on"], "?");
|
|
105
|
+
return lead === "blocker" ? `waits on ${blocker} · own row ${own}` : `${own} waits on ${blocker}`;
|
|
106
|
+
})
|
|
107
|
+
.join("; ");
|
|
108
|
+
}
|
|
109
|
+
/** Declared work state — the slice file's own status word, verbatim. */
|
|
110
|
+
function declaredText(slice) {
|
|
111
|
+
return slice.scope?.status?.trim().toLowerCase() || "no declared status";
|
|
112
|
+
}
|
|
113
|
+
function seatShort(seat) {
|
|
114
|
+
const full = str(seat, "");
|
|
115
|
+
return full.includes("@") ? full.slice(0, full.indexOf("@")) : full;
|
|
116
|
+
}
|
|
117
|
+
/** A live problem on the slice, in words, or null. Elapsed time alone is never a verdict. */
|
|
118
|
+
function problemText(slice) {
|
|
119
|
+
const activity = record(slice.lane?.["activity"]);
|
|
120
|
+
const needs = record(activity["needs_input"]);
|
|
121
|
+
if (Number(needs["count"] ?? 0) > 0)
|
|
122
|
+
return `needs input: ${str(needs["reason"], String(needs["count"]))}`;
|
|
123
|
+
const blocked = blockerText(slice.sequencing?.["blocked_on_rows"], "blocker");
|
|
124
|
+
if (blocked)
|
|
125
|
+
return blocked.split(" · own row ")[0];
|
|
126
|
+
const pickup = slice.park?.["pickup_state"];
|
|
127
|
+
if (slice.park && pickup !== "working") {
|
|
128
|
+
const age = slice.park["age_minutes"] != null ? ` ${String(slice.park["age_minutes"])} min` : "";
|
|
129
|
+
return `${str(pickup, INDETERMINATE)}${age}`;
|
|
130
|
+
}
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
/** The one state word a person scans: a live problem, live activity, else the declared status. */
|
|
134
|
+
function stateWord(slice) {
|
|
135
|
+
const problem = problemText(slice);
|
|
136
|
+
if (problem)
|
|
137
|
+
return problem.startsWith("needs input") ? "needs input" : problem.startsWith("waits on") ? "blocked" : problem.split(" ")[0];
|
|
138
|
+
if (slice.lane)
|
|
139
|
+
return str(record(slice.lane["activity"])["activity"], "claimed");
|
|
140
|
+
return declaredText(slice);
|
|
141
|
+
}
|
|
142
|
+
function proofText(scope) {
|
|
143
|
+
if (!scope)
|
|
144
|
+
return null;
|
|
145
|
+
if (scope.proof.total === 0)
|
|
146
|
+
return "no proof contract";
|
|
147
|
+
return `proof ${scope.proof.paired} of ${scope.proof.total}`;
|
|
148
|
+
}
|
|
149
|
+
function assigneeText(slice) {
|
|
150
|
+
if (!slice.lane)
|
|
151
|
+
return null;
|
|
152
|
+
const activity = record(slice.lane["activity"]);
|
|
153
|
+
const by = str(activity["decided_by"], "");
|
|
154
|
+
return `${seatShort(slice.lane["seat"])}${by ? ` (${by})` : ""}`;
|
|
155
|
+
}
|
|
156
|
+
/** What unlocks next, only when the projection actually says so. */
|
|
157
|
+
function nextText(slice) {
|
|
158
|
+
const seq = slice.sequencing;
|
|
159
|
+
if (!seq)
|
|
160
|
+
return null;
|
|
161
|
+
if (seq["next_up"] === true)
|
|
162
|
+
return "ready to start";
|
|
163
|
+
if (blockerText(seq["blocked_on_rows"]))
|
|
164
|
+
return null; // the problem column carries it
|
|
165
|
+
if (slice.lane || slice.rank >= 4 || declaredText(slice) === "done")
|
|
166
|
+
return null;
|
|
167
|
+
const deps = seq["depends_on"];
|
|
168
|
+
if (Array.isArray(deps) && deps.length > 0)
|
|
169
|
+
return `after ${deps.map(String).join(", ")}`;
|
|
170
|
+
return null;
|
|
171
|
+
}
|
|
172
|
+
function waveOf(slice) {
|
|
173
|
+
const wave = slice.care?.["build_wave"];
|
|
174
|
+
return typeof wave === "string" && wave !== INDETERMINATE ? wave : "no wave declared";
|
|
175
|
+
}
|
|
176
|
+
// ---- rows ----------------------------------------------------------------------
|
|
177
|
+
function sliceAction(execution, slice) {
|
|
178
|
+
return slice.scope
|
|
179
|
+
? { type: "scopes-open", mission: execution.mission, slice: slice.scope.dirName }
|
|
180
|
+
: open(`slice:${slice.id}`);
|
|
181
|
+
}
|
|
182
|
+
function sliceRow(execution, slice, width, stateWidth, idWidth) {
|
|
183
|
+
// facts in priority order; a narrow pane drops from the END (proof, evidence, next…) and
|
|
184
|
+
// the assignee's decider before it ever clips a fact mid-word
|
|
185
|
+
const facts = [
|
|
186
|
+
assigneeText(slice),
|
|
187
|
+
problemText(slice),
|
|
188
|
+
slice.lane ? null : nextText(slice),
|
|
189
|
+
evidenceText(slice.cells, slice.rank),
|
|
190
|
+
proofText(slice.scope),
|
|
191
|
+
].filter((fact) => !!fact);
|
|
192
|
+
const prefix = `${stateWord(slice).padEnd(stateWidth)} ${slice.id.padEnd(idWidth)} `;
|
|
193
|
+
const budget = Math.max(width - 13, 24) - prefix.length;
|
|
194
|
+
let shown = facts;
|
|
195
|
+
while (shown.join(" · ").length > budget && shown.length > 1) {
|
|
196
|
+
const decider = shown.findIndex((fact) => / \(.+\)$/.test(fact) && fact === assigneeText(slice));
|
|
197
|
+
shown = decider >= 0 ? shown.map((fact, i) => (i === decider ? fact.replace(/ \(.+\)$/, "") : fact)) : shown.slice(0, -1);
|
|
198
|
+
}
|
|
199
|
+
const factsText = shown.join(" · ");
|
|
200
|
+
const room = budget - factsText.length - 3;
|
|
201
|
+
// the name gets whatever room the facts leave; below twelve cells it is dropped, not stubbed
|
|
202
|
+
const name = room >= 12 ? `${clip(slice.name, room)} · ` : "";
|
|
203
|
+
return actionRow(`${prefix}${name}${factsText}`, sliceAction(execution, slice), width);
|
|
204
|
+
}
|
|
205
|
+
function countWords(slices) {
|
|
206
|
+
const counts = new Map();
|
|
207
|
+
for (const slice of slices)
|
|
208
|
+
counts.set(stateWord(slice), (counts.get(stateWord(slice)) ?? 0) + 1);
|
|
209
|
+
return [...counts.entries()].sort((a, b) => b[1] - a[1]).map(([word, n]) => `${n} ${word}`).join(", ");
|
|
210
|
+
}
|
|
211
|
+
function waveTitle(wave, members) {
|
|
212
|
+
return `wave ${wave} · ${members.length} slice${members.length === 1 ? "" : "s"} · ${countWords(members)}`;
|
|
213
|
+
}
|
|
214
|
+
function waveRows(execution, wave, members, width, stateWidth, idWidth, capped) {
|
|
215
|
+
const shown = capped ? members.slice(0, MAX_ROWS_PER_WAVE) : members;
|
|
216
|
+
const overflow = members.length - shown.length;
|
|
217
|
+
return [
|
|
218
|
+
{ text: "" },
|
|
219
|
+
sectionRule(waveTitle(wave, members), width),
|
|
220
|
+
...shown.map((slice) => sliceRow(execution, slice, width, stateWidth, idWidth)),
|
|
221
|
+
...(overflow > 0 ? [row(`+${overflow} more — open all ${members.length} rows in wave ${wave}`, `group:wave:${wave}`, width)] : []),
|
|
222
|
+
];
|
|
223
|
+
}
|
|
224
|
+
function collectIndeterminate(execution, slices) {
|
|
225
|
+
const groups = new Map();
|
|
226
|
+
const add = (where, member, basis) => {
|
|
227
|
+
if (typeof basis !== "string")
|
|
228
|
+
return;
|
|
229
|
+
const key = `${where}|${basis}`;
|
|
230
|
+
const existing = groups.get(key) ?? { basis, where, members: [] };
|
|
231
|
+
if (!existing.members.includes(member))
|
|
232
|
+
existing.members.push(member);
|
|
233
|
+
groups.set(key, existing);
|
|
234
|
+
};
|
|
235
|
+
// Only the FIRST undetermined rung is a blind spot; every rung above it is undetermined
|
|
236
|
+
// as a consequence and would repeat the same fact.
|
|
237
|
+
for (const slice of slices) {
|
|
238
|
+
const first = RUNGS.find((rung) => slice.cells[rung].state === "undetermined");
|
|
239
|
+
if (first)
|
|
240
|
+
add(RUNG_WORD[first], slice.id, slice.cells[first].basis);
|
|
241
|
+
}
|
|
242
|
+
for (const lane of execution.q1_lanes ?? []) {
|
|
243
|
+
const activity = record(lane["activity"]);
|
|
244
|
+
if (activity["activity"] === INDETERMINATE)
|
|
245
|
+
add("activity", str(lane["slice"] ?? lane["qitem_id"], "lane"), activity["basis"]);
|
|
246
|
+
}
|
|
247
|
+
return [...groups.values()].sort((a, b) => b.members.length - a.members.length);
|
|
248
|
+
}
|
|
249
|
+
/** The mission-level gap, stated once as two short lines (the first is the drill), or
|
|
250
|
+
* nothing when every rung is determined for every slice. */
|
|
251
|
+
function evidenceGapLines(execution, slices, width) {
|
|
252
|
+
const undetermined = slices.filter((slice) => RUNGS.some((rung) => slice.cells[rung].state === "undetermined"));
|
|
253
|
+
if (undetermined.length === 0)
|
|
254
|
+
return [];
|
|
255
|
+
const gitBasis = str(record(execution.sources?.["git"])["basis"], "");
|
|
256
|
+
const noRepo = /no reachable repo|no repo/i.test(gitBasis);
|
|
257
|
+
const cause = noRepo ? "no repository reachable" : gitBasis || "evidence sources missing";
|
|
258
|
+
return [
|
|
259
|
+
row(`evidence gap — ${cause}; declared state shown`, "evidence", width),
|
|
260
|
+
{ text: ` evidence unconfirmed for ${undetermined.length} of ${slices.length} slices (unknown, not waiting)` },
|
|
261
|
+
];
|
|
262
|
+
}
|
|
263
|
+
function evidenceDetail(execution, slices, width) {
|
|
264
|
+
const gitBasis = str(record(execution.sources?.["git"])["basis"], "(no git source cell)");
|
|
265
|
+
const lines = [
|
|
266
|
+
{ text: `${execution.mission} · evidence gap · derived ${clock(execution.derived_at) || "?"}` },
|
|
267
|
+
{ text: "" },
|
|
268
|
+
{ text: " Declared state comes from each slice file. Evidence rungs come from the daemon's" },
|
|
269
|
+
{ text: " execution projection, which needs a reachable repository to confirm reviewed, merged" },
|
|
270
|
+
{ text: " and live. Unconfirmed is not waiting work and not done; it is unknown." },
|
|
271
|
+
{ text: "" },
|
|
272
|
+
sectionRule("repository source", width),
|
|
273
|
+
{ text: ` git: ${gitBasis}` },
|
|
274
|
+
];
|
|
275
|
+
for (const item of collectIndeterminate(execution, slices)) {
|
|
276
|
+
lines.push({ text: "" }, sectionRule(`${item.where} unconfirmed for ${item.members.length} slice${item.members.length === 1 ? "" : "s"}`, width));
|
|
277
|
+
lines.push({ text: ` basis: ${item.basis}` });
|
|
278
|
+
for (const member of item.members)
|
|
279
|
+
lines.push(listItem(member, open(`slice:${member}`)));
|
|
280
|
+
}
|
|
281
|
+
lines.push({ text: "" }, row("projection sources and derivation bases", "sources", width), { text: "" }, back());
|
|
282
|
+
return lines;
|
|
283
|
+
}
|
|
284
|
+
// ---- overview ----------------------------------------------------------------------
|
|
285
|
+
function overviewLines(execution, scopes, width) {
|
|
286
|
+
const slices = sliceFacts(execution, scopes);
|
|
287
|
+
const declared = new Map();
|
|
288
|
+
for (const slice of slices)
|
|
289
|
+
declared.set(declaredText(slice), (declared.get(declaredText(slice)) ?? 0) + 1);
|
|
290
|
+
const declaredText_ = [...declared.entries()].sort((a, b) => b[1] - a[1]).map(([word, n]) => `${n} ${word}`).join(", ");
|
|
291
|
+
const live = slices.filter((slice) => stateWord(slice) === "working").length;
|
|
292
|
+
const problems = slices.filter((slice) => problemText(slice)).length;
|
|
293
|
+
const build = shortSha(record(execution.sources?.["build_info"])["commit"]);
|
|
294
|
+
const lines = [
|
|
295
|
+
{ text: ` ${execution.mission} EXECUTION · ${slices.length} slice${slices.length === 1 ? "" : "s"}` },
|
|
296
|
+
{ text: ` declared in slice files: ${declaredText_ || "none"} · live now: ${live} working${problems ? `, ${problems} with a problem` : ""}` },
|
|
297
|
+
row(`sources · derived ${clock(execution.derived_at) || "?"} · daemon build ${build}`, "sources", width),
|
|
298
|
+
...evidenceGapLines(execution, slices, width),
|
|
299
|
+
];
|
|
300
|
+
const waves = new Map();
|
|
301
|
+
for (const slice of slices)
|
|
302
|
+
waves.set(waveOf(slice), [...(waves.get(waveOf(slice)) ?? []), slice]);
|
|
303
|
+
const stateWidth = Math.max(...slices.map((slice) => stateWord(slice).length), 4);
|
|
304
|
+
const idWidth = Math.max(...slices.map((slice) => slice.id.length), 1);
|
|
305
|
+
for (const [wave, members] of waves)
|
|
306
|
+
lines.push(...waveRows(execution, wave, members, width, stateWidth, idWidth, true));
|
|
307
|
+
if (slices.length === 0)
|
|
308
|
+
lines.push({ text: " (no slices on this mission)" });
|
|
309
|
+
return lines;
|
|
310
|
+
}
|
|
311
|
+
function waveDetail(execution, scopes, width, key) {
|
|
312
|
+
const wave = key.slice("group:wave:".length);
|
|
313
|
+
const slices = sliceFacts(execution, scopes);
|
|
314
|
+
const members = slices.filter((slice) => waveOf(slice) === wave);
|
|
315
|
+
if (members.length === 0)
|
|
316
|
+
return null;
|
|
317
|
+
const stateWidth = Math.max(...members.map((slice) => stateWord(slice).length), 4);
|
|
318
|
+
const idWidth = Math.max(...members.map((slice) => slice.id.length), 1);
|
|
319
|
+
return [
|
|
320
|
+
{ text: `${execution.mission} · wave ${wave} · all ${members.length} rows` },
|
|
321
|
+
...waveRows(execution, wave, members, width, stateWidth, idWidth, false),
|
|
322
|
+
{ text: "" },
|
|
323
|
+
back(),
|
|
324
|
+
];
|
|
325
|
+
}
|
|
326
|
+
// ---- drill pages -------------------------------------------------------------
|
|
327
|
+
function back() {
|
|
328
|
+
return { text: " esc back · ⏎ open · : command bar" };
|
|
329
|
+
}
|
|
330
|
+
function laneKey(lane) {
|
|
331
|
+
return `lane:${str(lane["qitem_id"], "unknown")}`;
|
|
332
|
+
}
|
|
333
|
+
function sliceDetail(execution, slices, id) {
|
|
334
|
+
const slice = slices.find((item) => item.id === id);
|
|
335
|
+
if (!slice)
|
|
336
|
+
return null;
|
|
337
|
+
const sections = [];
|
|
338
|
+
const ladderLines = [];
|
|
339
|
+
for (const rung of RUNGS) {
|
|
340
|
+
const cell = slice.cells[rung];
|
|
341
|
+
const value = rung === "built" ? (cell.state === "yes" ? shortSha(cell.value) : "undetermined") : cell.state;
|
|
342
|
+
ladderLines.push({ text: ` ${RUNG_WORD[rung].padEnd(12)} ${value}` });
|
|
343
|
+
ladderLines.push({ text: ` basis: ${cell.basis}` });
|
|
344
|
+
}
|
|
345
|
+
const legs = record(slice.ladder["reviewed"])["legs"];
|
|
346
|
+
if (Array.isArray(legs))
|
|
347
|
+
for (const leg of legs) {
|
|
348
|
+
const l = record(leg);
|
|
349
|
+
ladderLines.push(listItem(`review leg ${str(l["verdict"], "?")} · ${str(l["artifact_type"], "?")} · ${str(l["path"])}`, undefined, 12));
|
|
350
|
+
}
|
|
351
|
+
sections.push({
|
|
352
|
+
title: `declared ${declaredText(slice)} · evidence ${evidenceText(slice.cells, slice.rank)}`,
|
|
353
|
+
lines: ladderLines,
|
|
354
|
+
});
|
|
355
|
+
const seq = slice.sequencing;
|
|
356
|
+
if (seq) {
|
|
357
|
+
const deps = Array.isArray(seq["depends_on"]) ? seq["depends_on"].map(String) : [];
|
|
358
|
+
const blocked = blockerText(seq["blocked_on_rows"]);
|
|
359
|
+
sections.push({
|
|
360
|
+
title: "sequencing",
|
|
361
|
+
fields: [
|
|
362
|
+
{ label: "depends on", value: deps.join(", ") || "(none)" },
|
|
363
|
+
{ label: "next up", value: `${str(seq["next_up"], INDETERMINATE)} — ${str(seq["next_up_basis"], "no basis given")}` },
|
|
364
|
+
{ label: "rank", value: str(seq["next_up_rank"], "—") },
|
|
365
|
+
{ label: "blocked on", value: blocked || "(no rows)" },
|
|
366
|
+
{ label: "wave", value: waveOf(slice) },
|
|
367
|
+
],
|
|
368
|
+
});
|
|
369
|
+
}
|
|
370
|
+
if (slice.scope) {
|
|
371
|
+
const drops = slice.scope.proofContract.flatMap((contract) => contract.drops.map((drop) => `${drop.artifactType ?? "?"} ${drop.verdict ?? ""} · ${drop.file}`));
|
|
372
|
+
sections.push({
|
|
373
|
+
title: `proof ${slice.scope.proof.paired} of ${slice.scope.proof.total} paired`,
|
|
374
|
+
lines: drops.length ? drops.map((drop) => listItem(drop)) : [{ text: " (no proof drops recorded)" }],
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
if (slice.lane) {
|
|
378
|
+
const activity = record(slice.lane["activity"]);
|
|
379
|
+
sections.push({
|
|
380
|
+
title: "lane",
|
|
381
|
+
fields: [
|
|
382
|
+
{ label: "seat", value: str(slice.lane["seat"]) },
|
|
383
|
+
{ label: "activity", value: `${str(activity["activity"], INDETERMINATE)} · by ${str(activity["decided_by"], "?")} ${clock(activity["changed_at"])}`.trim(), link: open(laneKey(slice.lane)) },
|
|
384
|
+
],
|
|
385
|
+
});
|
|
386
|
+
}
|
|
387
|
+
const source = record(seq?.["source"]);
|
|
388
|
+
sections.push({
|
|
389
|
+
title: "sources",
|
|
390
|
+
fields: [
|
|
391
|
+
{ label: "spec", value: str(source["spec_path"], "(not named)") },
|
|
392
|
+
{ label: "arrangement", value: str(source["arrangement_path"], "(not named)") },
|
|
393
|
+
{ label: "wave map", value: str(source["wave_map_row"], "(not named)") },
|
|
394
|
+
],
|
|
395
|
+
});
|
|
396
|
+
return [...detailPage({ text: `${slice.id} — ${slice.name}` }, sections), { text: "" }, back()];
|
|
397
|
+
}
|
|
398
|
+
function laneDetail(execution, key) {
|
|
399
|
+
const lane = (execution.q1_lanes ?? []).find((item) => laneKey(item) === key);
|
|
400
|
+
const park = (execution.q5_park ?? []).find((item) => `lane:${str(item["qitem_id"])}` === key || `park:${str(item["qitem_id"])}` === key);
|
|
401
|
+
if (!lane && !park)
|
|
402
|
+
return null;
|
|
403
|
+
const activity = record(lane?.["activity"]);
|
|
404
|
+
const needs = record(activity["needs_input"]);
|
|
405
|
+
const sections = [];
|
|
406
|
+
if (lane) {
|
|
407
|
+
sections.push({
|
|
408
|
+
title: "lane",
|
|
409
|
+
fields: [
|
|
410
|
+
{ label: "qitem", value: str(lane["qitem_id"]) },
|
|
411
|
+
{ label: "slice", value: str(lane["slice"]), link: open(`slice:${str(lane["slice"])}`) },
|
|
412
|
+
{ label: "seat", value: str(lane["seat"]) },
|
|
413
|
+
{ label: "activity", value: str(activity["activity"], INDETERMINATE) },
|
|
414
|
+
{ label: "decided by", value: str(activity["decided_by"] ?? activity["basis"], "basis unavailable") },
|
|
415
|
+
{ label: "changed", value: str(activity["changed_at"], "—") },
|
|
416
|
+
{ label: "needs input", value: Number(needs["count"] ?? 0) > 0 ? `${str(needs["count"])} · ${str(needs["reason"], "input")}` : "none" },
|
|
417
|
+
{ label: "pickup", value: str(record(lane["pickup"])["state"], INDETERMINATE) },
|
|
418
|
+
{ label: "oracle", value: str(activity["source"], "(not named)") },
|
|
419
|
+
],
|
|
420
|
+
});
|
|
421
|
+
sections.push({
|
|
422
|
+
title: `repo join${lane["fragile_join"] === true ? " · FRAGILE" : ""}`,
|
|
423
|
+
fields: [
|
|
424
|
+
{ label: "worktree", value: str(lane["worktree_path"], INDETERMINATE) },
|
|
425
|
+
{ label: "branch", value: str(lane["branch"], INDETERMINATE) },
|
|
426
|
+
{ label: "head", value: str(lane["head_sha"], INDETERMINATE) },
|
|
427
|
+
{ label: "join basis", value: str(lane["join_basis"], "(not named)") },
|
|
428
|
+
],
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
if (park) {
|
|
432
|
+
sections.push({
|
|
433
|
+
title: "pickup · park row",
|
|
434
|
+
fields: [
|
|
435
|
+
{ label: "qitem", value: str(park["qitem_id"]) },
|
|
436
|
+
{ label: "pickup", value: str(park["pickup_state"], INDETERMINATE) },
|
|
437
|
+
{ label: "kind", value: str(park["park_kind"], "indeterminate") },
|
|
438
|
+
{ label: "basis", value: str(park["park_kind_basis"], "(not named)") },
|
|
439
|
+
{ label: "wake", value: str(park["wake_target"], "none armed") },
|
|
440
|
+
{ label: "age", value: park["age_minutes"] != null ? `${String(park["age_minutes"])} min since claim` : "—" },
|
|
441
|
+
...(park["pickup_evidence"] ? [{ label: "evidence", value: str(park["pickup_evidence"]) }] : []),
|
|
442
|
+
],
|
|
443
|
+
});
|
|
444
|
+
}
|
|
445
|
+
const heading = lane ? `lane ${str(lane["slice"])} · ${str(lane["seat"])}` : `row ${str(park?.["qitem_id"])}`;
|
|
446
|
+
return [...detailPage({ text: heading }, sections), { text: "" }, back()];
|
|
447
|
+
}
|
|
448
|
+
function sourcesDetail(execution) {
|
|
449
|
+
const lines = [{ text: `sources behind ${execution.mission} · derived ${clock(execution.derived_at) || "?"}` }];
|
|
450
|
+
for (const [name, raw] of Object.entries(execution.sources ?? {})) {
|
|
451
|
+
const cell = record(raw);
|
|
452
|
+
lines.push({ text: "" });
|
|
453
|
+
lines.push(sectionRule(name));
|
|
454
|
+
for (const [field, value] of Object.entries(cell))
|
|
455
|
+
lines.push({ text: ` ${`${field}:`.padEnd(12)} ${str(value, "—")}` });
|
|
456
|
+
if (Object.keys(cell).length === 0)
|
|
457
|
+
lines.push({ text: ` ${str(raw, "—")}` });
|
|
458
|
+
}
|
|
459
|
+
lines.push({ text: "" });
|
|
460
|
+
lines.push(back());
|
|
461
|
+
return lines;
|
|
462
|
+
}
|
|
463
|
+
export function executionContentLines(execution, scopes, readErrors, opened, width = 96, pending = false) {
|
|
464
|
+
if (!execution) {
|
|
465
|
+
const failure = readErrors.find((entry) => entry.startsWith("execution:"));
|
|
466
|
+
// three different truths, never one message: the read failed (named), the read has
|
|
467
|
+
// not answered yet (pending), or it answered with no execution row at all.
|
|
468
|
+
if (failure)
|
|
469
|
+
return [sectionRule("ATTENTION 1", width), { text: ` execution projection unavailable — ${failure}` }];
|
|
470
|
+
if (pending)
|
|
471
|
+
return [{ text: " execution projection: read pending — the first daemon read has not answered yet (honest-empty, not fabricated)" }];
|
|
472
|
+
return [sectionRule("ATTENTION 1", width), { text: " execution projection served no row — no active mission resolved on the daemon" }];
|
|
473
|
+
}
|
|
474
|
+
if (opened) {
|
|
475
|
+
const slices = sliceFacts(execution, scopes);
|
|
476
|
+
const page = opened === "sources"
|
|
477
|
+
? sourcesDetail(execution)
|
|
478
|
+
: opened === "evidence"
|
|
479
|
+
? evidenceDetail(execution, slices, width)
|
|
480
|
+
: opened.startsWith("group:wave:")
|
|
481
|
+
? waveDetail(execution, scopes, width, opened)
|
|
482
|
+
: opened.startsWith("slice:")
|
|
483
|
+
? sliceDetail(execution, slices, opened.slice("slice:".length))
|
|
484
|
+
: opened.startsWith("lane:") || opened.startsWith("park:")
|
|
485
|
+
? laneDetail(execution, opened)
|
|
486
|
+
: null;
|
|
487
|
+
return page ?? [{ text: ` ${opened} is not in the current snapshot (it may have closed or been re-derived)` }, { text: "" }, back()];
|
|
488
|
+
}
|
|
489
|
+
return overviewLines(execution, scopes, width);
|
|
490
|
+
}
|
|
491
|
+
/** Compact source-grounded execution strip embedded in the existing rich SCOPES
|
|
492
|
+
* slice detail. Missing projection/slice data stays explicit instead of being inferred. */
|
|
493
|
+
export function executionSliceStripLines(execution, sliceId, sliceDir, width = 96, declared) {
|
|
494
|
+
if (!execution)
|
|
495
|
+
return [{ text: "" }, sectionRule("EXECUTION · not loaded", width), { text: " mission execution projection not loaded for this selection" }];
|
|
496
|
+
const slice = sliceFacts(execution, undefined).find((item) => item.id === sliceId || item.dir === sliceDir);
|
|
497
|
+
if (!slice)
|
|
498
|
+
return [{ text: "" }, sectionRule("EXECUTION · not in projection", width), { text: " slice absent from the mission execution projection" }];
|
|
499
|
+
const activity = record(slice.lane?.["activity"]);
|
|
500
|
+
const problem = problemText(slice);
|
|
501
|
+
const unconfirmed = RUNGS.filter((rung) => slice.cells[rung].state === "undetermined").map((rung) => RUNG_WORD[rung]);
|
|
502
|
+
const evidence = `${evidenceText(slice.cells, slice.rank)}${unconfirmed.length ? ` · ${unconfirmed.join(" / ")} unconfirmed (${slice.cells[RUNGS.find((rung) => slice.cells[rung].state === "undetermined")].basis})` : ""}`;
|
|
503
|
+
const liveWord = slice.lane ? str(activity["activity"], "claimed") : "no claimed lane";
|
|
504
|
+
const declaredWord = declared?.trim().toLowerCase() || "no declared status";
|
|
505
|
+
const next = declaredWord === "done" && !slice.lane
|
|
506
|
+
? "none — declared done"
|
|
507
|
+
: nextText(slice) ?? (slice.lane ? "in progress on the lane above" : "nothing the projection can sequence");
|
|
508
|
+
return [
|
|
509
|
+
{ text: "" },
|
|
510
|
+
sectionRule(`EXECUTION · ${problem ? stateWord(slice) : liveWord} · wave ${waveOf(slice)}`, width),
|
|
511
|
+
{ text: ` declared ${declaredWord} (slice file)` },
|
|
512
|
+
actionRow(`evidence ${evidence}`, open("evidence"), width),
|
|
513
|
+
{ text: ` assignment ${slice.lane ? `${str(slice.lane["seat"])} · ${str(activity["activity"], INDETERMINATE)} (${str(activity["decided_by"], "?")})` : "none — no claimed lane"}`, ...(slice.lane ? { action: open(laneKey(slice.lane)) } : {}) },
|
|
514
|
+
{ text: ` next ${next}` },
|
|
515
|
+
{ text: ` problem ${problem ?? "none on the projection's current surfaces"}` },
|
|
516
|
+
];
|
|
517
|
+
}
|
|
518
|
+
//# sourceMappingURL=execution-model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execution-model.js","sourceRoot":"","sources":["../../src/execution/execution-model.ts"],"names":[],"mappings":"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"}
|
package/tui/dist/hydrate.d.ts
CHANGED
|
@@ -73,6 +73,6 @@ type SpecLibraryReviewRead = AgentSpecReviewRead | RigSpecReviewRead;
|
|
|
73
73
|
* avoids re-reading every spec every refresh; the key rolls when the library
|
|
74
74
|
* entry's updatedAt changes. Owned by the caller (instance-scoped, no module state). */
|
|
75
75
|
export type SpecReviewCache = Map<string, SpecLibraryReviewRead>;
|
|
76
|
-
export declare function hydrateSnapshot(client: DaemonClient, reviewCache?: SpecReviewCache): Promise<FleetSnapshot>;
|
|
76
|
+
export declare function hydrateSnapshot(client: DaemonClient, reviewCache?: SpecReviewCache, executionMission?: string | null): Promise<FleetSnapshot>;
|
|
77
77
|
export {};
|
|
78
78
|
//# sourceMappingURL=hydrate.d.ts.map
|