Most teams describe "human in the loop" as a safety property. Operationally it is a dependency: a queue with arrivals, service times, finite workers and an availability profile. A documented case of blanket approval grew a backlog to fourteen thousand pending items in forty-eight hours against a three-person review team processing about two hundred items an hour, and average approval latency landed at six and a half hours 16. The agent had not failed. The reviewer pool had been sized for design-doc traffic rather than production traffic.
That reframing drives every design decision that follows. If the queue is a service, it needs an owner, a capacity model, timeouts and dashboards. If it is a checkbox, it gets none of those and the first real load turns it into the incident. Human service times have heavy tails too: a routine approval takes thirty seconds and a confusing one takes twenty minutes, and the same reviewer handles both, so queue depth grows faster under load than the mean would suggest 16.
The decision rule that follows is simple. Before you add an approval gate, name the queue owner, the reviewer pool size, the expected arrival rate and the tier timeouts. If you cannot fill those four blanks, you have not designed a gate; you have deferred a capacity problem into production.



