Four verified backlog items in the gateway/model-id rot cluster:
- #2507 (remaining parts; tier registration already landed via #2800):
refresh recipes/google.ts chat + expansion allowlists from retired
gemini-2.0-flash* / gemini-1.5-pro ids to the current GA family
(gemini-2.5-pro/flash/flash-lite + -latest aliases), and repoint
DEFAULT_ALIASES.gemini from the 404ing google:gemini-3-pro to
google:gemini-2.5-pro so the alias is recipe-valid for ad-hoc use.
- #1270: cross-modal-eval DEFAULT_SLOTS are now alias names
(gpt/opus/gemini) resolved via resolveAlias at run time — one
maintenance point (DEFAULT_ALIASES) instead of hardcoded ids that
rot into INCONCLUSIVE default runs. gpt-5 added to the openai recipe
chat allowlist so the gpt alias passes assertTouchpoint; gemini-2.5
pricing added to the canonical table so the default panel is priced.
- #2516 (takeover, originally by @ervza): dream phases propose_takes,
grade_takes, calibration_profile resolve their model through a shared
resolvePhaseChatModel (per-phase models.dream.<phase> config key >
models.default > GBRAIN_MODEL > gateway chat model > tier default)
instead of hardcoded 'claude-sonnet-4-6' / static TIER_DEFAULTS, and
pass the RESOLVED model as modelHint so the actual LLM call, the
budget check, and the recorded model_id agree. The original PR's
patterns.ts hunk was dropped (already fixed on master) and the
calibration hunk rebased onto the TIER_DEFAULTS.reasoning line.
- #2099: eval longmemeval no longer feeds resolveModel's
provider-prefixed ids ('anthropic:claude-sonnet-4-6') verbatim into
the raw Anthropic SDK (API 404 out of the box). Answer-gen + trajectory
extractor clients route through the gateway client seam think already
uses, falling back to the raw SDK with the prefix stripped
(toRawSdkParams). Adds the --extractor-model flag.
Co-authored-by: ervza <ervza@users.noreply.github.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>