Aglet

Prioritize duplicate webhook side effects

A duplicate receipt that produces no effect can wait; a second state transition or external action cannot. Prioritize by effect, identity confidence, worker reach, and ability to reconcile. Keep prevention and repair separate so a new deduplication rule does not hide existing duplicates.

Decide where the work belongs

  1. Map effect severity

    For each duplicate, list event identity, resource, side effect, worker count, prior state, and current state. Distinguish a repeated acknowledgement from a repeated mutation. Preserve safe correlation instead of raw content.

  2. Compare containment paths

    Assess pausing one handler, enforcing a durable claim, reconciling state, or reviewing a bounded replay. Record whether effects are reversible and who can approve repair. Do not discard duplicate evidence after a successful no-op.

  3. Set duplicate order

    Queue irreversible effects and race-prone shared handlers first, then identity gaps and harmless repeated receipts. Set owner, fixture, review time, and proof. If two events are only payload-similar, prioritize identity evidence before merging them. Keep identity evidence with the queue item.

What to carry forward

Return a duplicate queue with effect, identity, race, containment, reconciliation owner, and acceptance evidence. Escalate irreversible repeats. Keep priority provisional when claim retention or prior effect state is missing. Keep prevention separate from repair of existing effects.

Technical background: Twilio 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