Skip to content

fix(registry): bedrock records for the current Claude generation (#607) - #659

Merged
gadievron merged 2 commits into
masterfrom
fix/607-bedrock-current-claude
Sep 21, 2026
Merged

gadievron merged 2 commits into
masterfrom
fix/607-bedrock-current-claude

Conversation

@gadievron

@gadievron gadievron commented Sep 21, 2026 •

Copy link
Copy Markdown
Collaborator

What

Adds five Bedrock records to config/models.json for the current Claude generation, closing the gap where a config naming one of these models under provider bedrock priced real tokens at $0 with cost_incomplete:

id input output
anthropic.claude-sonnet-5 2.0 10.0
anthropic.claude-opus-5 5.0 25.0
anthropic.claude-fable-5 10.0 50.0
anthropic.claude-fable-5-1 10.0 50.0
anthropic.claude-opus-4-7 5.0 25.0

The last two come from a sibling sweep over the same gap class (current Claude models served on Bedrock with a direct record but no bedrock record) — fixed here rather than left as a known gap.

Why these ids (and not us./global. twins)

The issue's original direction — mirror the 4.x-era us./global. inference-profile records — is superseded by the vendor's current documentation:

  • Anthropic's current Claude-in-Amazon-Bedrock integration serves the -5 generation (with Opus 4.7/4.8) under plain anthropic.claude-* model IDs (Supported models table, fetched 2026-09-21).
  • The legacy guide omits these models from its inference-profile table explicitly "because they do not have ARN-versioned model IDs".

So there are no us./global. ids to mirror; adding them would fabricate ids. The regression test pins this: it fails if a us./global. twin for this generation is ever added.

Pricing basis

  • Prices equal the direct Anthropic rates, re-verified 2026-09-21 against Anthropic's pricing page (Sonnet 5 $2/$10 — the page's note confirms the launch price is now the standard price; Opus 5 $5/$25; Fable 5 and Fable 5.1 $10/$50; Opus 4.7 $5/$25).
  • Bedrock global-endpoint pricing carries no premium; the 10% regional premium is an endpoint choice, not a model-id variant, so id-level pricing carries the global rate (same modeling as the direct-provider records, which likewise don't distinguish inference geography).
  • Each record's source carries its receipts. Honest limitation, stated on every record: no live-account list-inference-profiles verification was possible from the authoring environment (no AWS credentials) — the ids are vendor-documented, not account-verified. The issue's evidence-state comment asked for exactly that check if reachable; it was not, and the receipts say so rather than implying otherwise.

The cross-check learns the new id shape

test_models_price_cross_check.py's family normalization now strips a plain anthropic. prefix (region prefixes were already handled), so the new records are guarded by the same-family price-agreement invariant.

Testing

Deferred (same class, on record)

  • The Mythos family: no documented plain-id serving on the current integration (glasswing-gated; only anthropic.claude-mythos-preview appears, invitation-only, and it has no published price row anywhere).
  • A plain anthropic.claude-opus-4-8 record: the family already carries the live-verified us./global. twins; whether the plain id is also served deserves its own verification pass rather than an assumption here.

Fixes #607

Coordination

The -5 generation (with Opus 4.7) is served by Amazon Bedrock under plain
anthropic.* model ids — the legacy guide omits these models from its
inference-profile table because they 'do not have ARN-versioned model IDs'.
The registry carried no bedrock record for any of them, so a config naming
them under provider bedrock priced real tokens at $0 with cost_incomplete.

Adds five records (claude-sonnet-5 $2/$10, claude-opus-5 $5/$25,
claude-fable-5 $10/$50, plus the sibling sweep's claude-fable-5-1 $10/$50
and claude-opus-4-7 $5/$25) at the direct rate — Bedrock global-endpoint
pricing carries no premium (the 10% regional premium is an endpoint choice,
not a model-id variant, so id-level pricing carries the global rate).

Ids from the Supported models table of the Claude in Amazon Bedrock
integration doc (platform.claude.com, fetched 2026-09-21); rates re-verified
against Anthropic's pricing page the same day. No live-account
list-inference-profiles verification (no AWS credentials in the authoring
environment) — ids are vendor-documented, receipts on each record.

The price cross-check's family normalization learns the plain anthropic.*
bedrock id shape (region-prefixed ids already stripped), so the new records
are guarded by the same-family agreement invariant. The regression test
pins: resolution at the direct rate, provider-scoped existence, NO
us./global. twins for this generation (the anti-pattern-mirroring guard —
fabricated twin ids would turn it RED), and the #434 alias shape.
…mposition)

The direct-anthropic entries gain additive cache multipliers in #626;
the bedrock records do not carry them yet — the dict equality would
break on the merged tree while the RATES still agree. Compare the
(input, output) pair, as #626's own test updates do.
@gadievron

Copy link
Copy Markdown
Collaborator Author

Coordination note (the process's A4-final re-fire, 2026-09-21): this PR composes with #661 (the cache-accounting change) — the direct-anthropic entries there gain additive cache multipliers these bedrock records don't carry, so this PR's dict-equality test would break on the merged tree while the rates still agree. The latest push pair-compares the (input, output) rates instead (the same update #661 made to its own tests). Also for the record: a cached run on these bedrock records (no cache multipliers yet — AWS-side pricing unverified) takes #661's unpriced_cache_models incomplete path, which is the honest behavior until the rates are sourced.

@gadievron
gadievron merged commit 4b13fce into master Sep 21, 2026
19 checks passed
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.

config/models.json: the three current Claude models also lack Bedrock records (the 4.x-era direct Claudes all carry us./global. twins)

1 participant