Webhook Replay Harness
Replay sanitized webhook fixtures against an in-process mock receiver. Inspect retry, ordering and duplicate handling under virtual time, without sending a request to a live endpoint.
v0.1.0 · Node.js 22+ · MIT
Compare two public fixture runs
Clone the repository and run these commands from its root with Node.js 22 or newer. Both plans are checked-in synthetic examples.
Retries and duplicate handling
node bin/webhook-replay-harness.mjs --plan examples/clean/plan.jsonThe clean fixture replays four events. Three are delivered; one repeated event ID is deduplicated. One delivery retries, and the run passes with zero errors, one warning and one informational finding.
Refused targets and exhausted attempts
node bin/webhook-replay-harness.mjs --plan examples/broken/plan.jsonThe deliberately broken fixture contains eight events and exits 1 with seven errors. Four targets are refused before any attempt; two deliveries fail after their allowed attempts. The report identifies each refusal or failed delivery without contacting the named hosts.

What this local replay can establish
The receiver is an object inside the same process. The CLI does not send network requests, connect to a live webhook service, verify signatures, prove production delivery, or measure real-world latency. Fixture bodies and targets must be sanitized before local use. Results describe only the supplied plan and mock receiver behavior.
Continue the integration review
Plan safer webhook retries and duplicate handling
Discuss an API integration test and release workflow with Edilec. Share only information you are permitted to disclose.