fix: pass Codex max reasoning effort - #119
Merged
Merged
Conversation
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.
Intent
The Blockvalley second mate reported 2026-09-08: an ordered Codex gpt-6-astra effort MAX spawn silently fell back to medium. Cause confirmed by the main firstmate: bin/fm-spawn.sh lines 1687 to 1694 pass model_reasoning_effort only for low|medium|high|xhigh and deliberately omit max, on the stale premise that the bundled codex catalog advertised only up to xhigh. The installed codex-cli 0.153.4 catalog (~/.codex/models_cache.json) lists gpt-6-astra supported_reasoning_levels low, medium, high, xhigh, max, ultra. The captain has been ordering Astra max seats (Nancy rec room, syd direction 5, Blockvalley own-use build) and every one of them ran at medium. Fix: a Codex spawn with --effort max must pass model_reasoning_effort="max"; keep xhigh behaviour unchanged.
What Changed
maxviamodel_reasoning_effort="max", while keepingultraoutside Firstmate’s effort set.Risk Assessment
✅ Low: The change is bounded to Codex effort validation, launch formatting, authoritative adapter documentation, and behavior-level coverage; the max path now reaches model_reasoning_effort without altering xhigh handling.
Testing
The supplied baseline, focused spawn/bootstrap/reference tests, live Codex capability check, and end-to-end launch probe all completed successfully. Evidence captures
model_reasoning_effort="max"forwarding and unchangedxhighbehavior; the worktree remained clean.Evidence: Codex max/xhigh spawn probe
Source: Codex max/xhigh spawn probe
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 2 issues found → auto-fixed ✅
bin/fm-spawn.sh:1692- The new max forwarding at this line is not reflected in the authoritative Codex adapter record:.agents/skills/harness-adapters/references/harness/codex.md:15still says only low|medium|high|xhigh are supported. Because every spawn loads that record and the shared model/effort contract uses it for selection, future dispatch can still omit max before this code runs. Update the record with the 0.153.4 capability and verification evidence.bin/fm-spawn.sh:1692- Max is now forwarded unconditionally for every Codex model and installed version, although the repository’s recorded Codex 0.142.1 catalog explicitly omits max and the shared contract requires unsupported efforts to be omitted. On such an older installation, an explicit codex/max profile can now reach the CLI with an invalid setting and fail launch. Making this durable requires an authorized compatibility decision: add version/catalog-aware support detection or raise the required Codex version and fail closed when max is unavailable.🔧 Fix: Updated Codex adapter record for max effort support
✅ Re-checked - no issues remain.
✅ **Test** - passed
✅ No issues found.
bin/fm-test-run.sh --changed --exclude-family real-herdr-gatedBaseline:bin/fm-test-run.sh --changed --exclude-family real-herdr-gated(supplied successful baseline)bash tests/fm-spawn-dispatch-profile.test.shbash tests/fm-bootstrap.test.shbash tests/fm-harness-adapter-references.test.shcodex --versionandgpt-6-astracatalog queryEnd-to-endfm_test_run_spawnprobe formaxandxhigh✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.