Skip to content

fix(pr-review): re-read the whole diff after a fix instead of holding confidence at 8 forever - #2019

Merged
Makisuo merged 3 commits into
mainfrom
fix/pr-review-full-pass-after-fix
Oct 31, 2026
Merged

Makisuo merged 3 commits into
mainfrom
fix/pr-review-full-pass-after-fix

fix(pr-review): a not_applicable verdict is never a whole-diff read

7d68c61
Select commit
Loading
Failed to load commit list.
Maple Review Bot / Maple / review succeeded Oct 31, 2026 in 1m 3s

Confidence 8/10 · No issues found

🟢 Confidence 8/10 · likely safe to merge. Held at 8 because earlier reviews of this pull request found 2 defects.
no findings · tests covered · risk medium · 1/1 new units observable · 2 defects fixed in earlier rounds

A kickoff after a fix now asks for the whole diff, the runner stamps wholeDiff only when every due file was listed and read, and the confidence cap counts only fixes since the last whole-diff pass. The two earlier findings are fixed and the new paths are tested.

  • uncheckedFixes counts only fixes made since the last whole-diff pass
  • The pass after such a fix gets a kickoff asking for the whole diff
  • wholeDiff is stamped only when every due file was listed and read
  • The history cap drops once a clean whole-diff pass has run

Fixed since the last review

  • ✅ F1 · wholeDiff is stamped even when the pass never received the file list
  • ✅ F2 · loadReviewHistory loads every review's full reportJson
What was checked
  • uncheckedFixes counts only resolved defect categories fixed after the last wholeDiff review (findings.ts:44)
  • The model cannot set wholeDiff: normalizePrReviewSubmission rebuilds the report field by field (pr-review.ts:754)
  • A recheck kickoff parses back as no scope, so every listed file is due (review-coverage.ts:45)
Observability coverage: 1 of 1 changes observable
Change Kind Observable Evidence
Pull request review history read (loadReviewHistory) db query yes Runs inside the PrReviewService.followUpFor and submitReview spans, which now annotate maple.pr_review.recheck, maple.pr_review.whole_diff and maple.pr_review.unchecked_fixes

7d68c61 · Reply "won't fix" to dismiss a finding, or mention @maple-review-bot to ask about one.