Skip to content

PATTERN Cited by 1 source

Self-serve acknowledgment workflow

Problem

When a spend or rate limit is hit, the traditional response is an approval queue — file a ticket, wait for review, resume work. At scale (hundreds of engineers hitting limits monthly), this creates massive friction and grumpy users, yet most limit hits represent legitimate work, not actual problems.

Solution

Replace approval queues with self-serve acknowledgment for short-window (daily) limits:

  1. At ~90% of the limit, send a proactive notification with context (what was spent, remaining headroom).
  2. Present a single-action button (Slack, CLI, web portal) to acknowledge the spend was intentional.
  3. On click, immediately raise the limit by one increment. No waiting, no ticket, no reviewer.
  4. No cap on the number of acknowledgments per period.

The key insight: an unattended automation loop cannot click a Slack button. Each acknowledgment is a deliberate human signal distinguishing intentional heavy use from accidental runaway spend.

Structure

Engineer spend ──▶ 90% threshold ──▶ Notification arrives
                                      (Slack / CLI / portal)
                                    ┌──────┴──────┐
                                    │ Acknowledge  │  ◀── human click
                                    └──────┬──────┘
                                    Limit raised by
                                    one increment (instant)
                                    Continue working

Key design choices

  • Proactive, not reactive. Notification arrives before blocking, not after.
  • Multi-channel. Available via Slack button, internal portal, and CLI — wherever the engineer already is.
  • Increment sizing matters. Too small → notification noise trains click-through behavior. Too large → guard fails. Sized so smooth monthly spend never triggers a notification at all.
  • Monthly reset. All daily-tier promotions revert at month start. Last month's big push doesn't carry over as permanent headroom.

Consequences

  • Positive: Near-zero unblock latency. Eliminates approval queue toil. Preserves runaway protection without human reviewer bottleneck.
  • Negative: Relies on the human-signal property (automation can't click buttons). If notification channel is ignored or auto-dismissed, the guard degrades. Risk of "ack fatigue" if increment is miscalibrated.

Known uses

Seen in

Last updated · 602 distilled / 1,824 read