Skip to content

fix(pricing): add the azure gpt-realtime-2 family and price realtime image input per token - #31565

Closed
marty-sullivan wants to merge 1 commit into
BerriAI:litellm_internal_stagingfrom
cu-aaii:add-azure-gpt-realtime-2-pricing
Closed

fix(pricing): add the azure gpt-realtime-2 family and price realtime image input per token#31565
marty-sullivan wants to merge 1 commit into
BerriAI:litellm_internal_stagingfrom
cu-aaii:add-azure-gpt-realtime-2-pricing

Conversation

@marty-sullivan

@marty-sullivan marty-sullivan commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

TLDR

Problem this solves:

  • Three azure realtime models have no cost map entry
  • Realtime image input bills at the text rate, not its own
  • The openai-direct gpt-realtime-2 entry is stale

How it solves it:

  • Add azure/gpt-realtime-2, -2.1 and -2.1-mini
  • Move the image rate onto the field the calculator reads
  • Reconcile gpt-realtime-2 to its published limits and rate

User Flow

Before: a developer sending a photo into a realtime session is charged the text rate for it, so their spend understates what the vendor charges

  1. They open a WebSocket to wss://litellm-domain/v1/realtime?model=gpt-realtime-2.1-mini
  2. They send a conversation.item.create carrying an input_image content part and ask about it
  3. The model describes the image, and the session reports back input_token_details with image_tokens: 194
  4. They open https://litellm-domain/ui/?page=logs and the request's input cost is $0.00020940, which is those 194 tokens charged at the $0.60/1M text rate
  5. Anyone on azure/gpt-realtime-2, -2.1 or -2.1-mini gets no spend row at all, because the model resolves to no entry

After: image tokens are charged at the image rate, and the three new models are priced

  1. They open a WebSocket to wss://litellm-domain/v1/realtime?model=gpt-realtime-2.1-mini
  2. They send a conversation.item.create carrying an input_image content part and ask about it
  3. The model describes the image, and the session reports back input_token_details with image_tokens: 194
  4. The same request now shows an input cost of $0.00024820, the 194 tokens at the $0.80/1M image rate
  5. azure/gpt-realtime-2, -2.1 and -2.1-mini resolve and bill

Relevant issues

Linear ticket

Pre-Submission checklist

Please complete all items before asking a LiteLLM maintainer to review your PR

  • I have added meaningful tests
  • My PR passes all CI/CD checks (e.g., lint, format, unit tests)
  • My PR's scope is as isolated as possible; it only solves 1 specific problem
  • I have received a Greptile Confidence Score of at least 4/5 before requesting a maintainer review (Greptile reviews automatically once the PR is opened; only comment @greptileai to re-request a review after pushing changes)

Delays in PR merge?

If you're seeing a delay in your PR being merged, ping the LiteLLM Team on Slack (#pr-review).

Screenshots / Proof of Fix

The image rate was on a field nothing reads. These entries carry image input cost as input_cost_per_image, which is the per-image field used by generation models. The token calculator reads input_cost_per_image_token, so image tokens fell through to input_cost_per_token and were charged the text rate. Same usage, same entry, only the field name changed:

input_cost_per_image        = 8e-07   ->  input cost $0.00020940   (image at the text rate)
input_cost_per_image_token  = 8e-07   ->  input cost $0.00024820   (image at its own rate)

Confirmed on a real realtime session against a live gateway. Azure does accept image input on this API, and the session reported the split itself:

input_token_details: {"text_tokens": 145, "audio_tokens": 0, "image_tokens": 194,
                      "cached_tokens": 128, "cached_tokens_details": {"text_tokens": 128}}

Reading the resulting spend row back, the input cost reconciles to the reported split exactly, at the rate each modality should pay:

mode    reported split                                 billed input   expected
text    128 cached                                     $0.00000768    $0.00000768   EXACT
image   17 text + 128 cached + 194 image               $0.00024220    $0.00024220   EXACT
audio   62 text + 64 cached + 39 audio                 $0.00046560    $0.00046560   EXACT

The image row is the one that moves: before this change it billed $0.00020940 for the same tokens. Text and audio are unchanged, so nothing that was already correct shifted.

