Webhook Duplicate Delivery – Idempotency Verdict
Verdict (TL;DR)
STOP treating duplicates as delivery errors.
Why this happens (structural)
Webhook systems guarantee at-least-once delivery. Duplicates are expected behavior.
Why further debugging often fails
Delivery logic is correct. Absence of idempotency creates false failure perception.
Responsibility boundary
Idempotency is the receiver's responsibility.
What evidence would change this verdict
- Verified idempotent handling at the receiver
Deterministic verification
No webhook-side verification exists for idempotency correctness.
Final decision
STOP.