My config said Opus
“For a successful technology, reality must take precedence over public relations, for nature cannot be fooled.”
I set my agent to hand heavy code to Claude Opus 5 and ran a smoke test. The child ran on gpt-5.5. The API key had no credits left, the credential pool marked it exhausted in the same second, and the fallback provider answered. The harness printed 62 characters and lost the rest. Nothing in the config was wrong. Now the eval checks what can actually run before it starts, and I read the model from the run record.
The case, in four numbers
Between the key failing with HTTP 400 and the child starting on the fallback provider, on 27 Sep at 6:33:37 PM CT.
Characters the harness printed. It kept only the last turn, so the diff from the first turn was gone.
The preflight now stops the eval before any model call when a code scenario cannot reach Opus.
Checks passed by the first child that really ran on claude-opus-5, in 409.7 s, on 8 Oct.
Transcript
Sources and honest limits
SCModel-routing smoke scorecard, 27 Sep and 8 Oct 2026, private repo, commit 8ffe823 onwardCRChange record for the routing change, 8 Oct 2026, private; names and hosts withheldNASARichard P. Feynman, Appendix F, Personal Observations on Reliability of Shuttle, Rogers Commission report, 1986: https://www.nasa.gov/history/rogersrep/v2appf.htm
Each smoke is one run of one scenario. The fallback to another provider is configured on purpose, so the agent keeps answering when one provider fails; the problem was that the eval could not tell. The preflight reads status fields of the credential entries and never the key itself. On 8 Oct the dead key fooled the setup a second time, because the pool leased it ahead of the subscription login; blanking it fixed that. List price comes from token counts at published rates; the charge was $0 on a Claude subscription. Client names, hosts and session ids are left out.
Dissolved.