Summary
I think review/merge policy should be a priority stabilization item before PR volume scales further.
This is not about calling out one maintainer or one PR. The current workflow lets good-faith reviewers move very fast, but it does not clearly define what approval means, when a latest commit needs re-review, or which PRs need independent review before merge.
I would like us to agree on a small v1/stabilization policy for reviews and merges.
Problem or Motivation
Right now, a PR can move from latest commit to approval to merge very quickly, including in sensitive areas. That works for tiny docs or typo fixes, but it is risky for auth, owner scope, data-loss, CI, tool execution, migrations, and broad refactors.
The failure mode is predictable: remaining issues are found after merge, then fixed in follow-up issues/PRs. That creates avoidable churn and makes it harder to know whether dev is stabilizing.
This is already showing up in concrete review work. I have been reviewing quick merges after the fact and finding real bugs that still reproduce on current dev. That is useful cleanup work, but it is the wrong place for the project to discover issues in risky changes.
One recent example is #3397. The PR was in auth/owner-scope code, had requested changes, and had public review feedback calling out owner-rename bugs. The final commit landed on 2026-06-09 at 08:16 UTC, was approved at 08:19 UTC, and was merged seconds later. After merge, more remaining bugs still had to be called out and split into follow-up trackers:
The point is not that this one PR was uniquely bad. The point is that the current process let a high-risk PR look resolved because there was review activity, while the latest code still needed more careful review before merge.
Proposed Solution
- Self-authored PRs need approval from another maintainer/collaborator before merge.
- Risky PRs need two real reviews before merge.
- After a changes-requested review, the PR is not considered resolved until a reviewer re-reviews the latest commit.
- Author comments or generated follow-up patches do not count as review by themselves.
- If a fix uses AI-generated code, the author should read it, understand it, and locally validate it before asking for re-review. Please do not treat generated follow-up code as ready just because it answers the review comment.
- The merger should verify that the approval applies to the latest commit and that required validation is clear.
- Tiny docs/typo/CI-unblocker PRs can have a fast path, but the fast path should be explicit.
Risky Areas
Require stronger review for:
- auth, owner scope, permissions, API tokens
- security and trust boundaries
- data loss, migrations, persistence, file ownership
- CI/release/deployment workflows
- tool execution, shell/file/database access
- broad refactors or route/schema changes
- changes that were previously requested/fixed with multiple follow-up commits
Reviewer Responsibilities
A review should say enough to show what was checked. Looks good is fine for tiny changes, but for risky areas the reviewer should identify the current head, relevant validation, and any assumptions.
Merge Owner Responsibilities
Before merging, the person pressing merge should check:
- the latest commit is the one that was reviewed;
- requested changes were re-reviewed after the fixing commit;
- required validation is present or the gap is explicitly accepted;
- the PR is not a self-authored change without independent review;
- any fast-path exception is obvious from the PR scope.
Alternatives Considered
We can keep relying on informal judgment, but that makes review quality uneven and leaves contributors unsure what standard they are being held to.
We can also move this straight into branch protection, but that may be too rigid before the policy is agreed. A lightweight written policy first seems easier to tune.
Open Questions
- Should risky PRs require two collaborator reviews, or one collaborator plus one trusted contributor review?
- Should self-authored PRs be blocked from self-merge by branch protection where possible?
- What should qualify for the fast path?
- Should the agreed rule live in the existing
CONTRIBUTING.md Pull Requests section, branch protection, or both?
Prior Art / Related Issues
This follows existing repo discussion rather than starting from scratch:
Are you willing to implement this?
Partially. I can help turn the agreed policy into a small CONTRIBUTING.md update. #3128 already covers the review-comment template side. Maintainers should own the final review/merge rule.
Summary
I think review/merge policy should be a priority stabilization item before PR volume scales further.
This is not about calling out one maintainer or one PR. The current workflow lets good-faith reviewers move very fast, but it does not clearly define what approval means, when a latest commit needs re-review, or which PRs need independent review before merge.
I would like us to agree on a small v1/stabilization policy for reviews and merges.
Problem or Motivation
Right now, a PR can move from latest commit to approval to merge very quickly, including in sensitive areas. That works for tiny docs or typo fixes, but it is risky for auth, owner scope, data-loss, CI, tool execution, migrations, and broad refactors.
The failure mode is predictable: remaining issues are found after merge, then fixed in follow-up issues/PRs. That creates avoidable churn and makes it harder to know whether
devis stabilizing.This is already showing up in concrete review work. I have been reviewing quick merges after the fact and finding real bugs that still reproduce on current
dev. That is useful cleanup work, but it is the wrong place for the project to discover issues in risky changes.One recent example is #3397. The PR was in auth/owner-scope code, had requested changes, and had public review feedback calling out owner-rename bugs. The final commit landed on 2026-06-09 at 08:16 UTC, was approved at 08:19 UTC, and was merged seconds later. After merge, more remaining bugs still had to be called out and split into follow-up trackers:
The point is not that this one PR was uniquely bad. The point is that the current process let a high-risk PR look resolved because there was review activity, while the latest code still needed more careful review before merge.
Proposed Solution
Risky Areas
Require stronger review for:
Reviewer Responsibilities
A review should say enough to show what was checked.
Looks goodis fine for tiny changes, but for risky areas the reviewer should identify the current head, relevant validation, and any assumptions.Merge Owner Responsibilities
Before merging, the person pressing merge should check:
Alternatives Considered
We can keep relying on informal judgment, but that makes review quality uneven and leaves contributors unsure what standard they are being held to.
We can also move this straight into branch protection, but that may be too rigid before the policy is agreed. A lightweight written policy first seems easier to tune.
Open Questions
CONTRIBUTING.mdPull Requests section, branch protection, or both?Prior Art / Related Issues
This follows existing repo discussion rather than starting from scratch:
dev/mainsplit and stricter PR expectations.Are you willing to implement this?
Partially. I can help turn the agreed policy into a small
CONTRIBUTING.mdupdate. #3128 already covers the review-comment template side. Maintainers should own the final review/merge rule.