Aglet

How to diagnose missing events across the delivery path

A missing event may never have been emitted, may have stopped in transport, or may have been consumed without updating the expected result. This triage guide follows a known state change through event creation, acceptance, delivery, consumption, and projection, then compares a neighboring event.

Establish what is happening

  1. 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.

  2. 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.

  3. 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