Reason Machines: at 600 agent PRs a day, the merge queue's cost was waiting, not CI
Oct 16: merges went from about 17 a day to over 600 in six weeks. CI was 79 seconds of a 3.4-minute merge; rebuilding the queue inside git cut the slowest 5% from 114 minutes to about 7 while keeping main green.
Source: Rethinking the merge queue
At Reason Machines, engineers work through coding agents, and in six weeks merges into their monorepo went from about 17 a day to over 600. This account of rebuilding their merge queue starts on October 12, when 84 pull requests were waiting at once and the slowest 5% waited two and a half hours.
The team did not take the shortcut some teams take at that volume, merging first and letting agents fix what breaks. They wanted to keep main always green, so they measured where the time went. On a busy afternoon a ready pull request took 3.4 minutes to merge at the median, and CI was only 79 seconds of that. The rest was coordination through GitHub's API: 37 seconds to notice a PR was ready, 26 more to build a test branch, half a minute to merge afterward, and retests of every candidate stacked on top of a failure.
Their replacement, Super Merge, builds the next main inside git's object database with git merge-tree, runs CI once on the tip of each batch, splits a failing batch to find the culprit, and watches main for 20 minutes after each land. Before it touched main they replayed 30 days of real history through it and ran it in shadow mode, where on day one it wanted to revert a good change because it read a cancelled CI run as a failure. Three days after the switch, the median merge was 2.9 minutes instead of 7.9, and the slowest 5% took about 7 minutes instead of 114.
Why it matters for code review
Agent fleets that work around the clock move the bottleneck past review to the last gate before main. This post is a useful reminder that the gate's guarantee was cheap and the waiting was expensive. Batching barely helped at today's volume (batches averaged 1.1 PRs); it is the reserve for when the queue gets deep. In a replay of their busiest day at ten times the volume, the old setup fell two hours behind and the new one stayed under two minutes. Steady agent throughput only compounds if the path to a green main keeps up with it.