Commit Graph

8 Commits

Author SHA1 Message Date
YeonGyu-Kim 0a7306c6c1 Merge pull request #3637 from ihoooohi/fix/claude-thinking-legacy-alias-collision
fix(aliases): stop rewriting canonical claude-opus-4-6-thinking
2026-05-06 17:15:09 +09:00
YeonGyu-Kim 8e785963cf fix(model-capabilities): recognize current provider aliases
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
2026-04-27 15:31:48 +09:00
ihoooohi 9c7102b73b fix(aliases): stop rewriting canonical claude-opus-4-6-thinking
The claude-thinking-legacy-alias pattern previously matched both
claude-opus-4-6-thinking and claude-opus-4-7-thinking and mapped
them to claude-opus-4-7. After models.dev started shipping
claude-opus-4-6-thinking as a real canonical model (e.g.
302ai/claude-opus-4-6-thinking), the pattern collides with the
snapshot and trips the pattern-alias-collides-with-snapshot
guardrail in collectModelCapabilityGuardrailIssues, which is what
has been failing the refresh-model-capabilities cron since
2026-04-20.

Tightening the regex to only match claude-opus-4-7-thinking
preserves the legacy-id rewrite for the still-non-canonical
4-7-thinking form while letting 4-6-thinking resolve to itself.

Refs #3635
2026-04-25 18:47:45 +08:00
YeonGyu-Kim def44338ff refactor(models): bump claude-opus-4-6 to claude-opus-4-7 across fallback chains, categories, and hooks
Updates the canonical Anthropic Opus model in every fallback chain
(sisyphus, oracle, prometheus, metis, momus, visual-engineering,
ultrabrain, deep, artistry, unspecified-high), the unspecified-high
category default, the think-mode HIGH_VARIANT_MAP, the Claude Code
alias map, the claude-thinking legacy alias, the context-limit GA
regex, and event.ts fallback strings.

Widens supportsCachedAnthropicLimit to accept both claude-*-4-6 and
claude-*-4-7 so the 1M context cache still applies across the bump.

Regenerates the bundled model-capabilities snapshot from models.dev
and the model-fallback snapshot to match the new source output.
2026-04-17 14:51:52 +09:00
YeonGyu-Kim 829c58ccb0 refactor(aliases): migrate to pattern-based model alias resolution
Move from hardcoded exact aliases to pattern-based canonicalization:

- Populate PATTERN_ALIAS_RULES with regex patterns for:
  - Claude thinking variants (claude-opus-4-6-thinking → claude-opus-4-6)
  - Gemini tier suffixes (gemini-3.1-pro-{high,low} → gemini-3.1-pro)
- Add stripProviderPrefixForAliasLookup() for provider-prefixed models
  (anthropic/claude-sonnet-4-6 → claude-sonnet-4-6 for capability lookup)
- Preserve requestedModelID (with prefix) for API transport
- Reduce EXACT_ALIAS_RULES to exceptional cases only
  (gemini-3-pro-{high,low} → gemini-3-pro-preview)
- Comprehensive test coverage for patterns, prefix stripping, negatives

Addresses Discussion #2835 (pattern matching architecture)
Related to PR #2834 (alias guardrails)

41 targeted tests pass, 4467 full suite tests pass, tsc clean.
2026-03-26 12:04:50 +09:00
Ravi Tharuma ec20a82b4e fix(model-capabilities): align gemini aliases and alias lookup 2026-03-25 22:19:51 +01:00
Ravi Tharuma 5043cc21ac fix(model-capabilities): harden canonical alias guardrails 2026-03-25 22:11:45 +01:00
Ravi Tharuma a15f6076bc feat(model-capabilities): add maintenance guardrails 2026-03-25 16:14:19 +01:00