Aglet

Investigate webhook event ID extraction

Investigation should show where event identity is lost or misread. Build stable, missing, renamed, delivery-only, and same-resource-different-event fixtures, then trace each through the receiver. Keep sender schema, parser, and local key choice as competing explanations in the receiver path for this receiver.

Build a useful investigation brief

  1. Build identity fixtures

    Create a stable event ID, missing ID, renamed field, delivery ID only, two similar events with different IDs, and two deliveries of one event. Record expected deduplication and effect before execution.

  2. Trace the identity key

    Capture raw headers and safe body fields, parser output, selected key, claim record, route, handler, and side effect. Compare first divergence between stable and missing cases. Keep body contents bounded and redacted.

  3. Challenge the fallback

    Vary only field name, schema version, header, resource key, payload ordering, or parser revision. Compare whether events remain distinct. If no stable identity exists, document the missing contract and stop before choosing a hash.

What to carry forward

The investigation is ready when stable and missing cases show identity extraction, claim, routing, and effect transitions. Deliver a narrow parser or contract change. Keep deduplication unresolved for events lacking a supported stable key. Show whether the available key identifies the event, an individual delivery attempt, or only the affected resource before recommending its use.

Technical background: Shopify developer 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