Keep the lesson for the next incident
Document ordering and version rules
Describe aggregate identity, source sequence or version, events that require order, events that are order-independent, late-event behavior, duplicate handling, missing-event recovery, and visible current state. Explain which effects must happen once and how older versions are recognized.
Keep a permutation review journey
Preserve checks for in-order, reversed, delayed older, duplicate, retry, missing-member, concurrent aggregate, and order-independent sequences. Define expected versions, fields, side effects, audit entries, and recovery. Assign ownership for updating the journey when consumer concurrency or event meaning changes.
Recheck after event-path changes
Review cases after sequencing, partitions or routing, consumer concurrency, locks, retries, projections, schemas, or source version changes. Compare arrival and final order again. Add a distinct case when a new aggregate has different ordering semantics instead of reusing a generic sequence.
What to carry forward
The learning record should retain ordering meaning, version ownership, aggregate scope, late and duplicate rules, replay checks, and recurrence triggers. It is complete when future engineers can state which permutations are valid and verify current state without relying on arrival order.
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