2026-03-26-model-deprecation-warnings
Ship Log: Model Deprecation Warnings
Date: 2026-03-26 Phase: 081-model-deprecation-warnings Author: Builder (automated)
What Shipped
Model deprecation warnings surfaced as HTTP response headers on completions requests. When a request routes to a model with an active deprecation alert (from the existing DeprecationDetector), the response includes:
X-BR-Deprecation: openai/gpt-4o sunset 2026-06-01, migrate to gpt-4.1— human-readable noticeDeprecation: true— RFC 8594 standard headerSunset: Mon, 01 Jun 2026 00:00:00 GMT— RFC 8594 sunset datetime
How It Works
DeprecationDetectorruns a probe cycle every 5 minutes, tracking 222+ models- On each completions request (streaming and non-streaming), the resolved model is checked against in-memory alerts
- If an alert exists: three headers are set. If no alert: no-op (zero overhead for healthy models)
- Zero additional latency — reads from in-memory
Map, no I/O
Lockstep Checklist
| Surface | Status | Notes |
|---|---|---|
| API | Implemented | Headers on both streaming and non-streaming |
| Docs | Implemented | This ship log |
| SDK-TS | N/A | Headers available via standard response metadata |
| SDK-PY | N/A | Headers available via standard response metadata |
| MCP | N/A | MCP does not expose response headers |
| Tests | Implemented | 5 tests covering all header scenarios |
| CLI | N/A | No CLI changes |
| GTM | N/A | Internal reliability feature |
| Dashboard | N/A | No dashboard changes |
Files Changed
src/api/routes/completions.ts(modified) — helper function + wiring in both pathssrc/api/routes/deprecation-headers.test.ts(new) — 5 testssrc/api/server.ts(modified) — pass deprecationDetector to completions routedocs/ship-log/2026-03-26-model-deprecation-warnings.md(new)