🤖 feat: promote Claude Fable 5.1 as the fable model - #3988
Conversation
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Workflows to automatically generate PRs for you. |
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: e288521a98
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
This comment has been minimized.
This comment has been minimized.
|
@codex review Addressed both round-1 findings: legacy Fable 5 chain now seeded during the original seed pass for downgrade safety, and legacy tokenizer overrides retained for the retired fable-5/opus-4-8 ids. |
This comment has been minimized.
This comment has been minimized.
|
Codex Review: Didn't find any major issues. Breezy! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Summary
Prepares Xum for the Claude Fable 5.1 drop: promotes Fable 5.1 (
anthropic:claude-fable-5-1) to theFABLEknown model, so thefablealias, the/fablecommand, tokenizer warming, and the default refusal-fallback chain all route to the new model. Fable 5 stays usable as the custom model stringanthropic:claude-fable-5and keeps its metadata entry and tokenizer approximation.Important
Merge gate: hold until Anthropic officially announces Fable 5.1, then verify the assumptions below against the announcement before merging. Merging early would break
fable-alias sends (the API id would not exist yet).Background
Fable 5.1 is not yet announced; leak reports point at an imminent launch. This PR is prepared ahead of the drop (same play as the Opus 5 promotion in #3750), with assumptions to confirm on release day:
claude-fable-5-1(dash form, dateless, matching the 5-generation convention ofclaude-sonnet-5/claude-opus-5and the dash style ofclaude-haiku-4-5).Implementation
knownModels.ts:FABLE->claude-fable-5-1(keeps thefablealias and tokenizer warming; tokenizer override stays on the Opus 4.5 approximation).models-extra.ts: newclaude-fable-5-1pricing/limits entry; the Fable 5 entry is retained.models.ts:claude-fable-5-1added to the native-1M patterns (the existingclaude-fable-5pattern only tolerates date suffixes, not-1).anthropicSupportsNativeXhigh,anthropicRejectsDisabledThinking) and native web-fetch id parsing already match the new id; tests now pin that.DEFAULT_MODEL_FALLBACKSis keyed by the FABLE id and the one-time seed is guarded bymigrations.defaultModelFallbacksSeeded, so already-seeded configs would never get a chain for the new source key. A second one-shot flag (defaultModelFallbacksSeededFable51) re-runs the gap-check once: pre-5.1 configs get the Fable 5.1 -> Opus chain, an existing 5.1 chain is never overwritten, and the legacy Fable 5 chain is left byte-identical on disk.defaultModelFallbacksSeeded, which pre-5.1 builds trust for their ownclaude-fable-5key. The original seed pass (and the fresh-install default config) now also carries aLEGACY_DEFAULT_MODEL_FALLBACKSchain foranthropic:claude-fable-5, so a downgrade still finds its expected default instead of silently losing refusal fallback.TOKENIZER_MODEL_OVERRIDESis derived from current KNOWN_MODELS ids, so retiring an id dropped its approximate-tokenizer mapping. ALEGACY_TOKENIZER_MODEL_OVERRIDESmap retainsanthropic:claude-fable-5and the identical pre-existing caseanthropic:claude-opus-4-8; exact-id lookup resolves both to the intended Opus 4.5 approximation instead of warning and falling back to the generic per-provider tokenizer.Validation
Fable 5.1), 5-level thinking policy with off-clamp, provider options (adaptive + summarized display, no disabled thinking), native web-fetch support, and the config seeding semantics (legacy chain carried by the original seed pass, 5.1 chain seeded once for pre-5.1 configs, existing 5.1 chains and deletions respected).fable-> 5.1) and was updated; remainingclaude-fable-5fixtures were audited and stay valid as explicit custom model strings.Risks
Low: additive registry/metadata changes plus config migration flags. The main user-visible effect is that the
fablealias and/fableroute to Fable 5.1. Until the model exists at the API, alias sends would fail, which is why the merge gate above matters. Existing Fable 5 selections and user-edited fallback chains are unaffected; note that with current ai-tokenizer data the legacy tokenizer fix changes no token counts (both approximations share theclaudeencoding), it removes warning spam and future drift risk.Generated with
xum• Model:anthropic:claude-fable-5• Thinking:xhigh