Merge Queue
A serialising gate that tests each change against the current tip before merging, so a green branch cannot break the mainline.
A branch that passed its checks against a tip that has since moved has not been tested against what it will actually merge into. With a handful of contributors this rarely bites; past a certain merge rate it bites constantly, and the mainline is broken by combinations rather than by individual changes.
A merge queue removes the race by testing candidates against the tip they will land on, in order, and merging only what passes. Batching several candidates together recovers most of the throughput lost to serialisation, at the cost of a bisect when a batch fails.
The queue is also a diagnostic. If it is permanently deep, the test suite is too slow for the team's merge rate, and the answer is to speed up the suite rather than to add queue capacity. Teams that skip this reasoning end up with a queue that adds hours of latency to every change and conclude that trunk-based development does not work for them.