Keep the lesson for the next incident
Document the timeout contract
Describe client and server deadlines, work and commit boundaries, response ownership, pending state, safe retry rule, confirmation path, and final visible outcome. Record the request shape that crossed the boundary and the measurements supporting it. Keep sensitive input values out of examples.
Keep pre- and post-commit cases
Preserve a repeatable journey that delays before commit, delays after commit, completes near the deadline, retries safely, and checks final state. Define expected statuses and identifiers. Assign ownership for updating the journey when a route gains a new dependency or durable effect.
Recheck after deadline or data changes
Review the cases after client budgets, server timeouts, queries, dependencies, transaction boundaries, or response handling change. Compare chronology, retry behavior, and visible state again. Add a distinct case when a read and write route have different completion or confirmation contracts.
What to carry forward
The learning record should retain deadline and commit boundaries, timeout semantics, retry ownership, confirmation checks, and recurrence triggers. It is complete when future engineers can distinguish a late response from incomplete work and can verify recovery without repeating an uncertain effect.
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