No Provider Pinning

Rule

There are no hard pins from an agent to a specific provider or model — not in seeds, not in AgentModelConfig, not in EndpointTaskPerformance overrides, not in any pinnedProviderId / pinnedModelId / pinned=true field. The routing layer decides which LLM runs a given call based on the task’s contract (required capabilities, reasoning depth, modality, sensitivity) and the candidate pool’s capability tier.

Why

Pins are a lie about the world. They force one specific model to be “the answer” forever, regardless of whether it’s healthy, whether a better or cheaper option shipped, or whether the task actually needs that model’s ceiling. When a pinned provider stumbles, routing still tries it first, fails, and the fallback chain silently slides down to whatever else is ranked — often far below what the task needed. The build-specialist incident on 2026-04-20 made this concrete: a pin to codex/gpt-5.4 → codex temporarily disabled → fallback walked all the way to local Gemma → Build Studio stalled for hours. New models can’t improve an agent’s behaviour without manual pin updates; retired models break agents until someone notices. The routing layer is the only place that has the information to choose dynamically — pinning routes around it.

Applies To

In-platform coworkers configuring agent profiles, external coding agents authoring seeds and migrations, and humans operating provider connections. Symmetric. Applies to seed code, runtime configuration, override tables, and any code path that selects an LLM for an agent task.

How To Apply

Decision Dimensions

Examples

See Also

Sources

(Rendered from the sources: frontmatter by WikiSourceCitations — do not duplicate citation prose here.)