Summary
Refresh MODEL_REGISTRY and provider allowlists for current frontier models, eliminate *-preview model IDs in favor of stable Vertex/OpenAI strings when available, and remove models scheduled to lose support within ~6 months (from implementation date).
1. Add OpenAI — GPT-5.4 (all variants)
Per OpenAI Models, the current flagship line includes gpt-5.4, gpt-5.4-mini, and gpt-5.4-nano (confirm any additional chat/variant IDs in docs at implementation time).
Code touchpoints
coaching/src/infrastructure/llm/openai_provider.py — extend SUPPORTED_MODELS; update models_without_temperature (or equivalent) if new IDs follow GPT-5.x rules.
coaching/src/core/llm_models.py — new SupportedModel entries with pricing/capabilities from current pricing page.
- Unit tests under
coaching/tests/unit/infrastructure/llm/ as needed.
2. Add Google Vertex — Gemini 3.1 (Pro / Flash / Flash-Lite)
Add stable model names for:
Migrate off preview: Today we use gemini-3.1-pro-preview for GEMINI_3_PRO in llm_models.py and google_vertex_provider.py. Replace with the non-preview ID once Google publishes stable aliases on Vertex, and update CACHE_SUPPORTED_MODELS_GEMINI if caching rules differ.
3. Add AWS Bedrock — Claude Sonnet 4.6 & Opus 4.6
- Opus 4.6 is announced for Bedrock (e.g. base id pattern
anthropic.claude-opus-4-6-v1:0 — verify exact ID and inference-profile requirements in AWS Bedrock Claude models / console for target regions).
- Sonnet 4.6 — confirm Bedrock model ID and whether it uses the same inference-profile pattern as 4.5.
Code touchpoints
coaching/src/infrastructure/llm/bedrock_provider.py — SUPPORTED_MODELS, INFERENCE_PROFILE_MODELS, CACHE_SUPPORTED_MODELS as applicable.
coaching/src/core/llm_models.py — new codes (e.g. CLAUDE_SONNET_4_6, CLAUDE_OPUS_4_6).
4. Remove all preview model IDs from this repo
Known today
GEMINI_3_PRO → model_name gemini-3.1-pro-preview (llm_models.py, GoogleVertexLLMProvider.SUPPORTED_MODELS).
Audit
- Grep for
preview in coaching/src/infrastructure/llm/, coaching/src/core/llm_models.py, and coaching/src/llm/ (e.g. legacy gpt-4-turbo-preview in coaching/src/llm/providers/openai.py).
- Replace with stable IDs or remove dead paths.
5. Remove / retire models with support ending within ~6 months
Re-verify dates on vendor pages before merging; policy: drop from active registry (or set is_active=False + removal plan) if shutdown is on or before ~6 months from merge date.
Strong candidates (already public)
- Gemini 2.0 Flash family — Google marks Gemini 2.0 Flash / 2.0 Flash-Lite as deprecated with migration away from 2.0; see Gemini models and deprecations. Our allowlist includes
gemini-2.0-flash, gemini-2.0-flash-001, gemini-2.0-flash-lite in google_vertex_provider.py — remove or replace with 2.5 equivalents already in registry.
- OpenAI — Check API deprecations for any remaining IDs we still expose (e.g. legacy gpt-4-turbo / snapshots). Remove or replace per official timeline if shutdown falls within the window.
- Bedrock — Review Model lifecycle / model release notes for Claude 3 / legacy entries we still list (
anthropic.claude-v2, claude-3-sonnet-20240229, etc.) and drop those with announced retirement ≤6 months.
6. Acceptance criteria
References
In progress (agent)
Approach: Update llm_models.py, openai_provider.py, google_vertex_provider.py, bedrock_provider.py, legacy coaching/src/llm/providers/* where needed; extend unit tests.
Extra (approved): When retiring models, scan for fallback/default/topic model references (Parameter Store docs, topic_seed_data, DynamoDB seed JSON, LLMTopic defaults/aliases) and remap to closest supported registry codes.
Validation: ruff, mypy, full pytest; document removed models + vendor deprecation links in PR.
Summary
Refresh
MODEL_REGISTRYand provider allowlists for current frontier models, eliminate*-previewmodel IDs in favor of stable Vertex/OpenAI strings when available, and remove models scheduled to lose support within ~6 months (from implementation date).1. Add OpenAI — GPT-5.4 (all variants)
Per OpenAI Models, the current flagship line includes gpt-5.4, gpt-5.4-mini, and gpt-5.4-nano (confirm any additional chat/variant IDs in docs at implementation time).
Code touchpoints
coaching/src/infrastructure/llm/openai_provider.py— extendSUPPORTED_MODELS; updatemodels_without_temperature(or equivalent) if new IDs follow GPT-5.x rules.coaching/src/core/llm_models.py— newSupportedModelentries with pricing/capabilities from current pricing page.coaching/tests/unit/infrastructure/llm/as needed.2. Add Google Vertex — Gemini 3.1 (Pro / Flash / Flash-Lite)
Add stable model names for:
Migrate off preview: Today we use
gemini-3.1-pro-previewforGEMINI_3_PROinllm_models.pyandgoogle_vertex_provider.py. Replace with the non-preview ID once Google publishes stable aliases on Vertex, and updateCACHE_SUPPORTED_MODELS_GEMINIif caching rules differ.3. Add AWS Bedrock — Claude Sonnet 4.6 & Opus 4.6
anthropic.claude-opus-4-6-v1:0— verify exact ID and inference-profile requirements in AWS Bedrock Claude models / console for target regions).Code touchpoints
coaching/src/infrastructure/llm/bedrock_provider.py—SUPPORTED_MODELS,INFERENCE_PROFILE_MODELS,CACHE_SUPPORTED_MODELSas applicable.coaching/src/core/llm_models.py— new codes (e.g.CLAUDE_SONNET_4_6,CLAUDE_OPUS_4_6).4. Remove all preview model IDs from this repo
Known today
GEMINI_3_PRO→model_namegemini-3.1-pro-preview(llm_models.py,GoogleVertexLLMProvider.SUPPORTED_MODELS).Audit
previewincoaching/src/infrastructure/llm/,coaching/src/core/llm_models.py, andcoaching/src/llm/(e.g. legacygpt-4-turbo-previewincoaching/src/llm/providers/openai.py).5. Remove / retire models with support ending within ~6 months
Re-verify dates on vendor pages before merging; policy: drop from active registry (or set
is_active=False+ removal plan) if shutdown is on or before ~6 months from merge date.Strong candidates (already public)
gemini-2.0-flash,gemini-2.0-flash-001,gemini-2.0-flash-liteingoogle_vertex_provider.py— remove or replace with 2.5 equivalents already in registry.anthropic.claude-v2,claude-3-sonnet-20240229, etc.) and drop those with announced retirement ≤6 months.6. Acceptance criteria
LLMProviderFactory.previewsuffix in production registry (unless Google only offers preview on Vertex — then document exception and gate behind explicit preview flag).References
In progress (agent)
Approach: Update
llm_models.py,openai_provider.py,google_vertex_provider.py,bedrock_provider.py, legacycoaching/src/llm/providers/*where needed; extend unit tests.Extra (approved): When retiring models, scan for fallback/default/topic model references (Parameter Store docs,
topic_seed_data, DynamoDB seed JSON,LLMTopicdefaults/aliases) and remap to closest supported registry codes.Validation: ruff, mypy, full pytest; document removed models + vendor deprecation links in PR.