feat(models): default gpt-6-astra second opinions to low reasoning effort - #25
Merged
Merged
Conversation
…fort crossagent's default codex/GPT-6 asks now run at low reasoning effort to save cost. A second opinion is a reviewer, not an author: low is strong enough at a fraction of the tokens, and a user's own ~/.codex/config.toml (which may be set to high for interactive work) is never modified — the level rides a visible `-c model_reasoning_effort=low` override. - Advisor gains default_reasoning_effort + reasoning_effort_config_key; the codex builtin sets low / model_reasoning_effort. reasoning_args() renders the -c flag; an advisor with no reasoning knob drops a requested level with a stderr warning instead of guessing. - effective_reasoning() gates the default on a FRESH call whose model is the advisor's own default_model (alias-resolved, case-insensitive), so a substituted --model or a resume never forces low. An explicit --reasoning wins on both fresh and resume, mirroring --model; --reasoning default suppresses the override. Invalid levels exit 2. - --reasoning added to both the ask and job-start arg paths; the effective level is persisted to the session registry and command.json. - Escalation and verification, both fresh GPT-6 delegations, apply the same low default via the shared default_reasoning_for_model() gate. Docs and CHANGELOG updated; no version bump.
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.
Summary
crossagent's default GPT-6 Astra second opinions now run at
lowreasoning effort to save cost. A second opinion is a reviewer, not an author — low scores strongly for review at roughly a third of the tokens (AA Coding Agent Index 67, above GPT-5.6 Sol). The level rides a visible-c model_reasoning_effort=lowoverride; a user's own~/.codex/config.toml(which may be set tohighfor interactive work) is never modified.What changed
Advisor.default_reasoning_effort+reasoning_effort_config_key— codex setslow/model_reasoning_effort; every other advisor isNone(no reasoning knob → a requested level is dropped with a stderr warning, never guessed).effective_reasoning()— the default applies only on a fresh call whose model is the advisor's owndefault_model(alias-resolved, case-insensitive), so a substituted--modelor a resume never forces low. An explicit--reasoningwins on both fresh and resume (mirrors--model);--reasoning defaultsuppresses the override; an invalid level exits 2.--reasoningflag on both the ask and job-start paths. The effective level is persisted to the session registry andcommand.json.default_reasoning_for_model()gate — so they no longer silently run at the user's config.toml effort.-cis emitted before theresumesubcommand (codex rejects it after).Behaviour change
Default codex asks with the default
gpt-6-astramodel now send-c model_reasoning_effort=low. Overridable via--reasoning <level>,--reasoning default, oradvisors.json("codex": {"default_reasoning_effort": null}). All other advisors unchanged.Testing
python -m pytest -q→ 624 passed (was 583; +41 new tests).main.reasoning_argsrendering, the default-model gate (incl. alias + case + configdefault_model:"gpt6"), resume symmetry,--reasoning default/invalid/no-knob-warning, registry + command.json persistence, and escalation/verification argv.Plan (with pre-implementation review notes addressed) is in
docs/plans/gpt6-low-reasoning-default.md.