Repository navigation
Reviews default to codex on a kernel-pinned model - #602
Merged
Merged
Conversation
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.
There was a problem hiding this comment.
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.
This was referenced Nov 5, 2026
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.
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
modelunset take the upgrade with the release they already track.What
harnesses.toml:[codex]gainsmodel, pinned with the Codex CLI version.review_agent_cli.resolve_reviewer_harness: a codex session with noREVIEW_MODELand no endpoint uses that pin. An endpoint's served model and an explicitmodelinput still win. The reviewer, summarizer and maintenance digest share this resolver.advisory-review-agent,advisory-review-summarize,maintenance-agent, the manualreview-agent): defaultbackendis nowcodex.review.ymlandmaintenance.ymldrop their backend/model lines and run on the defaults.examples/review.yml: codex withOPENAI_REVIEWER_KEYis the quick start; claude moves to the other-backends list.gpt-x.y), so the pinned id has one home (test_no_duplicate_pins).Compatibility
Breaking for callers that relied on the implicit
claudebackend: they must setbackend: claude, or they get a could-not-run stub until they passopenai_reviewer_key. Covered by anUpgrading:line in the changelog. No run records or other cross-version state change. The local kernel'sREVIEW_BACKENDfallback staysclaude, 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.