Parent: #5617 (Phase A, P0: item 18)
Why
The Python static model registry has drifted from both the JS reference set and the current Anthropic lineup. It is missing claude-sonnet-4-6 (which the JS KNOWN_MODELS set advertises) and still advertises the retired claude-3-5-haiku and claude-3-5-sonnet. Advertising retired models while omitting a current one is misleading in reflection and the dev UI, and breaks parity with JS.
This is a low-risk parity change: it is isolated to the model-info module, has no upstream or downstream dependencies, and nothing else in the epic blocks on it, so it can land early as a standalone change.
What needs to be done
- Bring the default known-model set in line with the JS static set and the current API: surface
claude-sonnet-4-6, stop advertising the retired claude-3-5-* models, and keep the existing 4.x entries.
- Keep limited-access and testing-blocked models out of the default static set while remaining reachable:
Acceptance
claude-sonnet-4-6 is advertised; retired claude-3-5-* entries are no longer advertised; existing 4.x entries are retained.
claude-fable-5 and claude-mythos-5 are absent from the static set but still resolve when referenced by full name.
- Model/registry tests updated; CI green.
Reference
- Current Python set:
py/plugins/anthropic/src/genkit/plugins/anthropic/model_info.py:166-178; generic fallback get_model_info() at model_info.py:189-204.
- JS target:
js/plugins/anthropic/src/models.ts:105-117 (KNOWN_MODELS).
Parent: #5617 (Phase A, P0: item 18)
Why
The Python static model registry has drifted from both the JS reference set and the current Anthropic lineup. It is missing
claude-sonnet-4-6(which the JSKNOWN_MODELSset advertises) and still advertises the retiredclaude-3-5-haikuandclaude-3-5-sonnet. Advertising retired models while omitting a current one is misleading in reflection and the dev UI, and breaks parity with JS.This is a low-risk parity change: it is isolated to the model-info module, has no upstream or downstream dependencies, and nothing else in the epic blocks on it, so it can land early as a standalone change.
What needs to be done
claude-sonnet-4-6, stop advertising the retiredclaude-3-5-*models, and keep the existing 4.x entries.claude-fable-5: present in the JS set but deferred here due to testing limitations.claude-mythos-5: access-gated and absent from JSKNOWN_MODELS.Both must stay usable via generic model references and via dynamic listing (item 19, [plugins] Anthropic Python: dynamic model listing via beta.models.list with static fallback #5633 ), just not in the default set.
Acceptance
claude-sonnet-4-6is advertised; retiredclaude-3-5-*entries are no longer advertised; existing 4.x entries are retained.claude-fable-5andclaude-mythos-5are absent from the static set but still resolve when referenced by full name.Reference
py/plugins/anthropic/src/genkit/plugins/anthropic/model_info.py:166-178; generic fallbackget_model_info()atmodel_info.py:189-204.js/plugins/anthropic/src/models.ts:105-117(KNOWN_MODELS).