docs(ardi): a fix-round commit's file set must match its findings' files - #2401
Conversation
A commit message enumerating a review round's findings asserts its diff touches every file those findings name, and nothing checks that by default. Measured on ai-config#2229 (2026-08-27): a seven-finding fix commit changed seven files and the count match read as coverage, while one finding's file was untouched; the next round re-raised it. Adds the authoring-side check beside ardi.md's existing incoming and push-side "claimed fix landed" rules: derive the union of files the findings name and compare member-by-member against the fix commit's changed-file list before pushing. Closes #2400.
Addresses the three findings from the pre-push adversarial review at 528a63c: 1. The mandated instrument is now git show --name-only, since --stat can ellipsize long paths into indistinguishable members -- the exact conflation the entry exists to prevent. 2. The re-raise clause names its referents: "re-raised the finding against a commit message that claimed to have fixed it." 3. The case narration now reconstructs: the seven findings named eight distinct files (two findings each spanned two files, one file was named by two findings), the commit covered seven of the eight, and the unfixed finding hid behind the equal counts.
|
Adversarial pre-push review (round 1 of 2) — dispatched Summary of ChangesOne commit ( Findings
Verified clean: semantic line breaks ( Verdict: Needs more workReviewed-Commit: 528a63c Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
|
Adversarial pre-push review (round 2 of 2) — dispatched All checks complete. All three prior findings verify as genuinely resolved, and — critically — the rewritten arithmetic was checked against the real PR #2229 artifacts, not just for internal consistency. Summary of ChangesReviewed FindingsNo actionable findings identified. Verification performed:
Verdict: Ready for mergeReviewed-Commit: 668aeb7 Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
@claude review The prior round declined a verdict solely because CI was still running at Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
|
👀 Picked up by workflow run #33047670063. Setup runs first; Claude itself responds after that. |
|
Claude finished review — View run VerdictReady for merge, pending completion of this review job itself. Reviewed commit: 668aeb7 No new findings — my independent content review (arithmetic reconstruction against PR #2229's actual CI status, run through the authoritative instrument rather than inferred: Stopping Point: Clean stopping point reached — review completed for the current head (668aeb7), no unaddressed findings, nothing further queued for this review-only run. Reviewed commit: 668aeb7 |
|
Merging under the standing ai-config Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
Closes #2400
Adds an authoring-side check to
shared/workflow/ardi.md, beside its existing incoming and push-side "claimed fix landed" rules: before pushing a fix round, derive the union of files the round's findings name and compare it member-by-member against the fix commit's own changed-file list (git show --name-only). A matching count is not a matching set.Measured 2026-08-27 on #2229: a seven-finding fix commit changed seven files and the match read as confirmation, but the findings named eight distinct files (two findings each spanned two files, one file was named by two findings), the commit covered seven of the eight, and the one unfixed finding hid behind the equal counts — the next adversarial round re-raised it.
Two commits: the entry, then fixes for its own pre-push adversarial review's three findings (
--name-onlyover ellipsizable--stat, resolved pronouns, reconstructable arithmetic). The follow-up review at head668aeb7freturned Ready for merge (verified the arithmetic against the real #2229 artifacts); both review rounds will be published as comments.Checks: new-line-breaks gate vs
origin/mainclean,check-links.pyclean, non-ASCII scan of added lines clean.Generated by Claude Code