Skip unchanged files on re-reviews #110

Manually merged
marvin8 merged 2 commits from feat/issue-85-skip-unchanged into main 2026-10-17 02:13:52 +00:00
Collaborator

Re-reviews re-examine files that were already reviewed and were not modified by the fix-push, costing tokens and generating repeat findings for code that has not changed.

What changes

  • ForgejoClient.list_changed_files(base, head) fetches the compare API's changed-file set (deduplicated, null-safe)
  • _apply_skip_unchanged() in the pipeline: when a prior WuMing review exists with a known commit_id, files in the current diff that are absent from the compare set are skipped before routing — with a DEBUG line per skipped file and an INFO summary (WUMING_VERBOSE shows both)
  • Fails open everywhere: feature off, no prior review, unknown last-reviewed commit, or a compare error all review everything
  • When every file is unchanged, the run short-circuits with "all files unchanged since the last review" instead of invoking agents
  • WUMING_SKIP_UNCHANGED (default true; false forces a full re-review; fail-closed parsing) with action.yml input, README config table, AGENTS.md env list, Release-Notes
  • The defaults-parity suite caught the missing input and the parser-mediated default on the first run — the #108 enforcement doing its job

Closes #85

Part of wave 2 (convergence): #84 follows.

Re-reviews re-examine files that were already reviewed and were not modified by the fix-push, costing tokens and generating repeat findings for code that has not changed. **What changes** - `ForgejoClient.list_changed_files(base, head)` fetches the compare API's changed-file set (deduplicated, null-safe) - `_apply_skip_unchanged()` in the pipeline: when a prior WuMing review exists with a known `commit_id`, files in the current diff that are absent from the compare set are skipped before routing — with a DEBUG line per skipped file and an INFO summary (`WUMING_VERBOSE` shows both) - Fails open everywhere: feature off, no prior review, unknown last-reviewed commit, or a compare error all review everything - When every file is unchanged, the run short-circuits with "all files unchanged since the last review" instead of invoking agents - `WUMING_SKIP_UNCHANGED` (default `true`; `false` forces a full re-review; fail-closed parsing) with `action.yml` input, README config table, AGENTS.md env list, Release-Notes - The defaults-parity suite caught the missing input and the parser-mediated default on the first run — the #108 enforcement doing its job Closes #85 Part of wave 2 (convergence): #84 follows.
✨ Skip files unchanged since the last WuMing review on re-reviews
All checks were successful
/ gitleaks (pull_request) Successful in 33s
/ checks (pull_request) Successful in 2m57s
/ deploy-docs (pull_request) Has been skipped
/ publish-container (pull_request) Has been skipped
/ pr-review (pull_request) Successful in 5m57s
d4a5c037aa
marvin8 approved these changes 2026-10-17 02:13:22 +00:00
marvin8 manually merged commit 72ffdc81fe into main 2026-10-17 02:13:52 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Reference
marvin8/wuming!110
No description provided.