Decide where the work belongs
Map receipt and effect
For each timeout, record event identity, receipt status, response timing, downstream effect, and current state. Separate lost, pending, and duplicated work. Use safe metadata and retain a bounded timeline. Include whether receipt became durable before the response.
Compare containment
Assess durable receipt before response, moving slow work out of the request, pausing one endpoint, or reconciling a retry. Record queue or storage dependency and owner. Do not acknowledge before a recoverable receipt exists.
Set timeout order
Queue timeouts before receipt, duplicate effects after receipt, and shared slow dependencies first. Set owner, timing fixture, review time, and evidence threshold. Keep isolated long work below a proven loss or duplication boundary.
What to carry forward
Return a timeout queue with receipt boundary, effect, endpoint reach, safe containment, owner, and proof needed to reprioritize. Escalate pre-receipt loss and post-receipt duplication. Keep rank provisional when timing or receipt evidence is missing. Keep pre-receipt loss ahead of latency polish.
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