Skip to content

chore(models): set azure model retirement dates - #3465

Merged
steebchen merged 1 commit into
mainfrom
chore/azure-model-retirement-dates
Aug 7, 2026
Merged

steebchen merged 1 commit into
mainfrom
chore/azure-model-retirement-dates

Conversation

@steebchen

Copy link
Copy Markdown
Member

Follow-up to #3461, which deactivated four OpenAI models and deliberately left their azure mappings alone because Azure runs an independent schedule. Azure does publish that schedule, so this stamps it onto the catalogue.

Source

Foundry model retirement schedule (ms.date: 2026-07-23), read from the doc source rather than the rendered page: MicrosoftDocs/azure-ai-docs → articles/foundry/openai/includes/concepts-model-retirement-schedule-content.md. Note the ai-foundry URL segment 404s; it's foundry now.

Azure sets a retirement date for every model version at launch (18 months out) and returns 410 Gone after it. deactivatedAt is exactly that semantic, and future dates are already used this way in the catalogue, so each mapping now switches itself off on the right day with no follow-up needed.

Changes — 26 azure mappings

22 mappings had no date and now carry the published one, ranging from o3-mini (2026-10-01) to the gpt-5.6 family (2028-01-11).

Four already had deactivatedAt: 2026-12-10, which is OpenAI's first-party date copied onto the azure mapping, not Azure's:

mapping was Azure publishes
azure o3 2026-12-10 2026-10-21
azure gpt-5 2026-12-10 2027-02-09
azure gpt-5-mini 2026-12-10 2027-02-09
azure gpt-5-nano 2026-12-10 2027-02-09

o3 is the one that actually bites — Azure retires it seven weeks before our date, so routing would have kept selecting a deployment returning 410. The other three go the other way and extend a mapping's life by ~2 months; flagging that explicitly since it resurrects mappings that were scheduled to switch off, and it's a revert of one line each if you'd rather not. The openai mappings keep 2026-12-10 in all four cases — only the azure side moved. Both directions are commented in place.

Left alone

  • gpt-35-turbo, gpt-4, gpt-4-turbo, gpt-5.2-pro, gpt-oss-120b — no row in the schedule. For the first three that likely means "retired long ago and dropped from the table", but absence isn't a date and I'd rather not guess; worth a separate look.
  • gpt-5.2-chat-latest / gpt-5.3-chat-latest — Azure's rows are gpt-5.2-chat / gpt-5.3-chat plus a separate gpt-chat-latest, so the externalId doesn't map cleanly. Both already deactivate on 2026-08-10 regardless.
  • gpt-4o-mini (2026-03-31) and o1-mini (2025-10-27) — already past.
  • azure-ai-foundry grok mappings — grok-4-1-fast-* are listed GA with no retirement date; grok-4.3 isn't listed.
  • deprecatedAt — Azure's "Deprecated" lifecycle (blocked for new customers, still serving) maps neatly onto our deprecatedAt, which filters a mapping out of selection without breaking explicit pins. That would change routing behaviour, so it's out of scope here.

Verification

Every insertion verified to land on a providerId: "azure" mapping, not the sibling openai one. pnpm format, pnpm build, and packages/models + packages/actions + gateway model-route specs (687 tests) all pass.

🤖 Generated with Claude Code

Azure OpenAI publishes a retirement date for every model version, and it
is independent of OpenAI's first-party schedule. Stamp deactivatedAt on
the 26 azure mappings the schedule covers so each one switches itself off
when the deployment actually starts returning 410 Gone.

Four mappings previously carried OpenAI's 2026-12-10 date rather than
Azure's. o3 is the one that mattered: Azure retires it on 2026-10-21,
seven weeks earlier, so routing would have kept selecting a dead
deployment.
Copilot AI lite review requested due to automatic review settings August 7, 2026 18:11
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@steebchen
steebchen enabled auto-merge August 7, 2026 18:11

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

@steebchen, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 18 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 9691b158-b96f-43f0-9133-c1c522e8bc1b

📥 Commits

Reviewing files that changed from the base of the PR and between 45780a2 and a73c1de.

📒 Files selected for processing (1)
  • packages/models/src/models/openai.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@steebchen
steebchen added this pull request to the merge queue Aug 7, 2026
Merged via the queue into main with commit 8cada87 Aug 7, 2026
11 checks passed
@steebchen
steebchen deleted the chore/azure-model-retirement-dates branch August 7, 2026 18:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants