Model Router
Status: FUTURE (Phase 5 execute, Phase 7 learn). No router service exists.
Contract
Input: task type, project id, requirements blob, budget (max candidates, max cents, max ms).
Router queries Pastes aggregates for that project and task class.
Output: model_version_id, prompt_version_id, temperature, tools, evaluation_policy_id, candidate_count.
Then: generate -> evaluate -> store -> update rolling stats.
Example matrix (illustrative, not measured)
These are not live rankings. They show the shape of the artifact the router will read:
- UI generation -> Model B
- PHP debugging -> Model C
- SQL generation -> Model A
- Brand design -> Model D
- Data analysis -> Model C
- Vision inspection -> EE VIZN model
- Documentation -> Model A
Until Pastes has scored runs, publishing a matrix would be marketing. Do not.
Cold start
Phase 5 uses staff-declared priors in Command. Phase 7 replaces priors with empirical win rates once n is large enough per cell (task x app). Below threshold, explore (extra candidate) instead of exploit.
Failure policy
If evaluations disagree with humans more than a project threshold, freeze auto-routing and require Command approval.
Diagram
See diagrams/model-router.mmd.
