Keep the lesson for the next incident
Document the event delivery contract
Describe source commit, event creation, identifier and version, acceptance, consumer claim, handler success, acknowledgment, projection or notification update, and visible outcome. State which failures retry, which require review, and how duplicate delivery is safe. Keep payload examples structural and redacted.
Keep an end-to-end gap journey
Preserve checks for normal delivery, producer failure, consumer failure, projection failure, retry, replay, duplicate prevention, ordering, and final visibility. Define expected evidence at every boundary. Assign ownership for interpreting a missing event and for updating the journey when consumers change.
Recheck after schema or route changes
Review the cases after event schema, routing, filters, producers, consumers, acknowledgments, projection writes, or replay tooling change. Compare event identity and downstream state again. Add a distinct case when a new consumer has a different durability, ordering, or recovery contract.
What to carry forward
The learning record should retain event identity and versions, boundary evidence, consumer and replay ownership, downstream contracts, and recurrence triggers. It is complete when future engineers can distinguish missing emission from delayed outcome and can recover without creating duplicates.
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