Aglet

How to verify event ordering and current state integrity

Verification must show that related events produce the intended current state even when arrival order changes, while valid independent events still work. Replay in-order and delayed sequences, exercise retry and missing members, and inspect versions, effects, audit history, and visible state.

Check whether the outcome improved

  1. Replay in-order and delayed sequences

    Use the same aggregate, event types, source versions, and processing conditions from the baseline. Apply events in source order, reverse a relevant pair, and delay an older event after a newer one. Record arrival, processing, final version, fields, transitions, and customer-visible outcome.

  2. Check retry, duplicate, and missing cases

    Retry an older event, deliver a duplicate, and omit one sequence member where the contract permits observation. Confirm guards do not regress into stale state or duplicate effects, and missing events become visible or recoverable. Compare identifiers, audit history, and final state after recovery.

  3. Prove independent events remain valid

    Run unrelated aggregates or order-independent event types concurrently and out of order. Confirm they do not wait unnecessarily, get discarded, or share a sequence guard. Exercise errors and empty states, then compare visible state and notifications with the in-order control.

What to carry forward

Classify ordering as protected, regressed, unchanged, or inconclusive with permutation, version, final-state, and side-effect evidence attached. It passes only when harmful older events cannot replace newer state, required recovery remains possible, and independent events retain their intended behavior.

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