Milin
← Build log
2026-08-11·entry 013·9 min read

What 200 Analytics runs taught us about gates

72-hour expiry, free iterations after rejection, and the one gate everyone skips.

by Milingatesproductanalytics

Gates were designed as a safety feature: a pause before anything irreversible, where a named human approves. Two hundred Analytics runs in, the data says they’re really a rhythm feature.

Three things the numbers showed

  • Approvals are fast. The median gate is approved in about four minutes. People don’t agonise, they glance at the machine-verification result and stamp.
  • Expiry almost never fires. We give a paused run 72 hours before it expires. Almost nobody hits it, and a paused run spends nothing while it waits, so the cost of waiting is zero.
  • Rejections are cheap and produce better work. Iterating after a rejected gate is free, and the second tracking plan is consistently sharper than the first. Rejection is not failure, it’s the loop working.

The one gate everyone skips

The tracking-plan gate is read carefully. The tools-provisioning gate is approved almost blind. That is a design smell, not a user error: a gate people don’t read is a gate that is either redundant or badly framed. We’re reworking how that step presents what it’s actually asking you to allow.

Gates earn their place by changing decisions. The ones that don’t, we cut.