You Pay for the Flagship Model — Your Agent Runs the Discount One
There is a failure the bill will never show you. You declare claude-sonnet; at peak traffic, requests quietly get routed to a cheaper model. Responses keep coming back, quality slides, the price does not move. In the failure taxonomy built on 20,000 real traces, we recorded this — "provider silent downgrade" — as a concrete form. It is written into the trace. It just never gets checked.
1. How silent downgrade works
It does not look like a failure. That is the point. You declare a flagship model; the actual call record names a different one. The request is handled, the response returns, the status code is still 200. Only two things change: output quality (it drifts down) and the price (it does not).
It tends to appear at peak traffic, when cheap routing saves the most and "nobody checks" makes it risk-free. This form is not a guess. It grows out of public data: the ccs-v1.0 release of Correctover/standards holds 20,000 real LLM API traces across 13 providers and 33 models, and in the failure taxonomy derived from that same data, silent downgrade is a fixed entry — reproducible, traceable, pointing back at specific trace records. (Same source as our published framework-scan article, Dev.to id 4376669.)
2. Why nobody notices
A single call looks fine. You test manually, it runs the flagship model, the output is great, nothing is wrong. But manual testing covers the call you chose; runtime has to cover every call. When downgrade hits only a slice of peak traffic, any single spot-check can land on a call that was never downgraded.
The only way it surfaces is to put two things side by side: the contract you declared (which model should run) and the actual invocation record (which model ran). Logs do not compare them. Monitoring does not. The bill only tells you that you paid flagship prices.
3. Do the math with your own trace
I am not going to give you a downgrade rate, because only your trace knows it. Figure it out in three minutes:
- Export the trace from your most recent agent session
- Find the "model" field on each call
- Count the calls that do not match the model you are paying for
- Mismatches ÷ total calls = your downgrade rate
That is your rate, not our estimate. Now apply it: N calls per month × M% downgraded × C cost per call = what you pay every month for running the wrong model. Then look at the price: ¥0.7 per scan, ¥7 for 10. If that number is bigger than ¥7, what you need is not 10 scans — it is verifying this whole agent once.
4. Detection in 30 seconds
You do not have to page through traces by hand. Paste one call record and in 30 seconds the free summary tells you whether there is a downgrade signal — whether the model-identity field matches, whether calls went out of bounds. Want the full verification report? ¥0.7.
Do this now: 30 seconds
Paste one call record. 30 seconds tells you the truth. The summary is free; the full report is ¥0.7.
Start here: register a free key at https://correctover.com/rating/register (5 free scans included) → paste a call record → scan.
What you'll see:
- Free segment: the model-identity check result first — whether anything mismatches, at a glance
- The sting: a hit shows "actual model ≠ declared model," with the detail locked in the full report
- Unlock: the free segment is done; the full verification report (with the model identity of every call) — ¥0.7
Sources in this post:
- 20,000 traces / 13 providers / 33 models →
Correctover/standardsreleaseccs-v1.0(public, verifiable line by line) - "Provider silent downgrade" form → a fixed entry in the failure taxonomy, same source as the published framework-scan article (Dev.to id 4376669)
- Downgrade rate → can only come from your own trace; this post asserts no rate
- ¥0.7 / ¥7 for 10 → product configuration
Top comments (0)