Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 26d3cc4921
ℹ️ 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".
|
Codex Review: Didn't find any major issues. More of your lovely PRs please. 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". |
This comment has been minimized.
This comment has been minimized.
83cd075 to
9c427cc
Compare
Promotes the OPUS known model to claude-opus-5-1 (opus alias, /opus, tokenizer warming, gateway defaults, CI workflows). Opus 5 stays usable as the custom model string anthropic:claude-opus-5 with metadata and a legacy tokenizer override retained. Adds a one-shot chain-target migration (defaultModelFallbacksSeededOpus51) that moves the shipped Fable 5.1 -> Opus 5 refusal-fallback default to Opus 5.1 without touching user-edited chains, and pins the legacy Fable 5 chain to the literal Opus 5 id for downgrade byte-stability.
… 5.1 The shipped Fable 5.1 / Mythos 5.1 releases kept standard pricing but cut cache reads from 0.1x to 0.025x input; mirror that precedent for the provisional Opus 5.1 entry (still to confirm on announcement day).
2259d65 to
e78cf41
Compare
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. 🎉 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". |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
Summary
Prepares Xum for the Claude Opus 5.1 drop: promotes Opus 5.1 (
anthropic:claude-opus-5-1) to theOPUSknown model, so theopusalias, the/opuscommand, tokenizer warming, the default model, the mux-gateway first-time model list, and the CI agent workflows all route to the new model. Opus 5 stays usable as the custom model stringanthropic:claude-opus-5and keeps its metadata entry and tokenizer approximation.Important
Merge gate: hold until Anthropic officially announces Opus 5.1, then verify the assumptions below against the announcement before merging. Merging early would break
opus-alias sends (the API id would not exist yet). This PR stays a draft until then.Originally stacked on #3988 (Fable 5.1 promotion); now rebased onto
mainafter that PR merged and Fable 5.1 / Mythos 5.1 shipped (Sept 1), which upgraded two of the three assumptions below from pure guesses to precedent-backed guesses.Background
Opus 5.1 is still unannounced; this PR is prepared ahead of the drop (same play as the Opus 5 promotion in #3750 and the Fable 5.1 promotion in #3988), with assumptions to confirm on release day — all remain provisional until Anthropic's official announcement/docs:
claude-opus-5-1(dash form, dateless). Now precedent-backed: Fable 5.1 shipped exactly this convention (claude-fable-5-1,claude-mythos-5-1), but unconfirmed for Opus.models-extra.tsneeds a one-line fix before merge.Implementation
knownModels.ts:OPUS->claude-opus-5-1(keeps theopusalias, warming, and the Opus 4.5 tokenizer approximation). The retiredanthropic:claude-opus-5id joinsLEGACY_TOKENIZER_MODEL_OVERRIDES(alongside main'sclaude-fable-5/claude-mythos-5entries) so exact-id lookup keeps its approximation instead of warning and falling back to the generic per-provider tokenizer.models-extra.ts: newclaude-opus-5-1pricing/limits entry; the Opus 5 entry is retained.models.ts:claude-opus-5-1added to the native-1M patterns — the existingclaude-opus-5pattern only tolerates date suffixes, not-1(the exact trap 🤖 feat: promote Claude Fable 5.1 as the fable model #3988 documented for Fable).anthropicSupportsNativeXhighalready matches any Opus 5+ (claude-opus-[5-9], unanchored),anthropicRejectsDisabledThinkingcorrectly does NOT match (Mythos-class only), and the native web-fetch parser readsclaude-opus-5-1as major 5 / minor 1. Tests pin all three plus display formatting (Opus 5.1).defaultModelFallbacksSeededFable51): promotingOPUSmoves the target of the shipped default chain (Fable 5.1 → Opus 5 becomes Fable 5.1 → Opus 5.1), and already-seeded configs would keep the stale target forever — a key-gap re-seed can't help because no source key changed (and re-running it would resurrect user-deleted chains). A new one-shot flag (defaultModelFallbacksSeededOpus51) guards a target migration insrc/node/config/index.ts: a chain that still deep-equals the superseded shipped default ({ models: ["anthropic:claude-opus-5"] }, no enabled/triggers customization, canonical key) moves to the current default exactly once; any deviation — edits, deletions, gateway-prefixed keys — is user intent and is never touched. The migration runs after the key-gap seed in the same load pass, so freshly seeded chains (already on the new target) are no-ops, and it is idempotent if an old build strips the flag.LEGACY_DEFAULT_MODEL_FALLBACKS' Fable 5 chain now pins the literalanthropic:claude-opus-5target instead ofKNOWN_MODELS.OPUS.id(which would have silently drifted to Opus 5.1). The legacy chain exists for downgraded pre-5.1 builds whose own shipped default was Fable 5 → Opus 5; pinning keeps the seeded bytes identical regardless of which build ran the original seed pass, and the target migration deliberately skips it.providerService.ts), CI agent workflows (auto-cleanup, terminal-bench), terminal-bench leaderboardMODEL_METADATA(Codex round 1), docs model table,docs/guides/github-actions.mdx, and built-in skill content regenerated — mirroring 🤖 feat: add support for Claude Opus 5 #3750's surface set.Validation
anthropic:claude-opus-5fixtures: all use it as an explicit custom model string, which stays valid; default-model-derived fixtures (CLI--help, workspace creation, e2e display name) were updated.main(post-🤖 feat: promote Claude Fable 5.1 as the fable model #3988-merge) re-verified: conflicts resolved additively (Mythos 5.1 promotion, gemini 3.8 fixture churn,config.ts→config/index.tssplit) andmake static-checkgreen. The full unit suite was re-run locally on the pinned Bun in fail-closed chunks; every failure was classified as pre-existing: a host gitinit.templateDirquirk (passes withGIT_TEMPLATE_DIRset), Storybook snapshot-budget and BackupRepoCache failures that reproduce identically on cleanorigin/main, and suite-load flakes that pass in isolation. CI on this head is fully green and is the authoritative gate.Risks
Low-to-medium: additive registry/metadata changes plus one config migration. The main user-visible effect is that the
opusalias,/opus, and the default model route to Opus 5.1; until the model exists at the API, those sends would fail, which is why the merge gate above matters. The target migration rewrites exactly one chain shape and only when it deep-equals the superseded shipped default — a user who deliberately hand-wrote that exact default shape is indistinguishable from the seed and will be migrated (accepted tradeoff, same class as any default migration). Existing Opus 5 selections and user-edited fallback chains are unaffected. Cost tracking uses the provisional 0.025× cache-read price until the announcement confirms it.Generated with
xum• Model:anthropic:claude-fable-5• Thinking:xhigh• Cost:$49.52