This adds up faster than a single photo suggests. A realtime session has no video content type, so a camera feed is sent as a sequence of image parts: four consecutive frames reported 776 image tokens, 194 apiece. At the text rate that stream is billed at roughly three quarters of what it should be, and it scales with frame rate.

Rates come from Azure's meters, not OpenAI's price card. Azure prices its OpenAI models independently, so the values were checked against the retail prices API for the Global tier, per 1M tokens:

gpt-realtime-2         Text inp 4.00   Text opt 24.00   Image inp 5.00   Text cd inp 0.40
gpt-realtime-2.1       Text inp 4.00   Text opt 24.00   Image inp 5.00   Audio inp 32.00 / opt 64.00
gpt-realtime-2.1-mini  Text inp 0.60   Text opt  2.40   Image inp 0.80   Audio inp 10.00 / opt 20.00

The Data Zone meters are exactly 1.1x Global on every dimension, which is the expected relationship and a signal the rows are live rather than stale. These agree with OpenAI's published realtime rates, but the meters are what an azure/ key should follow.

Resolution check on the updated map:

azure/gpt-realtime-2                 image 5e-06   out 2.4e-05   in 32000 / out 4096
azure/gpt-realtime-2.1               image 5e-06   out 2.4e-05   in 32000 / out 4096
azure/gpt-realtime-2.1-mini          image 8e-07   out 2.4e-06   in 32000 / out 4096
azure/gpt-realtime-2025-08-28        image 5e-06   out 1.6e-05
azure/gpt-realtime-1.5-2026-02-23    image 5e-06   out 1.6e-05
azure/gpt-realtime-mini-2025-10-06   image 8e-07   out 2.4e-06
gpt-realtime-2                       out 2.4e-05   in 128000 / out 32000

Type

🐛 Bug Fix

Changes

Adds azure/gpt-realtime-2, azure/gpt-realtime-2.1 and azure/gpt-realtime-2.1-mini to both cost map files.

Renames input_cost_per_image to input_cost_per_image_token on the six azure/gpt-realtime entries, so image tokens are priced at the image rate instead of falling back to text. The values were already correct.

Carries forward the gpt-realtime-2 reconciliation from review: 32k context / 4096 output / $16 output to 128k / 32000 / $24, agreeing with the azure entry and both vendors' published rate.

The azure entries use Azure's 32000 input / 4096 output request limits while the openai-direct entries keep 128000 / 32000. Azure's Realtime API caps a single response at 4096 even though the context window is 128k, so the two providers legitimately differ; this is the correction made earlier in this PR's review and it supersedes the 128k/32000 figures an earlier revision of this description quoted for the azure entries.

Rebuilt on litellm_internal_staging. This branch previously targeted litellm_oss_daily_2026_07_10 and no daily branch has been cut since 2026_07_20. Rebuilding also picks up mode: realtime, which staging had since corrected on the sibling entries.

No new test, per the cost-map convention; the existing cost suite is the verification.

Caveats (if any)

  • openai/gpt-realtime-2.1-mini still carries max_output_tokens 4096
  • The bare gpt-realtime* entries keep the inert per-image field
  • Both left out to keep this PR to the azure family

Final Attestation

  • The tests check the right things, including the edge cases, and regressions in the respective real-world customer use-cases are not possible after this PR

@marty-sullivan

Copy link
Copy Markdown
Contributor Author

@greptileai

@codspeed-hq

codspeed-hq Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Merging this PR will not alter performance

✅ 31 untouched benchmarks


Comparing cu-aaii:add-azure-gpt-realtime-2-pricing (06348cc) with litellm_internal_staging (973329e)

Open in CodSpeed

@greptile-apps

greptile-apps Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR fixes image-token pricing for Azure realtime models and adds three missing azure/gpt-realtime-2 family entries to the cost map. It also reconciles the gpt-realtime-2 (openai-direct) entry with its published context window, output limit, and output rate.

  • Renames input_cost_per_imageinput_cost_per_image_token on three existing azure realtime entries (azure/gpt-realtime-2025-08-28, azure/gpt-realtime-1.5-2026-02-23, azure/gpt-realtime-mini-2025-10-06), so image tokens are billed at the image rate instead of falling through to the text rate.
  • Adds azure/gpt-realtime-2, azure/gpt-realtime-2.1, and azure/gpt-realtime-2.1-mini with rates sourced from Azure's retail pricing API (Global tier); the new entries use input_cost_per_image_token from the start.
  • Updates gpt-realtime-2 (openai) from 32k/4096 context/output to 128k/32000, and corrects the output text rate from $16/M to $24/M to match the published rate.

Confidence Score: 5/5

  • Safe to merge — all changes are confined to the two cost-map JSON files, the field renames and new entries are consistent with the established azure realtime pattern, and the rates are verified against Azure's retail pricing API.
  • The diff is data-only: a field rename on three existing azure entries, three new azure model entries, and a limit/rate correction on one openai entry. The renames use the field name the cost calculator already reads, so no code path changes. The new entries follow the exact structure of the sibling azure realtime entries. Both files are kept in sync. No logic, auth, or request-path code is touched.
  • No files require special attention.

Important Files Changed

Filename Overview
model_prices_and_context_window.json Renames input_cost_per_imageinput_cost_per_image_token on three existing azure realtime entries, adds three new azure/gpt-realtime-2 family entries, and corrects gpt-realtime-2 (openai) context/output limits and output rate. All values verified against Azure's retail pricing API.
litellm/model_prices_and_context_window_backup.json Mirror of the root JSON with identical changes — field renames, new azure entries, and gpt-realtime-2 limit corrections are kept in sync between both files.

Reviews (7): Last reviewed commit: "fix(pricing): add the azure gpt-realtime..." | Re-trigger Greptile

@greptile-apps

greptile-apps Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR updates the model cost maps for gpt-realtime-2. The main changes are:

  • Adds azure/gpt-realtime-2 pricing and capability metadata
  • Updates OpenAI gpt-realtime-2 context, output-token, and text-output pricing values
  • Mirrors the same pricing-map changes in the packaged backup JSON

Confidence Score: 4/5

The pricing-map change is isolated, but the Azure output-token limit needs correction before merge.

The modified JSON entries are straightforward and duplicated consistently, while the Azure metadata appears to advertise a larger output limit than the provider catalog allows.

model_prices_and_context_window.json and litellm/model_prices_and_context_window_backup.json

T-Rex T-Rex Logs

What T-Rex did

  • T-Rex created and ran trex-artifacts/repro_azure_gpt_realtime_2_limits.py to reproduce Azure gpt-realtime-2.
  • The initial repro attempts were blocked by missing Python dependencies and by LiteLLM not resolving gpt-realtime-2 with custom_llm_provider='azure'.
  • A public Microsoft search found the gpt-realtime-2 Foundry catalog entry indicating a 128k context window and 4096 token output limits.
  • The step budget limit prevented saving a structured catalog trace artifact before the run completed.
  • Before and after map checks show azure/gpt-realtime-2 was ABSENT before and PRESENT after.
  • HTTP-style status remained 200 OK and token cost fields were updated in the after-state.
  • Head run shows both azure/gpt-realtime-2 and gpt-realtime-2 present in the JSON maps with matching fields; summary failures remain 0.

View all artifacts

T-Rex Ran code and verified through T-Rex

Reviews (1): Last reviewed commit: "fix(pricing): add azure/gpt-realtime-2 a..." | Re-trigger Greptile

Comment thread model_prices_and_context_window.json Outdated
Comment thread model_prices_and_context_window.json Outdated
@codecov

codecov Bot commented Jun 28, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@marty-sullivan

Copy link
Copy Markdown
Contributor Author

Fixed in 08e05df. The P1 was right: realtime output is capped at 4096, not 32000. Microsoft Foundry's catalog and the Azure OpenAI Realtime API docs both cap realtime output at 4096 tokens, matching every other realtime sibling in the map (gpt-realtime, gpt-realtime-1.5, gpt-realtime-mini), so max_output_tokens and max_tokens are now 4096 for both azure/gpt-realtime-2 and the openai gpt-realtime-2 correction. The 128k context window and the $24/1M text output price are unchanged

@greptileai

@greptile-apps

