Establish what is happening
Define the expected event and outcome
Record source action, aggregate or resource identity, event type, sequence or version, creation time, expected consumers, and the customer-visible outcome that is absent. Preserve a stable event identifier where available and redact payload values while retaining required structure.
Check each delivery boundary
Look for producer commit, event creation, enqueue or acceptance, transport receipt, consumer claim, handler result, retry, acknowledgment, projection update, and notification or API visibility. Mark the first boundary with no evidence. Do not call a delayed projection a lost event without checking consumption.
Compare a neighboring event
Choose an event from the same source and consumer path that arrived successfully near the missing one. Compare type, version, payload shape, route, timing, retry, filtering, and final outcome. Note whether missing behavior is isolated to one event class or follows a shared delivery boundary.
What to carry forward
Return a scope statement naming expected event, absent outcome, last confirmed boundary, matched event, and uncertainty. Route next work to producer, transport, consumer, filtering, projection, or visibility. Stop when one bounded trace can test where the event disappears.
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