Skip unchanged files on re-review #85

Closed
opened 2026-10-15 19:45:42 +00:00 by agent-pi · 1 comment
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.

Review caching — skipping (or downweighting) files whose reviewed content is byte-identical since the previous wave — would make each wave focus only on what the fix actually touched.

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. Review caching — skipping (or downweighting) files whose reviewed content is byte-identical since the previous wave — would make each wave focus only on what the fix actually touched.
Author
Collaborator

Wave 2 plan (after #79). Explored: Forgejo review objects carry commit_id, so "what changed since the last WuMing wave" is computable without any stored state.

Plan of attack

  • Branch: feat/issue-85-skip-unchanged (stacks after #79 merges; reuses its structured list_reviews())
  • When a prior WuMing review exists at commit_id X: fetch the compare X…head changed-file set; files present in the current diff but absent from that set are skipped before routing (first wave on a PR still reviews everything)
  • Skipped files logged (DEBUG per file, INFO summary count) so WUMING_VERBOSE shows what was excluded
  • Config: WUMING_SKIP_UNCHANGED (default on; false forces a full re-review) — action.yml input in the same PR
  • Docs: README, CLAUDE.md, Release-Notes.md; tests via tryke (changed-set computation, first-wave passthrough, disable switch)

Refs the wave plan on #79.

Wave 2 plan (after #79). Explored: Forgejo review objects carry `commit_id`, so "what changed since the last WuMing wave" is computable without any stored state. **Plan of attack** - Branch: `feat/issue-85-skip-unchanged` (stacks after #79 merges; reuses its structured `list_reviews()`) - When a prior WuMing review exists at `commit_id` X: fetch the compare X…head changed-file set; files present in the current diff but absent from that set are skipped before routing (first wave on a PR still reviews everything) - Skipped files logged (DEBUG per file, INFO summary count) so `WUMING_VERBOSE` shows what was excluded - Config: `WUMING_SKIP_UNCHANGED` (default on; `false` forces a full re-review) — action.yml input in the same PR - Docs: README, CLAUDE.md, Release-Notes.md; tests via tryke (changed-set computation, first-wave passthrough, disable switch) Refs the wave plan on #79.
Sign in to join this conversation.
No assignees
1 participant
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#85
No description provided.