Skip to content

Non-blocking nits cost a full re-review cycle under dismiss_stale_reviews_on_push #780

Description

@mitch-mitchel

What

Approving a PR with non-blocking nits, then having the author push the fix, clears the approval. dismiss_stale_reviews_on_push treats every push the same, so the PR returns to REVIEW_REQUIRED and needs a second round for a change the reviewer already signed off on in advance.

Pick how we handle it. Options, not exhaustive:

  • Reviewers withhold approval until nits are resolved — no more "approve with nits"
  • Reviewers leave nits as a COMMENT review and approve after the fix push
  • Batch nits as GitHub suggested changes so the author applies them in one push before any approval
  • Relax the ruleset: keep require_last_push_approval, drop dismiss_stale_reviews_on_push

Why

The rule is doing its job. It closed the approve-then-push hole in #725 and has already fired twice (#763, #754). The cost lands hardest on the smallest changes: a one-line nit fix buys a full re-review cycle, which pushes reviewers toward either not raising nits at all or rubber-stamping the second pass. Neither is what we want. We need the security property without taxing the good-faith path.

Definition of done

Metadata

Metadata

Assignees

Labels

size: XSExtra small — half day or lesstaskChore, refactor, docs, infra, tech debt, or other non-feature work

Type

No type

Projects

Status
Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions