“A gate turns into a rubber stamp for three reasons: it asks too often, it shows too little, and nobody checks whether the approver actually read it. So I fix all three.
First, ask less. I gate by reversibility: reads and undoable writes run and are logged, and only irreversible or external actions wait for a person, such as payments, outbound email, deletes and permission changes. If an approver sees four hundred asks a day, they stop reading by lunch.
Second, make each ask decidable in ten seconds. The card shows the exact arguments my code will execute, not the model’s summary of them: which order, how much, which card, the rule it tripped, and what happened before. Approve and deny get equal weight. A denial carries a reason that goes back to the agent as a tool result, so it replans instead of retrying, and an ask that times out counts as a deny.
Third, measure the approver, not just the agent: approval rate, time to decide, and planted test cases, known-bad calls I seed into the queue to see whether they get caught. A 99.6% approval rate with a two-second median isn’t a control. It’s latency.”