Skip to content

🤖 feat: promote Claude Fable 5.1 as the fable model - #3988

Open
ibetitsmike wants to merge 3 commits into
mainfrom
mike/fable-5-1-drop
Open

🤖 feat: promote Claude Fable 5.1 as the fable model#3988
ibetitsmike wants to merge 3 commits into
mainfrom
mike/fable-5-1-drop

Conversation

@ibetitsmike

@ibetitsmike ibetitsmike commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Summary

Prepares Xum for the Claude Fable 5.1 drop: promotes Fable 5.1 (anthropic:claude-fable-5-1) to the FABLE known model, so the fable alias, the /fable command, tokenizer warming, and the default refusal-fallback chain all route to the new model. Fable 5 stays usable as the custom model string anthropic:claude-fable-5 and 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:

  • API id: claude-fable-5-1 (dash form, dateless, matching the 5-generation convention of claude-sonnet-5 / claude-opus-5 and the dash style of claude-haiku-4-5).
  • Pricing: unchanged from Fable 5, $10/M input, $50/M output (cache write 1.25x input, cache read 0.1x input).
  • Envelope: unchanged, native 1M context, 128K max output, full effort ladder with native xhigh and max, adaptive thinking only (disabled thinking rejected), safeguard classifiers retained so the refusal fallback stays relevant.

Implementation

  • knownModels.ts: FABLE -> claude-fable-5-1 (keeps the fable alias and tokenizer warming; tokenizer override stays on the Opus 4.5 approximation).
  • models-extra.ts: new claude-fable-5-1 pricing/limits entry; the Fable 5 entry is retained.
  • models.ts: claude-fable-5-1 added to the native-1M patterns (the existing claude-fable-5 pattern only tolerates date suffixes, not -1).
  • No wire-format changes needed for thinking/effort: the Mythos-class wildcard matchers (anthropicSupportsNativeXhigh, anthropicRejectsDisabledThinking) and native web-fetch id parsing already match the new id; tests now pin that.
  • Fallback seed migration: DEFAULT_MODEL_FALLBACKS is keyed by the FABLE id and the one-time seed is guarded by migrations.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.
  • Downgrade safety (Codex round 1): completing the original seed pass claims defaultModelFallbacksSeeded, which pre-5.1 builds trust for their own claude-fable-5 key. The original seed pass (and the fresh-install default config) now also carries a LEGACY_DEFAULT_MODEL_FALLBACKS chain for anthropic:claude-fable-5, so a downgrade still finds its expected default instead of silently losing refusal fallback.
  • Legacy tokenizer overrides (Codex round 1): TOKENIZER_MODEL_OVERRIDES is derived from current KNOWN_MODELS ids, so retiring an id dropped its approximate-tokenizer mapping. A LEGACY_TOKENIZER_MODEL_OVERRIDES map retains anthropic:claude-fable-5 and the identical pre-existing case anthropic: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.
  • Docs model table and built-in skill content regenerated.

Validation

  • Behavioral coverage added for the new id: native-1M classification, display formatting (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).
  • The WorkflowRunner alias-mapping test caught the alias flip (fable -> 5.1) and was updated; remaining claude-fable-5 fixtures 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 fable alias and /fable route 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 the claude encoding), it removes warning spam and future drift risk.


Generated with xum • Model: anthropic:claude-fable-5 • Thinking: xhigh

@mintlify

mintlify Bot commented Aug 27, 2026

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
Mux 🟢 Ready View Preview Aug 27, 2026, 2:57 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@ibetitsmike

Copy link
Copy Markdown
Contributor Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 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".

Comment thread src/node/config.ts
Comment thread src/common/constants/knownModels.ts
@chatgpt-codex-connector

This comment has been minimized.

Copy link
Copy Markdown
Contributor Author

@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.

@chatgpt-codex-connector

This comment has been minimized.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Breezy!

Reviewed commit: 116066c324

ℹ️ 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".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant