Skip to content

ReviewSLA: make anyone who requests changes or comments an assignee - #54

Draft
willson556 wants to merge 1 commit into
mainfrom
review-sla-reviewers-as-assignees
Draft

willson556 wants to merge 1 commit into
mainfrom
review-sla-reviewers-as-assignees

Conversation

@willson556

@willson556 willson556 commented Oct 21, 2026 •

Copy link
Copy Markdown
Member

A reviewer who requests changes, or leaves comments, is someone the author now waits on. Only the two picked assignees had SLA clocks, reminders and a place on the dashboard, so a re-request to anyone else went untracked.

Rule (in remind mode; shadow only logs who it would add): on a ready PR, anyone except the author or a bot who has requested changes, or left a comment review with a body or inline comments, since the PR was last marked ready is made an assignee of that PR. This uses the same "counts as a response" test as the SLA clock.

  • Approvals don't add anyone.
  • Draft-time reviews don't count.
  • Only that PR, not the whole stack.
  • Their review is their first response, so they owe nothing until the author re-requests their review after a push. Then the existing re-review clock starts.

Recorded in the Review SLA comment. The hidden marker now also holds added, the people assigned this way, for as long as they stay assigned. The comment is created on such a PR even when nobody owes a review yet. The record is used in two places:

  • Out-of-office reassignment leaves their reviews alone, on that PR and across the stack. A teammate can't answer someone else's change request. They still get reminders and show on the dashboard.
  • AssignReviewers leaves them out when it copies assignees from the PR below, so they don't spread up the stack.

Not changed: they count toward their open assigned PRs when AssignReviewers picks by load. We decided to start that way and see.

Rollout note: the first remind run will add everyone who qualifies on PRs that are open right now, all at once. Each of them gets a normal GitHub assignment notification.

Tests:

  • 5 new:
    • which reviews qualify (owed.test.js)
    • adding, recording, and a quiet second run
    • shadow logging only
    • an added reviewer gets a re-review clock and isn't handed off when out
    • AssignReviewers leaving them out of stack inheritance
  • All 5 fail on the old code.
  • node --test passes all 118 tests.

Both READMEs describe the new behavior.

🤖 Generated with Claude Code

A reviewer who requests changes or leaves review comments is someone the
author now waits on, but only the two picked assignees had clocks,
reminders and a place on the dashboard. In remind mode ReviewSLA now
assigns them to that PR (shadow mode logs it), and records them in the
Review SLA comment's hidden state so out-of-office reassignment leaves
their reviews alone and AssignReviewers doesn't carry them up the stack.
Their review is their first response; a re-request after a push starts
their re-review clock.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Copy link
Copy Markdown
Member Author

How to use the Graphite Merge Queue

Add the label merge-queue to this PR to add it to the merge queue.

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant