Repository navigation
ci(merge-gate): accept Claude Fable 5.2 review attestations - #2394
Merged
Merged
Conversation
Add `Claude Fable 5.2` to the reviewer models an exact-head attestation line may name, at the existing efforts (`max`, `xhigh`). The gate guide and the gate test list the same model.
Contributor
📏 PR diffNote Actual code changed: 0 lines🟢 0 added 🔴 0 removed Tests, docs, fixtures, and helper scripts excluded.
Every changed line is classified once. |
0xAndoroid
marked this pull request as ready for review
November 10, 2026 08:21
Contributor
Verifier classifier: risk-1Head The change expands permitted review-attestation models in CI merge policy. In both revisions, this flows through attester and merge-gate decisions, not proof verification. No verifier acceptance behavior changes. Risk: risk-1 Per-path ratings (3 files)
gpt-6.1-sol, reasoning effort xhigh |
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.
This PR lets the AI merge gate accept
Claude Fable 5.2as the reviewer model named in a review attestation, the PR comment line that records a clean review of the exact head commit. The accepted reasoning-effort settings,maxandxhigh, and every other gate rule stay unchanged.Why
The AI merge gate (
scripts/ci/ai_merge_gate.py) rates a maintainer's pull request on a risk scale of 1 to 4. It approves one rated 1 to 3 only after an authorized PR comment attests a clean review of the exact head commit. The attestation is one fixed-format line that names the pull request, the head commit, the review procedure (a free-text "skill" name), the reviewer model and the reasoning-effort setting the review ran at. The gate accepts the line only if the model is on its list of accepted models, which until now heldGPT-6 AstraandClaude Opus 5.5.Anthropic released Claude Fable 5.2 on November 9, 2026, and the gate rejects an attestation that names it.
The gate compares the model text in the line with the list by exact string, so the new entry is the display name
Claude Fable 5.2, spelled the same way as the existing entries. Other spellings stay rejected: with this change applied, the API idclaude-fable-5-2and the lowercaseclaude fable 5.2still leave the gate check neutral.Changes
scripts/ci/ai_merge_gate.py: the tupleREVIEW_MODELSgains"Claude Fable 5.2". The check on the attestation line and the hint in the gate's check output for a missing attestation both read this tuple, so no other line of the script changes..github/ai-merge-gate.md: the sentence in the gate guide that lists the accepted models names the new one.scripts/tests/test_ai_merge_gate.py: the accepted cases intest_attestation_requires_an_exact_line_for_this_pull_and_headgainClaude Fable 5.2withmaxand withxhigh.No other file lists the accepted models.
CONTRIBUTING.md,CLAUDE.mdand.claude/skills/ci-code-review/SKILL.mdpoint to the gate guide for the list. TheGPT-6 Astraattestation line inCONTRIBUTING.mdand thegpt-6-astracommand in the skill are examples and remain valid.Testing
CI runs the gate tests with
python3 -m unittest scripts.tests.test_ai_merge_gate -v. The same module, run locally through uv on Python 3.13.15, passes all 61 tests:With the
REVIEW_MODELSchange reverted, the two new cases fail: the gate check concludesneutralwhere the test expectssuccess.Side effect on open pull requests
Because the gate's cache of risk classifications depends on the bytes of the gate script, merging this PR makes the gate classify open pull requests again. The gate stores each classification together with a SHA-256 digest of six files, and
scripts/ci/ai_merge_gate.pyis one of them, so any edit to that file invalidates the stored classifications. The gate's workflows check out the default branch, never the pull request's copy, so every evaluation after the merge uses the edited script. At its next gate evaluation after the merge, a ready, maintainer-authored pull request with no standing change request and no current-head approval from another maintainer has its head classified again. That run uses one of the two paid classifier attempts the gate allows per head. A head that has already used both stays unclassified until its next push, and an unclassified head needs a current-head maintainer approval. A classification already running when this merges also loses its paid attempt: its publish job checks out the edited script, the prepared input digest no longer matches, and that run leaves the head unclassified.