Every model change that would have broken your app
Providers ship silent snapshot updates. We watch malformed-response rates per model and publish a proxy rule the same day, so the fix lands upstream of your code.
- OpenAIRegression
Markdown fences reappeared around JSON responses
gpt-4o (2026-07-24 snapshot)
What we detected
Malformed-JSON rate on structured output rose from 0.4% to 3.6% across 100k proxied requests within 6 hours of the snapshot rollout.
How the proxy patched it
Proxy rule fence-strip-v3 now unwraps ```json blocks before validation, so applications received clean objects with zero code changes.
- AnthropicBreaking
Tool-use blocks emitted before text blocks
claude-3.7-sonnet
What we detected
Clients reading content[0].text began throwing on 12% of tool calls as block ordering changed.
How the proxy patched it
Response normaliser reorders content blocks to the documented shape and exposes tool calls under a stable tool_calls alias.
- GeminiRegression
Enum fields returned title-cased values
gemini-2.5-pro
What we detected
Classification pipelines saw a 5.1% spike in schema violations where 'Billing' was returned instead of 'billing'.
How the proxy patched it
Enum coercion rule matches case-insensitively against the declared enum and repairs the value, logging each repair as a drift event.
- OpenAIAdvisory
Silent context window truncation on long prompts
gpt-4o-mini
What we detected
Requests above 118k input tokens were truncated without an error, producing confidently wrong summaries.
How the proxy patched it
Pre-flight token accounting rejects or prunes oversized prompts and surfaces a x-driftwatch-truncation-risk header.
- AnthropicRegression
Trailing commas in nested JSON objects
claude-3.5-haiku
What we detected
0.9% of extraction responses failed strict JSON.parse, concentrated in payloads with more than 4 nesting levels.
How the proxy patched it
Tolerant JSON repair pass fixes trailing commas and unescaped newlines, then re-validates against your schema before responding.
- GeminiBreaking
Function-call arguments delivered as a string
gemini-2.0-flash
What we detected
Argument objects arrived JSON-encoded inside a string, breaking every downstream tool router on first deploy.
How the proxy patched it
Proxy parses stringified argument payloads into objects and normalises them to the OpenAI tool-call shape.