The idea that a route change should trigger a product decision, not just a model swap, is the part most fallback logic gets wrong. I've seen fallbacks keep the same JSON schema and deadline quietly fail because the backup route can't hit the structured-output reliability the primary had, so the retry looks healthy while the parse breaks downstream. Disabling execution tools when you drop to a weaker route is a great example of degrading the experience honestly instead of pretending the capability is identical.