Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions hermes_cli/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
("anthropic/claude-opus-4.8", ""),
("anthropic/claude-opus-4.8-fast", "2x price, higher output speed"),
("anthropic/claude-sonnet-4.6", ""),
("anthropic/claude-sonnet-5", ""),
("anthropic/claude-haiku-4.5", ""),
# OpenAI
("openai/gpt-5.5", ""),
Expand Down Expand Up @@ -178,6 +179,7 @@ def _xai_curated_models() -> list[str]:
# Anthropic
"anthropic/claude-opus-4.8",
"anthropic/claude-sonnet-4.6",
"anthropic/claude-sonnet-5",
"anthropic/claude-haiku-4.5",
# OpenAI
"openai/gpt-5.5",
Expand Down Expand Up @@ -252,6 +254,7 @@ def _xai_curated_models() -> list[str]:
"gpt-4o",
"gpt-4o-mini",
"claude-sonnet-4.6",
"claude-sonnet-5",
"claude-sonnet-4",
"claude-sonnet-4.5",
"claude-haiku-4.5",
Expand Down Expand Up @@ -339,6 +342,7 @@ def _xai_curated_models() -> list[str]:
"MiniMax-M2",
],
"anthropic": [
"claude-sonnet-5",
"claude-fable-5",
"claude-opus-4-8",
"claude-opus-4-7",
Expand Down Expand Up @@ -377,6 +381,7 @@ def _xai_curated_models() -> list[str]:
"moonshotai/Kimi-K2.5",
"google/gemini-3.1-flash-lite-preview",
"anthropic/claude-sonnet-4.6",
"anthropic/claude-sonnet-5",
"openai/gpt-5.4",
],
"opencode-zen": [
Expand All @@ -400,6 +405,7 @@ def _xai_curated_models() -> list[str]:
"gpt-5-codex",
"gpt-5-nano",
"claude-fable-5",
"claude-sonnet-5",
"claude-opus-4-8",
"claude-opus-4-7",
"claude-opus-4-6",
Expand Down Expand Up @@ -498,6 +504,7 @@ def _xai_curated_models() -> list[str]:
# prefers live discovery via ListFoundationModels + ListInferenceProfiles.
# Use inference profile IDs (us.*) since most models require them.
"bedrock": [
"us.anthropic.claude-sonnet-5",
"us.anthropic.claude-sonnet-4-6",
"us.anthropic.claude-opus-4-6-v1",
"us.anthropic.claude-haiku-4-5-20251001-v1:0",
Expand Down
1 change: 1 addition & 0 deletions plugins/model-providers/gmi/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
"moonshotai/Kimi-K2.5",
"google/gemini-3.1-flash-lite-preview",
"anthropic/claude-sonnet-4.6",
"anthropic/claude-sonnet-5",
"openai/gpt-5.4",
),
)
Expand Down
17 changes: 17 additions & 0 deletions tests/hermes_cli/test_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -969,3 +969,20 @@ def test_real_catalog_model_unaffected(self):
r = validate_requested_model("gpt-5.5", "openai-codex")
assert r["accepted"] is True
assert r["recognized"] is True


class TestClaudeSonnet5InCuratedLists:
"""Regression: Claude Sonnet 5 must appear in curated model lists (#55846)."""

def test_anthropic_native_list_includes_sonnet_5(self):
from hermes_cli.models import _PROVIDER_MODELS
assert "claude-sonnet-5" in _PROVIDER_MODELS["anthropic"]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.


def test_openrouter_fallback_includes_sonnet_5(self):
from hermes_cli.models import OPENROUTER_MODELS
ids = [mid for mid, _ in OPENROUTER_MODELS]
assert "anthropic/claude-sonnet-5" in ids

def test_nous_list_includes_sonnet_5(self):
from hermes_cli.models import _PROVIDER_MODELS
assert "anthropic/claude-sonnet-5" in _PROVIDER_MODELS["nous"]
9 changes: 8 additions & 1 deletion website/static/api/model-catalog.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updated_at": "2026-06-16T18:04:33Z",
"updated_at": "2026-06-30T19:42:05Z",
"metadata": {
"source": "hermes-agent repo",
"docs": "https://hermes-agent.nousresearch.com/docs/reference/model-catalog"
Expand All @@ -24,6 +24,10 @@
"id": "anthropic/claude-sonnet-4.6",
"description": ""
},
{
"id": "anthropic/claude-sonnet-5",
"description": ""
},
{
"id": "anthropic/claude-haiku-4.5",
"description": ""
Expand Down Expand Up @@ -158,6 +162,9 @@
{
"id": "anthropic/claude-sonnet-4.6"
},
{
"id": "anthropic/claude-sonnet-5"
},
{
"id": "anthropic/claude-haiku-4.5"
},
Expand Down
Loading