Keep the lesson for the next incident
Document idempotency ownership
Record event versus delivery identity, claim timing, storage, retention, concurrent behavior, duplicate acknowledgement, and reconciliation path. State which effects must remain behind review when identity is missing. Record the claim timing and event identity.
Keep race fixtures
Retain sequential retry, concurrent workers, similar distinct events, missing ID, restart, claim expiry, and prior-effect cases. Store expected claims and side-effect counts. Include the original duplicate trigger for handler or storage changes.
Review duplicate signals
Watch repeated IDs, claim conflicts, side-effect count mismatches, missing identities, and claim expiry by endpoint and worker revision. Assign an owner and threshold. Close the follow-up only when every effect-bearing handler runs the race fixtures.
What to carry forward
Close learning with identity and claim rules, race fixtures, handler ownership, and duplicate signals. Keep sender delivery limits visible. The useful outcome is a durable no-op or review decision before side effects occur. Review claim retention before changing handler concurrency.
Technical background: Twilio 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