rfc: dedicated review time and stacked PRs - #18
Conversation
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
|
||
| We are currently moving faster than we ever have as a development team. Since June 1, we've merged 221 PRs. The median PR review process is healthy: 6 files, merged inside two days. It's the tail that's the problem: 34 merged PRs touched 30+ files, 12 touched 60+, and p90 time-to-merge is 11 days. Unfortunately, this tail covers our most important work: ucantone #30 (attested signatures, 114 files), ingot #35 and #36 (Hilt integration, 103 files each), piri #22 (Curio PDP pipeline, 86 files). | ||
|
|
||
| What's wrong? In short, building is more fun than reviewing, AI has made building a lot more fun and a lot more fast. I am as guilty as anyone. So our bottleneck is often review and corresponding context management -- having to keep up with the rapid pace of new code committed and new ideas explored. |
There was a problem hiding this comment.
I am as guilty as anyone.
So am I!
Having written that, I feel this sentence does not belong in an RFC. Let's remove it.
| What's wrong? In short, building is more fun than reviewing, AI has made building a lot more fun and a lot more fast. I am as guilty as anyone. So our bottleneck is often review and corresponding context management -- having to keep up with the rapid pace of new code committed and new ideas explored. | |
| What's wrong? In short, building is more fun than reviewing, AI has made building a lot more fun and a lot more fast. So our bottleneck is often review and corresponding context management -- having to keep up with the rapid pace of new code committed and new ideas explored. |
|
|
||
| ## Proposal 1: dedicated review time | ||
|
|
||
| Each of us holds one hour a day on the calendar for review, checks the review queue before starting new build work, and gives a first response to any review request within one business day. Google's measured cost is about 3 hours a week, so an hour a day is deliberately above steady state: we have a review backlog to drain and agents multiplying our output. Revisit the number in a month. |
There was a problem hiding this comment.
I agree with everything proposed here.
I suggest these additions to consider:
- Configure CODEOWNERS in each repository, so that every new PR automatically requests review from at least one person.
- Monitor "time to first response to a review request" on a per-user and team-wide basis. Every week, an automation should post a message to our eng Slack channel with a list of p50 & p90 for each team member.
- Implement basic alerting. For example: at noon in my local time, if there are any outstanding review requests from yesterday or before, send me a Slack DM with the list of review requests needing my attention.
There was a problem hiding this comment.
I agree with Miro, simple slack reminder would be great.
| A PR should be reviewable in under an hour, which the evidence puts at roughly 400 changed lines, though the content is just as important -- critical auth logic takes longer than code-gen'd serialization for example. Therefore, bigger work must ship as a stack of dependent PRs, each one a reviewable step. | ||
|
|
||
| The norm binds our agents too. Each active repo's AGENTS.md gets an instruction that work expected to exceed the guide ships as a stack, and Claude Code gets the stack tooling below. |
There was a problem hiding this comment.
Is it worth adding some automation here as well? E.g. a GHA workflow that posts a warning comment to the PR discussion if the diff is larger than 400 lines.
pyropy
left a comment
There was a problem hiding this comment.
Great initiative, I agree with everything in this RFC.
|
|
||
| ## Decisions needed | ||
|
|
||
| - **The hour.** I propose one hour a day. Google's measured average is about three hours a week, so this is deliberately generous while the backlog drains. |
There was a problem hiding this comment.
Agree as a baseline, I spend significantly more than this daily already though.
| ## Decisions needed | ||
|
|
||
| - **The hour.** I propose one hour a day. Google's measured average is about three hours a week, so this is deliberately generous while the backlog drains. | ||
| - **Pilot now vs. wait.** The GitHub preview is days old and will have sharp edges; spr covers the gaps. I propose pilot now. |
|
|
||
| - **The hour.** I propose one hour a day. Google's measured average is about three hours a week, so this is deliberately generous while the backlog drains. | ||
| - **Pilot now vs. wait.** The GitHub preview is days old and will have sharp edges; spr covers the gaps. I propose pilot now. | ||
| - **Size guardrails.** Social norm only, or a soft CI warning above ~400 changed lines? I lean social to start. |
📖 Preview
Summary
Two commitments to fix our review bottleneck: an hour a day of calendar-held review time with a one-business-day first response, and stacked PRs for anything bigger than an hour's review — recommending GitHub's native stacked pull requests (with our Claude Code workflows taught to produce stacks), spr as fallback, Graphite in reserve.