Repository navigation
Complete routing effort metadata for current OpenAI and Anthropic models #10030
Copy link
Copy link
Open
Description
Summary
AWF's native model routing reads a model's reasoning efforts and context window from
routing metadata in containers/api-proxy/model-api-mapping.json. For the direct openai and
anthropic providers, this file is the only source of efforts; Copilot routing reads them from
live /models instead. The metadata is incomplete:
- OpenAI: only
gpt-5.4has routing metadata. GPT-5.4 mini, GPT-5.5, GPT-5.6 Sol, Terra and
Luna, GPT-6 Astra, Sol and Luna, and GPT-6.1 Sol have none, so the router has no effort choices
for them. - Anthropic: every family lists
low, medium, high, maxand omitsxhigh, which Anthropic
supports on Claude Opus 5.5, Opus 5, Sonnet 5.5, Sonnet 5, Opus 4.8 and Opus 4.7. Claude Haiku
5.5 has no routing metadata, because its efforts were marked unverified.
Evidence
Efforts and context windows come from each provider's official model pages, checked on
15 Oct 2026.
OpenAI (model pages, one per model):
| Model IDs | reasoning.effort |
Context window |
|---|---|---|
gpt-5.4-mini |
none, low, medium, high, xhigh | 400,000 |
gpt-5.5 |
none, low, medium, high, xhigh | 1,050,000 |
gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna (and the gpt-5.6 alias, which routes to Sol) |
none, low, medium, high, xhigh, max | 1,050,000 |
gpt-6-astra |
low, medium, high, xhigh, max | 1,050,000 |
gpt-6-sol, gpt-6-luna |
none, low, medium, high, xhigh, max | 1,050,000 |
gpt-6.1-sol |
low, medium, high, xhigh, max (the page says none and minimal are unsupported) |
1,050,000 |
Anthropic (effort guide,
models overview):
xhighis available on Claude Fable 5.1, Mythos 5.1, Fable 5, Mythos 5, Opus 5.5, Opus 5, Opus
4.8, Opus 4.7, Sonnet 5.5, Sonnet 5 and Haiku 5.5.- It is not available on Opus 4.6, Sonnet 4.6 or Mythos Preview. The guide notes that "not
every model that supportsmaxsupportsxhigh". - Claude Haiku 5.5 supports all five levels and has a 1M-token context window.
Proposed changes
Edit containers/api-proxy/model-api-mapping.json and keep docs/model-api-mapping.json
identical; a sync test enforces this.
OpenAI provider
- Add
routingmetadata, with the efforts and context windows above, to the existinggpt-6-astra,
gpt-6-sol,gpt-6.1-sol,gpt-6-luna,gpt-5.6andgpt-5.5families. - Give each family exact
routingPatterns, asgpt-5.4already has, so the metadata never
applies to unrelated variants. This matters most forgpt-5.6, because its wildcard would
otherwise also matchgpt-5.6-cyber, and forgpt-5.5, which would otherwise match
gpt-5.5-pro. Include the documented dated snapshots where they exist (for example
gpt-5.5-2026-04-23). - Add a
gpt-5.4-minifamily beforegpt-5.4, with its own routing metadata (400K context). The
existinggpt-5.4routing patterns stay exact-match.
Anthropic provider
- Add
xhighbetweenhighandmaxfor theclaude-opus-5andclaude-sonnet-5families. - Split Opus 4.6 out of the
claude-opus-4routing entry. Opus 4.8 and 4.7 getxhigh; Opus 4.6
keepslow, medium, high, max. The new family name is not a Copilot CLI model, so add it to
MAPPING_FAMILIES_NOT_EXPOSED_BY_COPILOT_CLIinsrc/copilot-model-catalog-sync.test.ts. - Give
claude-haiku-5routing metadata forclaude-haiku-5-5: all five efforts and a 1M-token
context window. Update its note, which says the efforts are unverified. Its entry in
MAPPING_FAMILIES_NOT_EXPOSED_BY_COPILOT_CLIis now stale, becauseclaude-haiku-5.5is in
SUPPORTED_COPILOT_MODELS, so remove it. - Leave
claude-sonnet-4(Sonnet 4.6) unchanged.
Housekeeping
- Bump
lastUpdated, and pointsources.openai_routingat the model index rather than only the
GPT-5.4 page.
Validation
- Update
containers/api-proxy/model-api-mapping.test.js:gpt-5.4-mininow returns metadata instead ofnull.- The Opus 5.5 efforts include
xhigh. claude-opus-4-6has noxhigh.gpt-5.6-cyberandgpt-5.5-prostill returnnull.- The reflect test's
lastUpdatedchanges.
src/copilot-model-catalog-sync.test.tspasses: the two mapping copies match and every family is
represented or excluded.routing-catalogue.test.jspasses. Optionally add a case where a direct OpenAI model such as
gpt-6-solreturns its efforts without runtime metadata.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity