You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Review-churn audit (2026-07-19 session): across the 6 noisiest PRs of the last 24h (claude-code-plugins #356/#359/#355/#341/#372, standards#184) there were ~92 fix rounds, but only ~15-20 were driven by genuinely pre-existing MAJOR issues. 30% of all 222 bot findings were NEW-SCOPE cascade — real bugs, but in code a previous fix commit had just added — manufactured by the current one-finding-at-a-time fix/push loop: each small push re-triggers both reviewers (Codex on every push; claude-review on synchronize until scoped). #355's root refactor landed ~8 rounds late after a ladder of patch-shaped fixes.
The skill currently has no rule coalescing findings: each finding runs its own D1-D7 cycle and "batch" refers only to worker concurrency (reference/orchestration.md worker lifecycle ~:459-483, :232-233). Nits currently always qualify as "small + related → fix now" (reference/review-discipline.md fix-now-or-ticket rule), so every cosmetic finding becomes a pre-merge round-trip.
Proposed work
Batch discipline: per cycle, collect ALL confirmed findings on a PR, diagnose root-cause classes, fix the whole class in one commit, push once. One push per PR per cycle, not per finding.
Severity routing default: CRITICAL/IMPORTANT → fix in the batch commit pre-merge. SUGGESTION/cosmetic → VALID (defer) by default: one batched follow-up work item per PR (all nits, with file:line pointers + PR link), fixed post-merge by background drain loops. Uses the existing fix-now-or-ticket mechanism in review-discipline.md — this changes only the default for nit-class findings ("small + related" no longer forces fix-now when severity is SUGGESTION).
plugins/source-control/reference/review-discipline.md (VALID (defer), "never merge past a confirmed-valid finding with neither a fix nor a tracked issue")
Context
Review-churn audit (2026-07-19 session): across the 6 noisiest PRs of the last 24h (claude-code-plugins #356/#359/#355/#341/#372, standards#184) there were ~92 fix rounds, but only ~15-20 were driven by genuinely pre-existing MAJOR issues. 30% of all 222 bot findings were NEW-SCOPE cascade — real bugs, but in code a previous fix commit had just added — manufactured by the current one-finding-at-a-time fix/push loop: each small push re-triggers both reviewers (Codex on every push; claude-review on
synchronizeuntil scoped). #355's root refactor landed ~8 rounds late after a ladder of patch-shaped fixes.The skill currently has no rule coalescing findings: each finding runs its own D1-D7 cycle and "batch" refers only to worker concurrency (
reference/orchestration.mdworker lifecycle ~:459-483, :232-233). Nits currently always qualify as "small + related → fix now" (reference/review-discipline.mdfix-now-or-ticket rule), so every cosmetic finding becomes a pre-merge round-trip.Proposed work
review-discipline.md— this changes only the default for nit-class findings ("small + related" no longer forces fix-now when severity is SUGGESTION).deferreddisposition inreference/feedback.md) — the deferred-nits work item is the same disposition class; don't create a second mechanism.reference/feedback.md:66-86): at cap, remaining findings route to the deferred work item and the PR proceeds to gate-proven merge — autonomous, no human interrupt (per babysit-prs: codify the decide-and-defer non-convergence resolution playbook (own-once, no duplication of safety.md) #375's autopilot-only thread-resolution basis).Acceptance criteria
References
plugins/source-control/skills/babysit-prs/— SKILL.md loop :308-335,reference/orchestration.md,reference/feedback.md,reference/cadence.mdplugins/source-control/reference/review-discipline.md(VALID (defer), "never merge past a confirmed-valid finding with neither a fix nor a tracked issue")plugins/source-control/skills/pull-request/reference/monitor.md:304-319synchronize)