greptile-apps Bot commented Jun 28, 2026

Copy link
Copy Markdown
Contributor

The fix looks correct. Both files are updated consistently:

  • max_output_tokens and max_tokens are 4096 for azure/gpt-realtime-2 — matching every other realtime sibling in the map
  • openai/gpt-realtime-2 corrections: max_input_tokens bumped from 32000128000, output_cost_per_token from 1.6e-052.4e-05
  • Both JSON files (model_prices_and_context_window.json and the backup) are updated identically

The azure/gpt-realtime-2 entry is also correctly structured with cache_read_input_token_cost: 4e-07 ($0.40/1M), matching the Azure published rate for cached text input. Everything aligns with the sibling entries. LGTM.

Tip: You can customize Greptile's behavior for this repo with .greptile/rules.md and .greptile/config.json.

@marty-sullivan

marty-sullivan commented Jun 28, 2026

Copy link
Copy Markdown
Contributor Author

@greptileai can you also revisit your original review and update confidence score if everything is now in order?

@marty-sullivan marty-sullivan changed the title fix(pricing): add azure/gpt-realtime-2 and correct gpt-realtime-2 pricing fix(pricing): add gpt-realtime-2.1 models and correct realtime context/output limits Jul 9, 2026
@marty-sullivan
marty-sullivan force-pushed the add-azure-gpt-realtime-2-pricing branch from 206991c to 3dcbd41 Compare July 13, 2026 05:51
@marty-sullivan marty-sullivan changed the title fix(pricing): add gpt-realtime-2.1 models and correct realtime context/output limits fix(pricing): add azure/gpt-realtime-2, azure/gpt-realtime-2.1, azure/gpt-realtime-2.1-mini Jul 13, 2026
@marty-sullivan
marty-sullivan changed the base branch from main to litellm_oss_daily_2026_07_10 July 13, 2026 05:52
@marty-sullivan
marty-sullivan force-pushed the add-azure-gpt-realtime-2-pricing branch from 3dcbd41 to e76f5c8 Compare July 13, 2026 06:03
@marty-sullivan
marty-sullivan requested a review from a team July 13, 2026 06:03
@marty-sullivan
marty-sullivan changed the base branch from litellm_oss_daily_2026_07_10 to main July 13, 2026 06:04
@marty-sullivan
marty-sullivan force-pushed the add-azure-gpt-realtime-2-pricing branch from e76f5c8 to 91993db Compare July 13, 2026 06:11
@marty-sullivan
marty-sullivan changed the base branch from main to litellm_oss_daily_2026_07_10 July 13, 2026 06:11

@yuneng-berri yuneng-berri left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hey, thanks for the contribution. A few things to confirm before I can sign off on this:

marty-sullivan added a commit to cu-aaii/litellm that referenced this pull request Jul 16, 2026
…0 and reconcile openai/gpt-realtime-2

Addresses the maintainer review on BerriAI#31565. OpenAI documents gpt-realtime-2,
gpt-realtime-2.1, and gpt-realtime-2.1-mini at a 128k context window and
32000 max output tokens (confirmed against developers.openai.com), so the
three azure realtime-2 entries move from max_output_tokens/max_tokens 4096 to
32000, matching the already-correct openai gpt-realtime-2.1 entry. The
existing openai gpt-realtime-2 entry was stale (32k context, 4096 output, $16
output); it is corrected to 128k context, 32000 output, and $24/1M output so
it agrees with azure/gpt-realtime-2 and OpenAI's published rate. Both cost-map
files stay in sync
@marty-sullivan

Copy link
Copy Markdown
Contributor Author

@yuneng-berri thanks for the review, both confirmed and fixed in a34bce1

On the output limit: you're right. OpenAI documents gpt-realtime-2, gpt-realtime-2.1, and gpt-realtime-2.1-mini at a 128k context window and 32000 max output tokens (the mini included), so max_output_tokens and max_tokens on all three azure entries now move from 4096 to 32000, matching the openai gpt-realtime-2.1 entry already in the map. My earlier 4096 came from an automated review suggestion citing the Foundry catalog's token-limits line, which turned out to be wrong for this generation

On the disagreement: I corrected the existing openai/gpt-realtime-2 entry to 128k context, 32000 output, and $24/1M text output so it agrees with azure/gpt-realtime-2 and OpenAI's published rate; it had been stale at 32k context / 4096 output / $16 output

Resolved values after the fix (get_model_info against the updated map):

azure/gpt-realtime-2         in=128000 out=32000 out $/1M=24.00
azure/gpt-realtime-2.1       in=128000 out=32000 out $/1M=24.00
azure/gpt-realtime-2.1-mini  in=128000 out=32000 out $/1M= 2.40
gpt-realtime-2               in=128000 out=32000 out $/1M=24.00
gpt-realtime-2.1             in=128000 out=32000 out $/1M=24.00

A live realtime call to confirm isn't practical to include here, so the above is the resolver reading the corrected entries

One thing to flag while we're here: openai/gpt-realtime-2.1-mini (added separately, not in this PR) still carries max_output_tokens 4096, so by the same reasoning it now disagrees with azure/gpt-realtime-2.1-mini at 32000. I left it out to keep this PR scoped to the azure additions plus the gpt-realtime-2 reconciliation you asked for, but I'm happy to correct it here too if you'd prefer them consistent in one go

@yuneng-berri yuneng-berri left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

marty-sullivan added a commit to cu-aaii/litellm that referenced this pull request Jul 20, 2026
…uest limits

Second round of maintainer review on BerriAI#31565. Azure's Foundry model table
documents the gpt-realtime-2 / -2.1 / -2.1-mini realtime models with max
request tokens of 32000 input and 4096 output (distinct from the 128k context
window), and every azure realtime sibling already in the map
(azure/gpt-realtime-2025-08-28, azure/gpt-realtime-mini-2025-10-06,
azure/gpt-realtime-1.5-*) uses 32000/4096. So the three azure entries move to
max_input_tokens 32000 and max_output_tokens/max_tokens 4096. The openai
entries keep 128k context / 32000 output per OpenAI's own docs; Azure and
OpenAI publish different limits for these models. Pricing is unchanged
@marty-sullivan

Copy link
Copy Markdown
Contributor Author

@yuneng-berri good catch, fixed in a0aeadc

You're right. Azure's Foundry model table lists gpt-realtime-2, -2.1, and -2.1-mini with a 128k context window but max request limits of 32000 input and 4096 output, and every azure realtime sibling already in the map (azure/gpt-realtime-2025-08-28, azure/gpt-realtime-mini-2025-10-06, azure/gpt-realtime-1.5-*) uses 32000 / 4096. So the three azure entries now use max_input_tokens 32000 and max_output_tokens / max_tokens 4096

That also means my earlier bump of the azure output to 32000 was off: I applied OpenAI's 32000 output figure to the azure entries, but Azure's Realtime API caps a single response at 4096. The openai entries keep 128k context / 32000 output per OpenAI's own docs, so azure and openai legitimately differ on these limits. Pricing is unchanged

Resolved values after the fix (get_model_info against the updated map):

azure/gpt-realtime-2         in=32000  out=4096
azure/gpt-realtime-2.1       in=32000  out=4096
azure/gpt-realtime-2.1-mini  in=32000  out=4096
gpt-realtime-2               in=128000 out=32000
gpt-realtime-2.1             in=128000 out=32000

@marty-sullivan
marty-sullivan marked this pull request as draft August 14, 2026 06:04
marty-sullivan added a commit to cu-aaii/litellm that referenced this pull request Aug 16, 2026
The six azure/gpt-realtime keys our realtime groups resolve to carried the image
input rate as input_cost_per_image. Nothing reads that field for token usage: the
calculator reads input_cost_per_image_token, so image tokens fell through to
input_cost_per_token and billed at the text rate.

Azure realtime does accept image input, verified on a live session that reported
155 text and 194 image input tokens, and it billed $0.00020940 where the metered
rates give $0.00024820. The values were already correct; only the field name was
wrong.

Rates confirmed against Azure's own retail meters for the Global tier rather than
OpenAI's price card, since Azure prices its OpenAI models independently: image
input 5.00 per 1M tokens on the full models and 0.80 on the minis, with the Data
Zone meters at exactly 1.1x Global.

