[Fix] Reasoning models stop thinking after model selection - #1349
Draft
zoomote[bot] wants to merge 2 commits into
Draft
[Fix] Reasoning models stop thinking after model selection#1349zoomote[bot] wants to merge 2 commits into
zoomote[bot] wants to merge 2 commits into
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Contributor
Author
|
Addressed the remaining Codecov branch with component-level coverage for required reasoning without an advertised default, plus a state matrix for supported overrides, stale-value normalization, and optional-off defaults. Snapshot and VS Code e2e coverage were intentionally not added: this is deterministic component/request state behavior with no visual or extension-host boundary. The focused component suite, full repository suite, type-check, and lint pass. TLC model checking completed with no invariant violations across 20 reachable states: report. Pushed in 84769af. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Reasoning-capable models now initialize and persist their advertised default effort instead of silently resolving to
None. Models without an off mode fall back to their first supported effort, while an explicit user-selectedNoneremains authoritative.NanoGPT applies the same resolution before the settings UI mounts for both streaming requests and prompt completions. Regression tests cover advertised defaults, required and optional fallback paths, supported overrides, stale-value normalization, explicit disable, and both NanoGPT request paths.
The reasoning transition model was also checked with TLC across initialization, model switching, explicit effort, explicit disable, and request-enablement states. The TLA+ specification, configuration, and validation report are available for review.
Why this change was made
Users reported that DeepSeek V4, GLM 5.2, and Muse Spark stopped showing thinking after selecting or switching models. The UI displayed a fallback effort without persisting it, and NanoGPT omitted reasoning when no explicit setting existed.
Closes #1348.
Impact
Reasoning models start with a valid model-supported effort after selection and continue sending reasoning parameters across UI and non-UI request paths. Users who explicitly choose
Nonekeep reasoning disabled. The expanded component state matrix closes the remaining Codecov branch gap without adding brittle snapshots or a redundant VS Code-host e2e.Related PRs