Repository navigation
fix(models): default Claude Sonnet 5.5 to its shipped medium effort - #14193
zachweyland wants to merge 6 commits into
Conversation
pingdotgg#14152 pointed claude-sonnet-5-5 at the sonnet-5 profile, which defaults effort to high. Claude Code 2.1.284 ships default_effort "medium" for claude-sonnet-5-5 (it stays "high" for claude-sonnet-5 and claude-sonnet-4-6), so selecting Sonnet 5.5 runs hotter than the model's own default. Add a dedicated sonnet-5-5 profile, identical to sonnet-5 except for the medium effort default, and bump updatedAt. Changes made by Qwen3.8 Flash Next in OpenCode, running in T3 Code.
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This manifest-only change alters the default effort sent for Claude Sonnet 5.5 from High to Medium on the existing production path. Although the scope is narrow and explicit user selections remain supported, product-default changes require human review. You can add or adjust custom eligibility rules. Learn more. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe provider model manifest adds a Sonnet 5.5 profile with reasoning options and a fixed context window. The Claude Sonnet 5.5 model entry now uses this profile. ChangesSonnet 5.5 profile
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Bug fix Suggested reviewers: Merge Risk: ⚪ Minimal · up to Sonnet 5.5 now selects medium effort by default without an identified regression; the change is ready to merge after normal checks. Architecture SummaryArchitecture risk: 🔵 Low · up to The change affects 1 system. Changed systems: Architecture concerns Review detailsSystems and components
Before / after behavior
Caution Pre-merge checks failedPlease resolve all errors before merging. Addressing warnings is optional.
❌ Failed checks (1 error)
✅ Passed checks (4 passed)
Full details: ApprovabilityExplanation Needs maintainer review under the product-default rule. In
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
…onnet-5-5-default-effort # Conflicts: # apps/server/src/provider/model-manifest.json
|
Note This comment is posted by Julius' dot Please attach the Claude Code 2.1.284 catalog excerpt or probe that establishes medium as Sonnet 5.5's default, and show the resulting T3 selection. #14152 describes high as the upstream default, while this PR and #14148 report medium. Resolving that discrepancy will establish whether this is a correction under the problem and scope rule. |
…t-effort # Conflicts: # apps/server/src/provider/model-manifest.json
|
You asked for three things: the catalog value, what T3 actually selects, and why #14152 said high. Here they are. Reproduce the catalog excerptThe value lives in the installed binary's model table. On the version T3 gates Sonnet 5.5 behind ( claude --version # 2.1.284 (Claude Code)
sha256sum ~/.local/share/claude/versions/2.1.284
# 5cd90aabd83f8a15136c35aa37bb1d92b348993573316643dc3fe4e04afbf88f
rg -ao '\{id:"claude-sonnet-5-5".{0,900}?\},\{id' ~/.local/share/claude/versions/2.1.284The entry (byte offset 198719101) ends with: Not a stale-build artifact. Current stable Why #14152 said high, and why that is only true of Sonnet 5Same binary, the resolver for a model's default effort: function ge(e){return Xa(Ue(e))?.default_effort??"high"}Models that predate the field fall through to the hard-coded
So "Sonnet 5.5 defaults to high like Sonnet 5" was true of every Sonnet through 5, and 2.1.284 moved 5.5 down to medium to match Opus 5.5. The discrepancy is between the old model and the new one, not between sources. Why this matters for T3 specificallyT3 passes the resolved picker value to the CLI. Resulting T3 selection (live)Three throwaway threads on a running server, started without touching the effort picker, read from the
|
…ult-effort # Conflicts: # apps/server/src/provider/model-manifest.json
…ult-effort # Conflicts: # apps/server/src/provider/model-manifest.json
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Problem
#14152 pointed
claude-sonnet-5-5at thesonnet-5profile, so the picker defaults Sonnet 5.5 to High effort. That high default matches Sonnet 5 and Sonnet 4.6, but Claude Code's bundled model table shipsdefault_effort: "medium"forclaude-sonnet-5-5, same as Opus 5.5 and Haiku 5.5:default_effortin 2.1.284claude-sonnet-4-6claude-sonnet-5claude-sonnet-5-5claude-opus-5-5claude-haiku-5-5T3 passes
--effortexplicitly for manifest models, so selecting Sonnet 5.5 without picking an effort runs one level higher than the model's own default. #14148 independently found the same default and added the equivalent profile, but closed as a duplicate of #14152 before that difference could land.Change
Adds a dedicated
sonnet-5-5capability profile and pointsclaude-sonnet-5-5at it. The profile is a copy of the currentsonnet-5profile (including #16908's fixed 1M context window), the only difference being the default effort,mediuminstead ofhigh. BumpsupdatedAt. No UI code changes.Scope and approval
No prior issue or discussion. This is submitted as a focused fix: the composer's default effort for Sonnet 5.5 doesn't match the default Claude Code ships for the model. The change is limited to that one default, in one manifest profile. No other model, option, or behavior changes.
#16903 made the same correction for Haiku 5.5, which got its own profile defaulting to Medium to match Claude Code, as Opus 5.5 already had. Sonnet 5.5 is the remaining 5.5 model still sharing an older model's profile with a different default.
Evidence that Medium is the shipped default (catalog excerpt and the resulting T3 selection) is in this comment, in reply to @juliusmarminge's request.
Verification
After merging
main(through #16908):ModelManifest.test.ts,ClaudeModelCatalog.test.ts, andclaudeModelOptions.test.ts: 3 files, 25 tests pass.Claude(includingClaudeAdapterV2.test.ts): 13 files, 250 tests pass.vp fmt --checkon the manifest is clean.claudebinary's bundled model table, the same way as in the linked comment.Not checked: the composer in a running build with this manifest. The change is JSON-only, and the catalog tests cover how the profile resolves.
Original change made by Qwen3.8 Flash Next in OpenCode, running in T3 Code. Merged onto current
mainand description updated by Claude Opus 5.5 in Claude Code, running in T3 Code.🤖 Generated with Claude Code