fix(bedrock_mantle): route xai.grok-4.3 via /openai/v1 frontier path (#33027)

grok-4.3 is a third-party frontier model on Bedrock Mantle, served on the
/openai/v1 base (like gpt-5.x and gemma-4), not the standard /v1 path used by
open-weights models such as gpt-oss. #31916 added the model without
use_openai_responses_path, so mantle_base_segment() routed it to /v1, where
Bedrock rejects the call with "Berm is not enabled for this account"
(access_denied) — the model is only reachable on the frontier /openai/v1 path.

Add use_openai_responses_path=true to the bedrock_mantle/xai.grok-4.3 price-map
entry (both model_prices_and_context_window.json and the backup) so
mantle_base_segment() returns "openai/v1", and update the registry test to
assert use_openai_path is True.
This commit is contained in:
Marty Sullivan 2026-07-14 19:38:13 -04:00 • committed by GitHub
parent d7585cddd3
commit 75faed1778
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 8 additions and 1 deletions

View file

@ -43574,6 +43574,7 @@
"supports_vision": true
},
"bedrock_mantle/xai.grok-4.3": {
"use_openai_responses_path": true,
"input_cost_per_token": 1.25e-06,
"output_cost_per_token": 2.5e-06,
"cache_read_input_token_cost": 2e-07,

View file

@ -43806,6 +43806,7 @@
"supports_vision": true
},
"bedrock_mantle/xai.grok-4.3": {
"use_openai_responses_path": true,
"input_cost_per_token": 1.25e-06,
"output_cost_per_token": 2.5e-06,
"cache_read_input_token_cost": 2e-07,

View file

@ -460,7 +460,12 @@ class TestBedrockMantleResponsesRegistry:
model="xai.grok-4.3",
)
assert isinstance(cfg, BedrockMantleResponsesAPIConfig)
assert cfg.use_openai_path is False
# grok-4.3 is a third-party frontier model on Bedrock Mantle, served on the
# /openai/v1 base (like gpt-5.x / gemma-4), not the standard /v1 path used by
# open-weights models such as gpt-oss. The standard /v1 base returns
# "Berm is not enabled for this account", so the price-map entry carries
# use_openai_responses_path=true.
assert cfg.use_openai_path is True
def test_unmapped_frontier_model_falls_through_to_none(self, restore_model_cost):
# The gate is data-driven, not name-based: an unseen model not yet in the