Keep the lesson for the next incident
Document the receipt contract
Record verification order, receipt durability, response condition, timeout handling, queue handoff, retry identity, and processing ownership. Define safe states for before-receipt and after-receipt interruption. Keep sender timing separate from receiver durability.
Keep timing fixtures
Retain fast, slow, storage delay, crash-before, crash-after, retry-before, retry-after, and duplicate cases. Store expected response, receipt, processing, and effect state. Include the original timeout shape for endpoint changes. Include a redacted receipt marker in every case.
Review latency signals
Watch response duration, pre-receipt failures, retries after receipt, pending receipts, and side-effect duplicates by endpoint and handler. Assign an owner and threshold. Close the follow-up only when receipt and timeout checks cover shared paths.
What to carry forward
Close learning with receipt and acknowledgement rules, timing fixtures, processing ownership, and timeout signals. Keep sender limits visible. The useful outcome is a recoverable receipt boundary, not a promise that every handler will finish before response. Review the receipt boundary whenever inline work changes.
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