Skip to content

Rewrite the competitive table: GitHub shipped merge-queue-aware stacked PRs #476

Description

@phall1

GitHub shipped native stacked pull requests on 2026-07-30, and they are merge-queue aware. Independently confirmed at docs.github.com/en/pull-requests/get-started/about-stacked-prs, verbatim:

"Merge the entire stack at once by merging the top pull request. Every pull request below it comes with it."
"Stacks support merge commit, squash, and rebase merge methods, and they are merge-queue aware."

This makes README:23 and PRD:55 materially false as written, and kills END-STATE:64's Bar B anchor "3-PR stack, time-to-land p95 <= 1.3 CI cycles (GitHub: ~3)".

Three of five rows of the README competitive table are false against primary sources — one of them contradicted by our own research-merge-queue-landscape.md, committed the same day:

  • Mergify does speculate (max_parallel_checks, cumulative batch PRs) and does bisect (binary search on batch failure)
  • Kodiak is serial and does not batch
  • Bulldozer is not a merge queue at all — it merges on the PR's own checks and never tests the merge result

The surviving differentiators are exactly two, and both are narrower than claimed:

  1. Validation count — one CI round for the whole stack vs N
  2. Suffix atomicity — all-or-nothing vs GitHub's per-layer validation, which permits partial landing

Also add the strongest single piece of evidence for the thesis, which appears in none of our docs: GitHub's own 2026-04-23 merge-queue incident — 230 repos, 2,092 PRs silently reverted, 3h33m to detect, found by support tickets. First-party, recent, and exactly the failure mode invariant 1 exists to prevent.

And resolve the delivery-shape contradiction: README:101 says "No customer-operated infrastructure to start... The hosted control plane is ours"; README:134 says "self-hosted OSS control plane first"; PRD:98 says hosted-first; END-STATE:23 says self-hosted-first. Three documents, two mutually exclusive v1.0s.

See docs/INVESTIGATION.md §7 R12, §6 Q12.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions