Skip to content

Reviews default to codex on a kernel-pinned model - #602

Merged
renmengye merged 1 commit into
mainfrom
feat/codex-review-default
Nov 5, 2026
Merged

renmengye merged 1 commit into
mainfrom
feat/codex-review-default

Conversation

@renmengye

Copy link
Copy Markdown
Member

Why

Adopters set the review model as a literal in their own caller workflow, so a new model release reaches nobody until every caller file is edited. Moving the default model into the kernel's release pins lets callers that leave model unset take the upgrade with the release they already track.

What

  • harnesses.toml: [codex] gains model, pinned with the Codex CLI version.
  • review_agent_cli.resolve_reviewer_harness: a codex session with no REVIEW_MODEL and no endpoint uses that pin. An endpoint's served model and an explicit model input still win. The reviewer, summarizer and maintenance digest share this resolver.
  • Reusable workflows (advisory-review-agent, advisory-review-summarize, maintenance-agent, the manual review-agent): default backend is now codex.
  • This repo's own review.yml and maintenance.yml drop their backend/model lines and run on the defaults.
  • Docs and examples/review.yml: codex with OPENAI_REVIEWER_KEY is the quick start; claude moves to the other-backends list.
  • Model examples in workflow descriptions and error messages use a placeholder (gpt-x.y), so the pinned id has one home (test_no_duplicate_pins).

Compatibility

Breaking for callers that relied on the implicit claude backend: they must set backend: claude, or they get a could-not-run stub until they pass openai_reviewer_key. Covered by an Upgrading: line in the changelog. No run records or other cross-version state change. The local kernel's REVIEW_BACKEND fallback stays claude, because a local deployment only installs the harnesses it names.

Verification

ruff check, ruff format --check, mypy, the full pytest suite (3097 passed, 7 skipped) and pre-commit all pass. One assertion was added to the existing codex-backend test.

Built by Claude Opus 5.5; reviewed by the advisory reviewer on this PR.

The reusable review, summary and maintenance workflows default to the codex
backend. With no model input, codex review sessions use the model pinned in
the [codex] table of harnesses.toml, so a release that moves the pin moves
every caller that leaves model unset. A served endpoint's model still wins,
and an explicit model input still wins.

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Round 1 — reviewed head 1b8bc50a — reviewer summarizer:hermes/gpt-5.6-terra over coverage+credentials+deployment+general+lifecycle+prose.

terra
Advisory findings from outerloop — the code owner decides. Reply to disagree; the outerloop:no-review label opts this PR out.

Verdict: nothing blocking — 1 advisory note.

1 finding attached to the lines below.

One non-blocking coverage suggestion recorded. Rejected findings: none.

@renmengye
renmengye merged commit 9ceed78 into main Nov 5, 2026
16 checks passed
@renmengye
renmengye deleted the feat/codex-review-default branch November 5, 2026 02:14
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