✎ Text Section 2 of 8

The loops form a ladder, by speed

A full feedback ladder catches each kind of failure at the fastest rung that can catch it.

Not all feedback is equal, and the most useful way to organise it is by latency — how fast it tells you something. Fast loops catch cheap mistakes constantly; slow loops catch expensive mistakes occasionally. You want a full ladder, because each rung catches a different class of problem.

  • Linter / formatter — sub-second. Catches style and a class of obvious errors. Free, constant, no excuse not to have it.
  • Unit tests — seconds. Catches broken logic.
  • Acceptance tests — minutes. Catches a broken product — the feature as a user would experience it.
  • CD gate — the deploy checkpoint. Catches “is this safe to release?”
  • Production telemetry — hours to days. Catches what only reality reveals: the cases you never imagined.
  • Human review — the slowest loop, reserved for judgement the faster loops can’t encode.

[ILLUSTRATION: a vertical ladder or set of nested loops, fastest at the bottom (linter, sub-second) widening up to slowest at the top (production, days). Label the axis “latency.” This ladder reappears when we reach delivery and production — it’s worth making memorable now.]

The discipline is to push each check to the fastest rung that can catch it. A bug a unit test could have caught should never wait for production to find it. Most struggling teams have a lopsided ladder — a little manual checking at the slow end, almost nothing fast — which means every mistake takes hours to surface. With agents in the loop, a lopsided ladder is fatal: there’s simply too much output to catch by hand at the slow end.