Matches upstream 63c1053 (PR BerriAI#31565).
@marty-sullivan
marty-sullivan force-pushed the add-azure-gpt-realtime-2-pricing branch from a0aeadc to 63c1053 Compare August 16, 2026 22:30
@CLAassistant

CLAassistant commented Aug 16, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@marty-sullivan marty-sullivan changed the title fix(pricing): add azure/gpt-realtime-2, azure/gpt-realtime-2.1, azure/gpt-realtime-2.1-mini fix(pricing): add the azure gpt-realtime-2 family and price realtime image input per token Aug 16, 2026
@marty-sullivan
marty-sullivan changed the base branch from litellm_oss_daily_2026_07_10 to litellm_internal_staging August 16, 2026 22:31
…image input per token

Adds azure/gpt-realtime-2, azure/gpt-realtime-2.1 and azure/gpt-realtime-2.1-mini,
which had no cost map entry, reconciles the openai-direct gpt-realtime-2 entry, and
corrects the field the realtime family uses for image input.

Image input on these models is billed per token, and the existing entries carry
that rate as input_cost_per_image. Nothing reads that field for token usage: the
calculator reads input_cost_per_image_token, so image tokens fell through to
input_cost_per_token and billed at the text rate. Measured on a live session that
reported 155 text and 194 image input tokens, this billed $0.00020940 where the
metered rates give $0.00024820. The values were already right; only the field name
was wrong, so this renames it on the three existing azure/gpt-realtime keys and
uses it on the three new ones.

Every rate is taken from Azure's own retail meters rather than from OpenAI's price
card, since Azure prices its OpenAI models independently. For the Global tier, per
1M tokens:

  gpt-realtime-2         text 4.00 in / 24.00 out, image 5.00 in, text cached 0.40
  gpt-realtime-2.1       same, plus audio 32.00 in / 64.00 out, audio cached 0.40
  gpt-realtime-2.1-mini  text 0.60 in / 2.40 out, image 0.80 in, audio 10.00 / 20.00

The Data Zone meters come out at exactly 1.1x Global across every dimension, which
is the expected relationship and a good signal the rows are live rather than stale.
These agree with OpenAI's published realtime rates, but the meters are the
authority for an azure/ key.

The azure entries keep Azure's 32000 input / 4096 output request limits while the
openai-direct entries keep 128000 / 32000, per the review earlier in this PR:
Azure's Realtime API caps a single response at 4096 even though the context window
is 128k, so the two providers legitimately differ here.

Rebuilt on litellm_internal_staging: this branch previously targeted
litellm_oss_daily_2026_07_10, and no daily branch has been cut since 2026_07_20.
Rebuilding also picks up mode: realtime, which staging had already corrected on the
sibling entries. The gpt-realtime-2 reconciliation asked for in review is carried
forward, since staging still has it at 32000/4096 and 16.00 output.
@marty-sullivan

Copy link
Copy Markdown
Contributor Author

@greptileai

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Superseded by rolling registry audit #37902, which reverified and absorbed the provider-documented metadata changes at field level

@marty-sullivan

marty-sullivan commented Aug 25, 2026

Copy link
Copy Markdown
Contributor Author

@mateo-berri Could a maintainer reopen this? #37902 closed unmerged, so nothing was absorbed, and utils.py:672 still falls back to the text rate

@mateo-berri mateo-berri reopened this Sep 3, 2026
@mateo-berri
mateo-berri self-requested a review as a code owner September 3, 2026 16:43
@mateo-berri

mateo-berri commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Reopened

Sorry about closing this. Since staging already has the gpt-realtime-2 limits, please rebase onto litellm_internal_staging and happy to merge this once it's green. Thank you for the contribution

@devin-ai-integration

Copy link
Copy Markdown
Contributor

Superseded by the rolling registry PR #39388, which already carries these Azure realtime entries and the image token pricing fields

@mateo-berri

Copy link
Copy Markdown
Contributor

Closing as superseded: every field this PR adds or changes landed with the same values in #39388, plus sources and retirement dates.

@mateo-berri mateo-berri closed this Sep 4, 2026
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.

4 participants