One-dispatch runtime closeout — dispatches to node_runtime_closeout_orchestrator (canonical ORCHESTRATOR; preflight + fresh-deploy fitness gate + deploy reuse + runtime proof matrix over the bus, terminal ModelCloseoutReceipt)
Resources
1Install
npx skillscat add omninode-ai/omniclaude/plugins-onex-skills-runtime-closeout Install via the SkillsCat registry.
Runtime Closeout
Announce at start: "I'm using the runtime-closeout skill."
Skill ID: onex:runtime_closeout
Version: 1.0.0
Owner: omniclaude
Epic:
Usage
/runtime-closeout
/runtime-closeout --lane dev
/runtime-closeout --lane stability --proof-set full
/runtime-closeout --lane prod --promote # prod stays operator-gatedExecution
Dispatch to node_runtime_closeout_orchestrator — the canonical ORCHESTRATOR
that owns the closeout phase sequencing and dispatches every phase OVER THE BUS.
The shim performs a single dispatch and surfaces the node's terminalModelCloseoutReceipt. All phase orchestration lives in the node handlers, not
in this shim.
onex run-node node_runtime_closeout_orchestrator \
--input '{"correlation_id": null, "runtime_lane": "dev", "proof_set": "required", "promote": false}' \
--timeout 900--lane stability maps to runtime_lane: "stability-test"; --lane prod maps
to runtime_lane: "prod".
On non-zero exit, a SkillRoutingError JSON envelope is returned — surface it
directly; do not produce prose.
Phases (bus-native FSM)
The orchestrator walks these phases by consuming each phase's completion fact off
the bus — it never runs an in-process loop:
- PREFLIGHT — read-only identity / broker / projection / migration /
rollback inspection. Never mutates the lane. A failing preflight completesBLOCKEDbefore any deploy. - FITNESS_GATE — the fresh-deploy fitness gate ( sibling). A
drifted artifact is rejectedBLOCKEDbefore any lane mutation. - DEPLOY — reuses
node_redeploy_orchestrator(theredeploy-start
command). Prod promotion stays operator-gated by the redeploy orchestrator's
own prod-promotion gate — this skill never relaxes it. - PROOF_MATRIX — reuses
node_golden_chain_sweep+node_integration_sweep.
Cells (delegation / sea / gate_zero / context / savings / cross_feature) are
classifiedrequired|stretch|research; each is proven with a fresh
CID → typed terminal → projection readback.--proof-set requiredproves only
the required cells;--proof-set fullproves the whole matrix. - RECEIPT — the terminal
closeout-completedevent carriesModelCloseoutReceipt: SHA / image table, migration ledger, per-cell
verdicts, rollback plan, residual risk, and the rolled-up recommendation
(customer_beta|internal_integration|hold).
Architecture
SKILL.md -> thin dispatch shim (this file)
orchestrator -> omnimarket/src/omnimarket/nodes/node_runtime_closeout_orchestrator/ (ORCHESTRATOR; dispatches over the bus)
deploy -> omnimarket/src/omnimarket/nodes/node_redeploy_orchestrator/ (REUSED for the deploy phase)
proof-matrix -> omnimarket/src/omnimarket/nodes/node_golden_chain_sweep/ (REUSED for runtime proof)
-> omnimarket/src/omnimarket/nodes/node_integration_sweep_orchestrator/ (REUSED for runtime proof)
receipt -> omnimarket/src/omnimarket/events/runtime_closeout.py::ModelCloseoutReceiptAnti-Patterns
- Never run
deploy-runtime.sh,docker compose up, or any direct Docker / SSH
command from the operator session. The deploy phase dispatches tonode_redeploy_orchestrator, which owns SSH-to-runtime, Infisical seeding, and
health verification. - Never relax the prod-promotion gate.
--promote --lane prodstill routes the
deploy throughnode_redeploy_orchestrator's prod-promotion gate, which
requires a fresh operator-approved grant. An agent cannot self-promote prod.
If the dispatched node is unavailable, surface the SkillRoutingError and stop.
Do NOT fall through to inline deploy execution.