Proposal: quality-first policy for duplicate PRs
We have a few piles where 3-4 PRs all claim the same issue. CONTRIBUTING_GUIDELINES says we do not assign issues and people should just open a PR. That is the right anti-limbo rule. It does not say which PR we keep.
I would rather pick on quality than age.
MLflow auto-closes newer community PRs and keeps the oldest. That is simple. It is also wrong on several of our current piles. Two DAG lookback PRs on jaeger-ui#4148 are already approved (jaeger-ui#4151, jaeger-ui#4375). On the archive-only bug the PR in review is #9443, not the earlier #9391.
Proposal, for jaeger and jaeger-ui:
- A cluster is the same issue and the same intended change. Same area is not enough.
- Quality first. Oldest is only the last tie-break.
- Keeper order: right approach, then already approved or actively addressing review, then green CI on a named branch (not fork
main), then the author still responding, then the issue author who opened first, then oldest. - Human close only. Thank the other authors and point them at the keeper. Invite a unique idea onto that PR instead of a second one.
- Do not auto-close. Do not close a maintainer PR or an already-approved PR as the loser without saying why.
- The new-contributor quota is separate. It does not pick the winner.
If this sounds right I can add a short section to CONTRIBUTING_GUIDELINES.md.
@yurishkuro @jaegertracing/jaeger-maintainers do you want this, or would you rather keep oldest by default?
Source: jaegertracing/jaeger