fix(models): add Claude Sonnet 5 to curated model lists - #55853
fix(models): add Claude Sonnet 5 to curated model lists#55853liuhao1024 wants to merge 6 commits into
Conversation
Add claude-sonnet-5 to the static curated lists for Anthropic, OpenRouter, Nous Portal, Copilot, GMI, OpenCode Zen, and AWS Bedrock so the model appears in hermes model / /model picker discovery. Fixes NousResearch#55846
The test test_provider_model_ids_falls_back_to_static_models asserts
provider_model_ids('gmi') == list(_PROVIDER_MODELS['gmi']), but when
live API is unavailable the function returns fallback_models from the
provider profile instead of _PROVIDER_MODELS. Add claude-sonnet-5 to
the GMI plugin's fallback_models to match the curated list update.
teknium1
left a comment
There was a problem hiding this comment.
Thanks for the catalog update. Current main already includes the OpenRouter/Nous part through 76a468e51315e7e822990257b284dc8ee938ff38 (hermes_cli/models.py:45 and :196), while the native Anthropic setup flow still uses the static list at hermes_cli/model_setup_flows.py:2950, where current _PROVIDER_MODELS["anthropic"] omits Sonnet 5 (hermes_cli/models.py:368-379).
Problems
tests/hermes_cli/test_models.py:979,:984, and:988freeze individual catalog contents.AGENTS.md:1309-1355explicitly rejects model-catalog change-detector tests; these will fail on normal model replacement without testing a behavior contract.- The change updates GMI in both
_PROVIDER_MODELSandProviderProfile.fallback_models, but the new tests do not guard that duplicated fallback relationship.
Suggested changes
- Replace the exact Sonnet-5 assertions with an invariant. The existing manifest drift guard in
tests/hermes_cli/test_model_catalog.py:514-543already covers the OpenRouter/Nous generated-catalog relationship. - If salvaging GMI, add a relation test that its profile fallback remains aligned with
_PROVIDER_MODELS["gmi"].
Automated hermes-sweeper review.
|
|
||
| def test_anthropic_native_list_includes_sonnet_5(self): | ||
| from hermes_cli.models import _PROVIDER_MODELS | ||
| assert "claude-sonnet-5" in _PROVIDER_MODELS["anthropic"] |
There was a problem hiding this comment.
Please remove this model-specific membership snapshot (and the sibling Sonnet-5 assertions below). AGENTS.md:1309-1355 rejects change-detector tests for model catalogs; prefer an invariant such as the existing generated-manifest drift guard or a provider-fallback consistency relation.
PRs NousResearch#55848 and NousResearch#55853 both added claude-sonnet-5 to the anthropic and gmi curated lists; keep one entry each (newest-sonnet-first ordering under claude-fable-5, matching the existing list convention).
The salvaged NousResearch#55853 commit added anthropic/claude-sonnet-5 blocks to the manifest, but main already carried them from NousResearch#56617 — leaving duplicate entries the manifest-sync test rejects. Rebuilt via scripts/build_model_catalog.py.
What does this PR do?
Adds Claude Sonnet 5 (
claude-sonnet-5) to the static curated model lists inhermes_cli/models.pyso it appears inhermes model//modelpicker discovery for Anthropic, OpenRouter, Nous Portal, GitHub Copilot, GMI, OpenCode Zen, and AWS Bedrock.Related Issue
Fixes #55846
Type of Change
Changes Made
hermes_cli/models.py: Addedclaude-sonnet-5/anthropic/claude-sonnet-5to 7 curated lists:OPENROUTER_MODELS(fallback snapshot)_PROVIDER_MODELS["nous"](Nous Portal)_PROVIDER_MODELS["copilot"](GitHub Copilot)_PROVIDER_MODELS["anthropic"](native Anthropic)_PROVIDER_MODELS["gmi"](GMI cloud)_PROVIDER_MODELS["opencode-zen"](OpenCode Zen)_PROVIDER_MODELS["bedrock"](AWS Bedrock)tests/hermes_cli/test_models.py: Added 3 regression tests verifying Sonnet 5 appears in the anthropic, OpenRouter, and nous curated lists.website/static/api/model-catalog.json: Regenerated viascripts/build_model_catalog.py.How to Test
python -m pytest tests/hermes_cli/test_models.py::TestClaudeSonnet5InCuratedLists -q— should pass (3 tests)python -m pytest tests/hermes_cli/test_models.py -q— all 90 tests should passpython -m pytest tests/hermes_cli/test_model_catalog.py -q— all 29 tests should passclaude-sonnet-5appears inhermes modelpicker for Anthropic providerChecklist
Code
fix(scope):,feat(scope):, etc.)pytest tests/ -qand all tests passDocumentation & Housekeeping
docs/, docstrings) — or N/Acli-config.yaml.exampleif I added/changed config keys — or N/ACONTRIBUTING.mdorAGENTS.mdif I changed architecture or workflows — or N/A