Work across harnesses
Use one request across Claude Code and Codex while the route records the harness, model, effort, and transport for each work unit.
Easy path
> Route this work to the best available harness and show the dispatch decision.
railyard:model-routing resolves the work class before the workflow starts.
What happens
The router derives a bounded work class from ambiguity, novelty, repetition, decomposability, volume, semantic risk, and verification strength. A selected route freezes model and effort; cross-harness movement is an explicit opt-in seam with its own carrier and receipt.
Proof point
The routing contract is identified as railyard/model-routing/v1, and the source skill requires explicit model and effort on every dispatch. Source: railyard/docs/skills/model-routing.md.