Check whether the outcome improved
Define state outcomes
Write expected result for ordered events, reversed events, equal timestamps, duplicate delivery, missing version, and a new event after an advanced local state. State whether the handler applies, rejects, or reviews each case.
Run delivery permutations
Feed the same event pair in creation order, reverse order, and concurrent workers. Confirm stale events cannot overwrite newer state when the contract provides a guard. Check that a duplicate does not advance version or repeat a side effect.
Check reconciliation
Read current resource state after a rejected or ambiguous event, then process a safe recovery fixture. Verify visible state and durable history agree. Retain event IDs and comparison evidence without sensitive payload data.
What to carry forward
Accept when supported ordering or version rules produce the intended final state across delivery permutations, stale writes are visible, and duplicates are safe. Keep coverage partial where the sender gives no usable order signal. Record fixture results and resource scope.
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