/onex:dispatch_engine — Dispatch Engine Shim
Skill ID: onex:dispatch_engine
Version: 2.0.0
Owner: omniclaude
Backing node: node_skill_dispatch_engine_orchestrator
Announce at start: "I'm using the dispatch_engine skill to poll the work backlog and dispatch builders for gaps."
Changelog
- 2.0.0 — Breaking dispatch contract change. The shim now builds a
ModelSkillRequestpayload and invokes the manifest-canonicaluv run onex run-node node_skill_dispatch_engine_orchestratorpath. No inline placeholder logic remains in the skill surface. - 1.0.0 — Scaffold only. Returned a
"dispatched"placeholder.
What this skill does
Dispatches through onex run-node node_skill_dispatch_engine_orchestrator. The node owns
backlog polling, gap detection, and builder fan-out. This shim contains no orchestration
logic, no inline placeholder returns, and no direct Kafka publish.
Wire Schema
Contract target:
node_skill_dispatch_engine_orchestrator
Command topic:
onex.cmd.omnimarket.dispatch_engine.v1
Dispatch declaration for deterministic routing gates:
plugins/onex/skills/dispatch_engine/run.sh invokes
uv run onex run-node node_skill_dispatch_engine_orchestrator --input <envelope>
through the manifest-canonical runtime path.
Event type alias:
omnimarket.dispatch_engine
Terminal events:
- Success:
onex.evt.omnimarket.dispatch_engine-completed.v1 - Failure:
onex.evt.omnimarket.dispatch_engine-failed.v1
Envelope shape:
{
"event_type": "omnimarket.dispatch_engine",
"correlation_id": "<uuid>",
"payload": {
"skill_name": "dispatch_engine",
"skill_path": "<absolute-path-to-SKILL.md>",
"args": {},
"dry_run": false
}
}
Dispatch
plugins/onex/skills/dispatch_engine/run.sh \
[--dry-run] \
[--repo <repo>]
The launcher dispatches through onex run-node node_skill_dispatch_engine_orchestrator
and prints the ModelSkillResult JSON returned by the backing node.
Surface non-zero exits directly. On routing failure raise SkillRoutingError;
do not produce prose.
Fallback path (local/offline):
onex node node_skill_dispatch_engine_orchestrator --input <envelope_json_file>
Where <envelope_json_file> contains a ModelEventEnvelope[ModelSkillRequest] JSON blob.
Quick Start
# Dry-run: inspect what would be dispatched
/onex:dispatch_engine --dry-run
# Live dispatch
/onex:dispatch_engine
# Restrict to a single repo
/onex:dispatch_engine --repo OmniNode-ai/omnimarket
See Also
node_skill_dispatch_engine_orchestrator/contract.yaml— topic wiring and I/O schemanode_skill_overseer_verify_orchestrator— canonical skill orchestrator patterndispatch_workerskill — downstream builder dispatch target