Skip to content

feat(models): default gpt-6-astra second opinions to low reasoning effort - #25

Merged
datj9 merged 1 commit into
mainfrom
feat/gpt6-low-effort-default
Sep 8, 2026
Merged

datj9 merged 1 commit into
mainfrom
feat/gpt6-low-effort-default

Conversation

@datj9

@datj9 datj9 commented Sep 8, 2026

Copy link
Copy Markdown
Owner

Summary

crossagent's default GPT-6 Astra second opinions now run at low reasoning 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=low override; a user's own ~/.codex/config.toml (which may be set to high for interactive work) is never modified.

What changed

  • Advisor.default_reasoning_effort + reasoning_effort_config_key — codex sets low / model_reasoning_effort; every other advisor is None (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 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 (mirrors --model); --reasoning default suppresses the override; an invalid level exits 2.
  • --reasoning flag on both the ask and job-start 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 a shared default_reasoning_for_model() gate — so they no longer silently run at the user's config.toml effort.
  • Argv ordering: -c is emitted before the resume subcommand (codex rejects it after).

Behaviour change

Default codex asks with the default gpt-6-astra model now send -c model_reasoning_effort=low. Overridable via --reasoning <level>, --reasoning default, or advisors.json ("codex": {"default_reasoning_effort": null}). All other advisors unchanged.

Testing

  • python -m pytest -q624 passed (was 583; +41 new tests).
  • Ruff: no new findings vs main.
  • Covered: reasoning_args rendering, the default-model gate (incl. alias + case + config default_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.

…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.
@datj9
datj9 merged commit 3acc6df into main Sep 8, 2026
6 checks passed
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