Skip to content

feat: accept max reasoning effort - #1

Open
jonathangtecom wants to merge 1 commit into
xuio:mainfrom
jonathangtecom:feat/max-reasoning-effort
Open

feat: accept max reasoning effort#1
jonathangtecom wants to merge 1 commit into
xuio:mainfrom
jonathangtecom:feat/max-reasoning-effort

Conversation

@jonathangtecom

Copy link
Copy Markdown

What

Adds max to the accepted reasoning efforts.

Why

Codex's own model cache lists max as a supported reasoning level for the gpt-5.6 family:

gpt-5.6-luna → low · medium · high · xhigh · max
   max: "Maximum reasoning depth for the hardest problems"

reasoningEfforts in src/runner.ts stopped at xhigh, so the request was rejected by the schema before Codex ever saw it:

Invalid enum value. Expected 'minimal' | 'low' | 'medium' | 'high' | 'xhigh', received 'max'

The CLI accepts max, so the level was reachable with codex exec directly but not through this server.

I hit this driving several long-running gpt-5.6-luna patch agents where the deepest reasoning level was genuinely wanted.

Change

One constant feeds every schema, so the diff is the enum plus the four descriptions that named xhigh as the ceiling:

  • src/runner.tsreasoningEfforts gains max
  • src/schemas.ts — three descriptions updated
  • src/index.ts — the guidance line updated
  • dist/index.js — rebuilt so check:dist stays clean

Behaviour is otherwise unchanged: max is opt-in, and minimal is still rejected for the documented web_search reason.

Verification

  • npm run buildtsc --noEmit clean
  • npm test — 19 files, 142 tests passing
  • Confirmed end to end: advanced: {model: "gpt-5.6-luna", reasoning: "max"} was rejected before this change and starts a session after it.

Happy to adjust the wording of the descriptions if you'd rather steer callers away from max more strongly than xhigh.

Codex's own model cache lists `max` as a supported reasoning level for the
gpt-5.6 family:

    gpt-5.6-luna → low · medium · high · xhigh · max
    ("Maximum reasoning depth for the hardest problems")

`reasoningEfforts` stopped at `xhigh`, so `advanced.reasoning: "max"` was
rejected by the schema before Codex ever saw it:

    Invalid enum value. Expected 'minimal' | 'low' | 'medium' | 'high' | 'xhigh',
    received 'max'

The CLI accepts it, so the level was reachable with `codex exec` directly but
not through this server.

One constant feeds every schema, so the change is the enum plus the four
descriptions that named `xhigh` as the ceiling. `dist/index.js` rebuilt so
`check:dist` stays clean. Existing behaviour is unchanged — `max` is opt-in and
`minimal` is still rejected for the documented web_search reason.

Verified with `npm run build` (tsc clean) and `npm test` — 19 files, 142 tests.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant