🤖 fix: send GPT-6 Sol/Luna reasoning effort none and repair main CI - #4350
ammar-agent wants to merge 5 commits into
Conversation
--- _Generated with `xum` • Model: `anthropic:claude-opus-5-5` • Thinking: `high` • Cost: `$26.31`_ <!-- mux-attribution: model=anthropic:claude-opus-5-5 thinking=high costs=26.31 -->
|
@codex review |
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 |
🛡️ 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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 7a3d24a0a7
ℹ️ 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".
Replace the bun patch (not applied to npm installs) with a post-SDK body rewrite.
|
@codex review |
🛡️ 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. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2fd72e8c35
ℹ️ 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 |
|
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". |
🛡️ 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. |
|
@codex review |
|
Coordination note from #4259 (same defect, different history):
No action needed from this PR; just flagging so we don't both edit the same call sites. |
|
Codex Review: Didn't find any major issues. Bravo. 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. |
… correct their Codex context cap Stacked on #4350, which makes a requested reasoning_effort "none" reach the wire for GPT-6 Sol/Luna. Headless tool loops (Dream consolidation, memory harvest, refine, sidebar status) call streamText with tools and no provider options, so nothing requests "none" and Chat Completions defaults to medium, which rejects function calling. A model-boundary middleware fills in "none" for tool-bearing Chat Completions requests that asked for no effort, wrapped outside #4350's body-patching wrapper so the injected value survives the SDK; explicit caller efforts are left alone. The Coder openai-compat path resolves scoped "Treat as" aliases through resolveModelForMetadata before clamping. The assumed 372K Codex OAuth cap for Sol/Luna becomes the 272K published in the pinned Codex catalog. _Generated with `xum` • Model: `coder:anthropic/claude-fable-5-1` • Thinking: `xhigh` • Cost: `$174.60`_ <!-- mux-attribution: model=coder:anthropic/claude-fable-5-1 thinking=xhigh costs=174.60 -->
|
Thanks @ThomasK33, acknowledged. This PR won't touch the headless tool-loop clamp, the Coder |
|
Status for whoever queues this: |
Summary
Follow-up to #4348. GPT-6 Sol/Luna now actually send
reasoning_effort: "none". The PR also fixes two post-mergeTest / Unitfailures onmain: a unit test file that crashed Bun, and the v0.30.0 version-lock contract.Background
none:@ai-sdk/openai@4.0.71, including the latest 4.0.72, allows onlylow/medium/high/xhigh/maxfor everygpt-6-*ID and silently strips any other effort from Chat Completions and Responses requests. That list is correct for Astra, but Sol and Luna acceptnone. OpenAI documents that an omitted effort defaults tomediumand that Chat Completions function calling requiresnone. So after 🤖 feat: add GPT-6 Sol and Luna model support #4348:gpt,solandlunahad their tool calls rejected.buildProviderOptionsoutput, not the serialized request, so they missed this.Test / Unitjob inmainrun 35782976621 exited with code 133. Bun hit an allocator panic (pas panic: deallocation did fail) just asmcpIconDecodeClient.test.tsstarted, with no failing assertions. That file loads the nativesharpaddon into the shared coverage process. The crash is not caused by 🤖 feat: add GPT-6 Sol and Luna model support #4348's model changes.release: v0.30.0(81b0b74) bumpedpackage.jsonbut notpackages/mux-compat.productIdentity.test.ts, which requires the legacymuxforwarding package to stay version-locked to@coder/xum, therefore fails onmain.Implementation
createOpenAIModelWithServiceTierintocreateOpenAIModelWithPreservedOptions. For Sol/Luna wire IDs (including dated IDs) with effortnone, it removes the effort from the SDK options and writes it into the serialized body after the SDK's capability checks. This reuses the per-call fetch-wrapper pattern already used for service tiers.openai-responsesproviders and the Coder gateway OpenAI route.mcpIconDecodeClient.test.tsintoisolated_unit_tests, following the existing pattern, so it runs in its own process with the signal-exit retry.packages/mux-compat(version and its@coder/xumdependency) to 0.30.0.Validation
noneis sent. Two controls check that Solhighpasses through and that Astranoneis still dropped. With the fix disabled, the 6nonecases fail.Risks
Low. Only requests to Sol/Luna wire IDs with effort
noneare rewritten. Other models, and Sol/Luna at other efforts, keep the existing path.Deferred (pre-existing): on Responses, the SDK treats opaque aliases (for example
team-model→openai:gpt-6-sol) as non-reasoning models and drops every reasoning effort, not justnone. This already affected aliases of any reasoning model before #4348. On Chat Completions, which is wherenonematters for tool calls, those aliases already serializenone, and a test now covers that.Review history
The first revision fixed this with a
bun patchof@ai-sdk/openai. Codex pointed out thatpatchedDependenciesdoes not apply to npm installs of the published package, so the fix now lives in Xum runtime code and the patch has been removed.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high• Cost:$26.31