Fix: 1200 false deprecation alerts eliminated
2026-03-30
What We Built
Fixed two code paths that caused ~1200 false deprecation alerts on every boot cycle:
- Static catalog seeding set
alive: trueon all 1543 catalog models. When sentinel probes found only ~321 live, the rest gotlastSeenAliveset but were missing from probes — triggering the deprecation detector on all of them.
findMissing()reported ALL non-removed catalog models as missing when they weren't in probe results. This caused aliases likeclaude-3-5-haiku-latest(which Anthropic returns as dated IDs in/models) to get flagged after 3 probe cycles.
Also removed 70 genuinely dead models from the pricing catalog (text-davinci-_, claude-2.1, claude-3 originals, gpt-3.5-turbo-_, etc.) and 28 from the capabilities catalog.
Why It Matters
Every API response was getting X-BR-Deprecation, Deprecation: true, and Sunset headers for models that were perfectly alive. This was confusing clients and polluting telemetry.
How It Works
seedFromStaticCatalog()no longer setsalive: true— only sentinel-confirmed models getlastSeenAlivefindMissing()now requireslastSeenAliveto be set before reporting a model as missing- Both the deprecation detector scan AND the missing-models path now agree: only probe-confirmed models can be flagged
Lockstep Checklist
- [x] API Routes: No changes.
- [x] TS SDK: No changes.
- [x] Python SDK: No changes.
- [x] MCP Schemas: No changes.
- [x] Master Record: Bug fix, no new capability.