fix(studio): use --reasoning for launch defaults - #8521
Conversation
|
@codex review |
|
Codex Review: Didn't find any major issues. Keep them coming! 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". |
94baeb6 to
b0c0af4
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b0c0af4b9e
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Thank you for updating this PR. GitHub now reports the branch as mergeable on current A separately validated current-main implementation remains available as one commit here: It keeps the change generic and avoids regressions introduced since this PR was opened:
Current-main validation: 9 focused launch-reasoning tests passed; 1,659 adjacent capability, placement, and launch tests passed; Ruff, the repository format script, and Two regression guards from that commit are still worth carrying into this PR before merge:
I am intentionally not opening a competing PR while this one remains active. |
a71f987 to
148c8e5
Compare
|
Addressed the inherited reasoning override on |
|
Thank you @Apoze for taking the time to investigate this and share your fix. Incorporated the relevant fix and tests, and made sure your contribution was properly credited through the |
|
I added the two remaining test-only regression guards on top of the current head
Commit: Apoze@e0d0066 Validation: 323 adjacent launch/llama-server reasoning tests passed; Ruff check and git cherry-pick e0d0066193353d5d5abbe796eb10f6eabcf07d5f |
148c8e5 to
70a2843
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 70a2843125
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 54142a3adf
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
|
Follow-up pushed in I verified Apoze's 2026-08-24 comment and test-only commit CI then exposed two current-main source-sentinel drifts, both fixed as separate test-only commits. The latest push also addresses the three launcher review threads: explicit Local validation:
Remote PR checks are green on the latest SHA; the only non-pass rows are the expected skipped GPU/gate/file-edit/resume jobs. |
|
The launcher change itself is contained, but this branch also rewrites the sentinels in studio/backend/tests/test_non_gguf_reload_settings.py and tests/studio/test_model_picker_contracts.py, which loosens guards unrelated to reasoning. Could you split those two into their own change and keep this one to the llama-server reasoning flag? |
for more information, see https://pre-commit.ci
Co-authored-by: Apoze <[email protected]>
for more information, see https://pre-commit.ci
Add regression coverage for preserving model thinking defaults on modern --reasoning launches and keeping reasoning_effort-style templates in chat-template kwargs. Adapt the launch test backend double to current main's keyworded health and GPU probes after rebasing. Co-authored-by: Apoze <[email protected]>
Keep LLAMA_ARG_REASONING=auto on the model-derived launch default path, synchronize explicit on/off overrides with reasoning_default, and avoid emitting fallback enable_thinking kwargs when an inconclusive probe leaves an explicit environment override as the only trusted launch control.
e4c893e to
eab442f
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: eab442f62d
ℹ️ About Codex in GitHub
Codex has been enabled to automatically 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 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
| if explicit_env_reasoning is not None: | ||
| self._reasoning_default = explicit_env_reasoning == _REASONING_ON |
There was a problem hiding this comment.
Keep the recorded default aligned on old binaries
When the capability probe conclusively identifies an older binary (supports_reasoning_flag=False and mtp_probe_inconclusive=False) and LLAMA_ARG_REASONING is explicitly on or off, this assignment records the environment value even though the fallback below still emits the model-derived enable_thinking kwarg. Older managed binaries intentionally ignore that environment variable (unsloth_cli/commands/start.py:1271-1274), so the running template uses thinking_default while omitted Anthropic requests consult the contradictory reasoning_default at routes/inference.py:4239, potentially leaking genuine reasoning or misclassifying literal think markup. Only synchronize this property when the environment override can actually control the selected binary.
Useful? React with 👍 / 👎.
Summary
llama-serverexposes--reasoning--reasoning on|offforenable_thinkingon modern builds--chat-template-kwargsfor older builds, independentpreserve_thinkingstate, andreasoning_effort-style templatesLLAMA_ARG_REASONINGoverrides fromunsloth startFixes #7526
Test verification (RED → GREEN)
Rebased PR head with the original regression test only:
Patched branch:
Follow-up test-only guards from Apoze's reviewed commit were cherry-picked and kept credited. After rebasing onto current
main, the rebased baseline needed the launch test double updated for current keyworded GPU/health probes before the file could run:One current-main Python 3.13 sentinel drift was then corrected test-only after CI exposed it:
One current-main repo CPU sentinel drift was also corrected test-only after CI exposed the model picker's centralized
selectMetaload-id shape:Validation
./run-ci.shupstream baseline: 296 backend tests + 6 CLI reasoning tests passed./run-ci.shpatched branch: 300 backend tests + 6 CLI reasoning tests passed./run-ci.shafter this follow-up commit:git diff --check, Ruff, andtests/test_launch_reasoning_args.pypassed (6 passed)545 passed)git diff --check: passed