Convergence controls: max rounds / diminishing-returns stop #84

Closed
opened 2026-10-15 19:45:37 +00:00 by agent-pi · 1 comment
Collaborator

On an active PR, every fix-push triggers a fresh review wave, and there is no natural stopping point: #75 ran five waves with increasingly marginal and repetitive findings, and would have continued indefinitely.

Convergence controls would bound this: e.g. a configurable cap on review rounds per PR, and/or an exit rule where a wave containing only low-severity findings is summarised in a single comment instead of posted inline (signalling diminishing returns).

On an active PR, every fix-push triggers a fresh review wave, and there is no natural stopping point: #75 ran five waves with increasingly marginal and repetitive findings, and would have continued indefinitely. Convergence controls would bound this: e.g. a configurable cap on review rounds per PR, and/or an exit rule where a wave containing only low-severity findings is summarised in a single comment instead of posted inline (signalling diminishing returns).
Author
Collaborator

Wave 2 plan (last of the wave, after #79/#85 land). Both controls from the issue body, sharing the structured reviews fetch from #79.

Plan of attack

  • Branch: feat/issue-84-convergence-controls
  • Hard cap: WUMING_MAX_ROUNDS (default 0 = unlimited). Round = count of prior ## WuMing reviews on the PR + 1. At/over the cap: no agent calls; post one plain PR comment ("cap reached, skipping further waves") once — deduped via the existing marker scan — and exit 0
  • Soft diminishing-returns stop: when a wave produces findings and all are below high severity and a prior review exists, post them as a single plain PR comment instead of an inline review (a wave of LOW nits stops pinning the diff)
  • Both fail open: if prior reviews cannot be fetched, behave as today
  • Config + action.yml inputs in the same PR; README, CLAUDE.md, Release-Notes.md; tryke tests (round counting, cap behaviour, low-only routing, fail-open)

Refs the wave plan on #79.

Wave 2 plan (last of the wave, after #79/#85 land). Both controls from the issue body, sharing the structured reviews fetch from #79. **Plan of attack** - Branch: `feat/issue-84-convergence-controls` - **Hard cap**: `WUMING_MAX_ROUNDS` (default `0` = unlimited). Round = count of prior `## WuMing` reviews on the PR + 1. At/over the cap: no agent calls; post one plain PR comment ("cap reached, skipping further waves") once — deduped via the existing marker scan — and exit 0 - **Soft diminishing-returns stop**: when a wave produces findings and *all* are below `high` severity *and* a prior review exists, post them as a single plain PR comment instead of an inline review (a wave of LOW nits stops pinning the diff) - Both fail open: if prior reviews cannot be fetched, behave as today - Config + action.yml inputs in the same PR; README, CLAUDE.md, Release-Notes.md; tryke tests (round counting, cap behaviour, low-only routing, fail-open) 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#84
No description provided.