Aglet

Learn from webhook batch overflow

The durable lesson is a clear boundary between envelope acceptance and each event’s processing result. Preserve the batch shape and event consequence that exposed the gap. Record how size, count, malformed members, interruption, and retry affect acknowledgement so future changes can be checked without guessing.

Keep the lesson for the next incident

  1. Record batch semantics

    Document supported size and count ranges, envelope fields, per-event identity, parser policy, acknowledgement meaning, partial completion, retry handling, and owner. State the disposition for an unsupported or malformed batch explicitly.

  2. Keep a representative matrix

    Retain one-event, boundary, oversized, high-count, mixed, interrupted, and replay fixtures with expected per-event receipts and effects. Include the original overflow case and remove payload values that do not explain the boundary.

  3. Watch partial signals

    Review rejected batches, missing event receipts, incomplete envelopes, repeated event identities, and reconciliation work by endpoint and receiver revision. Assign thresholds and an owner. Re-run the matrix after parser, limit, or acknowledgement changes.

What to carry forward

Close learning with batch semantics, matrix fixtures, per-event ownership, recovery signals, and explicit sender limits. The useful outcome is an observable partial-completion contract, not a blanket size increase. Keep event identity and effect uncertainty attached to future reviews. Revisit after each limit change.

Technical background: Stripe documentation.

Keep the decision with the work.

Use a Work Item in Aglet to record the problem, the evidence you have, and the next decision. Add an owner and priority, then keep updates in the discussion so the next person can follow the reasoning.

Create an account See the product workflow