feat(models): offer the Claude 5 family only, default to Sonnet 5#775
Merged
Conversation
Replace the Anthropic model picker with the current lineup: claude-sonnet-5 (new default), claude-opus-5 (added), claude-haiku-4-5-20251001. Removes claude-opus-4-7, claude-opus-4-8, claude-fable-5 and claude-sonnet-4-6. The default moves in all six places that resolve it, so an instance that never touches the picker still lands on a live id: MODELS[0], aeon.yml model:, the config.ts parse fallback, the page.tsx useState seed, and the CONFIG_MODEL fallbacks in aeon.yml + messages.yml. Three config-generating skills were steering agents at removed ids (create-skill's default recommendation, feature's "current models" replacement list, skill-repair's timeout downgrade). Retargeted to Haiku 4.5 for the cost cases and Opus 5 for reasoning-heavy ones, so they stop minting ids that 422 at dispatch time. Gateway pins verified against each provider's live catalog: - openrouter: slot defaults moved to anthropic/claude-opus-5 and anthropic/claude-sonnet-5, both confirmed present in the catalog. - venice: fixes a latent 404. Venice carries no haiku model at all, yet claude-haiku-4-5 sat in the allowlist, so selecting Haiku 4.5 matched and routed to a model Venice has never had, bypassing the safe fallback that existed to catch exactly that. Allowlist rewritten to the 9 Claude ids Venice actually carries; fallback moved from opus-4-6 to sonnet-5. Sonnet 5 and Opus 5 now pass through instead of being needlessly downgraded. Verified: 165/165 dashboard tests, tsc --noEmit, validate-config CLEAN, test_run_grok ALL PASS, actionlint and shellcheck clean.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Cuts the Anthropic model picker down to the current Claude 5 family and moves the default to Sonnet 5.
claude-sonnet-4-6claude-sonnet-5claude-opus-5was never in the picker despite Fable 5 and Sonnet 5 being there, so the newest Opus on offer was 4.8.Why it touches 16 files
The default resolves in six independent places. Miss one and an instance that never opens the picker silently keeps resolving a removed id:
MODELS[0],aeon.ymlmodel:, theconfig.tsparse fallback, thepage.tsxuseState seed, and theCONFIG_MODELfallbacks in bothaeon.ymlandmessages.yml.Three skills generate config and were recommending removed ids -
create-skill's default model recommendation,feature's "current models (suggest these as replacements)" list, andskill-repair's timeout downgrade. Left alone they would keep writing ids that 422 at dispatch. Retargeted to Haiku 4.5 for cost cases, Opus 5 for reasoning-heavy ones.Gateway fixes (verified against live provider catalogs)
openrouter - slot defaults moved to
anthropic/claude-opus-5/anthropic/claude-sonnet-5, both confirmed present in OpenRouter's public catalog.venice - fixes a latent 404 that predates this PR. Venice carries no haiku model at all, but
claude-haiku-4-5was in the allowlist. Selecting Haiku 4.5, a live picker option, matched and routed to a model Venice has never had, bypassing the safe fallback that existed to catch exactly that case. Allowlist rewritten to the 9 Claude ids Venice actually carries, fallback moved fromopus-4-6tosonnet-5.Routing now, exercising the real case statement:
Also flips the
GROK_MODELgateway default fromgrok-build-0.1togrok-4.5, so the gateway and CLI paths name the same model.Verification
tsc --noEmitcleanvalidate-config.jsCLEAN (62 skills)test_run_grok.shALL PASS (incl. the 6 OAuth-refresh cases from fix(grok): persist rotated OAuth refresh token so GROK_CREDENTIALS survives past 6h #773)actionlint+shellcheck -S errorcleanchoiceoptions and vice versa, so nothing can 422 and no dead option remainsDeliberately unchanged
skills/fork-fleet/SKILL.mdkeepsclaude-sonnet-4-6in two report templates - those are placeholder values describing config read from other forks, which legitimately pin older ids.Separate follow-up, not fixed here
harness-adapter/README.mdpoints contributors upstream toaaronjmars/harness-adapterfor fixes and says three more harnesses (opencode,copilot,agy) plus the live test suite live there. That repo does not exist - 404 from the API and raw host, absent from an authenticated repo listing, and not in global search. Worth correcting the README separately.