fix(runtime-fallback): keep variant in equivalence

Treat parsed variant as part of runtime-fallback model equivalence so variant-only fallback hops remain distinct while preserving the existing Claude-family alias handling.

Constraint: Oracle verification flagged unresolved PR #3322 review concerns about variant equivalence and remote state
Rejected: Preserve provider identity in equivalence | contradicted the original live-loop fix for equivalent Claude aliases
Confidence: medium
Scope-risk: narrow
Directive: Any future equivalence broadening must prove both live retry-loop behavior and variant/provider semantics with targeted tests before merging
Tested: bun run typecheck
Tested: bun test src/hooks/runtime-fallback/index.test.ts src/hooks/runtime-fallback/error-classifier.test.ts src/plugin/event.model-fallback.test.ts
Not-tested: Full live end-to-end repro across all provider redundancy policies
This commit is contained in:
Ravi Tharuma
2026-04-11 14:13:34 +02:00
committed by YeonGyu-Kim
parent f501c47c49
commit d9033d73ae
+2 -1
View File
@@ -41,10 +41,11 @@ function parseCanonicalModel(model: string): { providerID: string; modelID: stri
if (!parsed?.providerID || !parsed.modelID) return undefined
const canonicalModelID = canonicalizeModelID(parsed.modelID)
const variant = parsed.variant?.toLowerCase()
return {
providerID: canonicalizeProviderFamily(parsed.providerID, parsed.modelID),
modelID: canonicalModelID,
modelID: variant ? `${canonicalModelID}::${variant}` : canonicalModelID,
}
}