fix(reasoning_effort_grid_v4): grant sonnet-4-6 entries the max-effort cap

The runtime _validate_effort_for_model allows effort='max' for any
Claude 4.6 model (opus or sonnet), and model_prices_and_context_window
sets supports_max_reasoning_effort: true for claude-sonnet-4-6. The
grid spec previously gave sonnet-4-6 entries _CAPS_NONE, so expected()
returned status=400 for effort='max', which mismatched the runtime's
status=200 and caused 6 cells (one per route) to fail.

Rename _CAPS_OPUS_4_6 to _CAPS_4_6 (since the cap set is shared by
opus and sonnet 4.6) and assign it to all sonnet-4-6 entries.

Co-authored-by: Yassin Kortam <yassin@berri.ai>
This commit is contained in:
Cursor Agent 2026-05-16 03:12:20 +00:00
parent 432742778a
commit 51dff1ff79
No known key found for this signature in database

View File

@ -114,7 +114,7 @@ _BEDROCK_REQ = frozenset({"AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY"})
_CAPS_OPUS_4_7: FrozenSet[str] = frozenset(
{"supports_xhigh_reasoning_effort", "supports_max_reasoning_effort"}
)
_CAPS_OPUS_4_6: FrozenSet[str] = frozenset({"supports_max_reasoning_effort"})
_CAPS_4_6: FrozenSet[str] = frozenset({"supports_max_reasoning_effort"})
_CAPS_NONE: FrozenSet[str] = frozenset()
@ -131,7 +131,7 @@ ANTHROPIC_DIRECT_MODELS: Tuple[ModelEntry, ...] = (
model="anthropic/claude-sonnet-4-6",
mode="adaptive",
required_env=_ANTHROPIC_REQ,
caps=_CAPS_NONE,
caps=_CAPS_4_6,
),
ModelEntry(
alias="claude-haiku-4-5",
@ -156,14 +156,14 @@ AZURE_AI_MODELS: Tuple[ModelEntry, ...] = (
model="azure_ai/claude-opus-4-6",
mode="adaptive",
required_env=_AZURE_FOUNDRY_REQ,
caps=_CAPS_OPUS_4_6,
caps=_CAPS_4_6,
),
ModelEntry(
alias="azure-claude-sonnet-4-6",
model="azure_ai/claude-sonnet-4-6",
mode="adaptive",
required_env=_AZURE_FOUNDRY_REQ,
caps=_CAPS_NONE,
caps=_CAPS_4_6,
),
ModelEntry(
alias="azure-claude-haiku-4-5",
@ -190,7 +190,7 @@ VERTEX_AI_MODELS: Tuple[ModelEntry, ...] = (
mode="adaptive",
extra_params=(("vertex_location", "us-east5"),),
required_env=_VERTEX_REQ,
caps=_CAPS_OPUS_4_6,
caps=_CAPS_4_6,
),
ModelEntry(
alias="vertex-claude-sonnet-4-6",
@ -198,7 +198,7 @@ VERTEX_AI_MODELS: Tuple[ModelEntry, ...] = (
mode="adaptive",
extra_params=(("vertex_location", "us-east5"),),
required_env=_VERTEX_REQ,
caps=_CAPS_NONE,
caps=_CAPS_4_6,
),
ModelEntry(
alias="vertex-claude-haiku-4-5",
@ -226,7 +226,7 @@ BEDROCK_CONVERSE_MODELS: Tuple[ModelEntry, ...] = (
mode="adaptive",
extra_params=(("aws_region_name", "us-east-1"),),
required_env=_BEDROCK_REQ,
caps=_CAPS_OPUS_4_6,
caps=_CAPS_4_6,
),
ModelEntry(
alias="bedrock-claude-sonnet-4-6",
@ -234,7 +234,7 @@ BEDROCK_CONVERSE_MODELS: Tuple[ModelEntry, ...] = (
mode="adaptive",
extra_params=(("aws_region_name", "us-east-1"),),
required_env=_BEDROCK_REQ,
caps=_CAPS_NONE,
caps=_CAPS_4_6,
),
ModelEntry(
alias="bedrock-claude-sonnet-4-5",
@ -254,7 +254,7 @@ BEDROCK_INVOKE_CHAT_MODELS: Tuple[ModelEntry, ...] = (
mode="adaptive",
extra_params=(("aws_region_name", "us-east-1"),),
required_env=_BEDROCK_REQ,
caps=_CAPS_OPUS_4_6,
caps=_CAPS_4_6,
),
ModelEntry(
alias="bedrock-invoke-claude-sonnet-4-6",
@ -262,7 +262,7 @@ BEDROCK_INVOKE_CHAT_MODELS: Tuple[ModelEntry, ...] = (
mode="adaptive",
extra_params=(("aws_region_name", "us-east-1"),),
required_env=_BEDROCK_REQ,
caps=_CAPS_NONE,
caps=_CAPS_4_6,
),
ModelEntry(
alias="bedrock-invoke-claude-opus-4-5",