Skip to content

babysit-prs: batch confirmed findings into one commit per cycle; severity-route SUGGESTION findings to deferred work items #378

Description

@kyle-sexton

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 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).
  • Reconcile with babysit-prs: codify the decide-and-defer non-convergence resolution playbook (own-once, no duplication of safety.md) #375 (decide-and-defer playbook, deferred disposition in reference/feedback.md) — the deferred-nits work item is the same disposition class; don't create a second mechanism.
  • Reconcile with the fix-round-cap ledger (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.md
  • plugins/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-319
  • babysit-prs: codify the decide-and-defer non-convergence resolution playbook (own-once, no duplication of safety.md) #375 (decide-and-defer non-convergence playbook)
  • Companion trigger change: melodic-software/ci-workflows (claude-review drop synchronize)

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-humanHuman-in-the-loop required; autonomous sessions must not resolve items carrying this.priority: mediumReal value, no hard deadline; normal backlog flow.

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions