diff --git a/internal/core/model_identity.go b/internal/core/model_identity.go index 0d31948a..8a7eaebf 100644 --- a/internal/core/model_identity.go +++ b/internal/core/model_identity.go @@ -103,7 +103,7 @@ func normalizeCanonicalModel(providerID, rawModelID string, cfg ModelNormalizati identity.LineageID = identity.Vendor + "/" + claude.lineage identity.Confidence = claude.confidence identity.Reason = claude.reason - identity.Canonical = "anthropic/claude-" + FirstNonEmpty(claude.variant, "unknown") + identity.Canonical = identity.Vendor + "/" + claude.lineage case "gpt": gpt := canonicalizeGPT(tokens) identity.Vendor = FirstNonEmpty(identity.Vendor, "openai") diff --git a/internal/core/model_identity_test.go b/internal/core/model_identity_test.go index 85db889e..944fb322 100644 --- a/internal/core/model_identity_test.go +++ b/internal/core/model_identity_test.go @@ -9,6 +9,9 @@ func TestNormalizeCanonicalModel_ClaudeLineage(t *testing.T) { if got.LineageID != "anthropic/claude-opus-4.6" { t.Fatalf("lineage = %q, want anthropic/claude-opus-4.6", got.LineageID) } + if got.Canonical != "anthropic/claude-opus-4.6" { + t.Fatalf("canonical = %q, want anthropic/claude-opus-4.6", got.Canonical) + } if got.Confidence < 0.9 { t.Fatalf("confidence = %.2f, want >= 0.9", got.Confidence) }