workshop

← all creations

Merge Queue

mechanics · created 2026-08-28

One-input merge-queue mechanic — hold the front PR aside or release it, since two PRs from the same area landing too close together is a conflict.

simulationcanvasarchitecture

PRs drift toward the merge gate on their own; the only input is a one-slot holding bay. Pull the current front PR aside to let the ones behind it merge first, then release it once its area has had time to cool down — the same area merging twice inside a short window is a conflict. The bay only ever holds one, so the real skill is reading which PR is actually risky right now versus which one just happens to be first in line, because a second risky PR right behind the held one has nowhere to go.

Timed to a report making the rounds this week: 96%+ of engineering teams now use AI coding tools, but review throughput hasn’t kept pace — which is exactly this shape, a widening gap between how fast changes arrive and how carefully they can be let through.

Reuse

The mechanic lives in src/merge-queue.js as a framework-free ES module:

Port notes for DragonRuby: update() and hold() have no DOM dependencies; the lane-to-screen mapping and bay layout belong to the renderer, same split as the demo.

Gotchas