← all features · evolve-loop explainers

Model routing

How each phase picks a CLI and model — and what happens when the pick fails.

How it works today

Verified drift (queued: docs-drift-sweep)dynamic-phase-routing.md claims the advisor defaults to haiku ("lightweight routing"); code defaults to opus/deep and the constructor comment explicitly rebuts the doc (phase_advisor.go:92-100). Same doc’s status table still says "Default: Off" vs the shipped advisory default (config.go:508); dynamic-model-routing.md’s entire body describes a never-shipped bash design behind its supersession banner.

How it got built

ADR-0022 (manifest realization), ADR-0024/0052 (advisory routing + clamps), cycle-436 (per-phase {cli,tier} plans + clamp), cycle-480 (universal envelope floor). The standing operator rule — tiers not model names, any CLI × any phase × any model must execute — is what the clamp + manifest layers implement.

Generated by /evo:explain · verified against code 2026-07-13 (file:line citations) · doc drift found during verification is queued in .evolve/inbox (docs-code-alignment-2026-07 campaign).