Five verified acceptance cases
✓Valid event
One normalized destination record.Passed · 1 write
One normalized destination record.Passed · 1 write
✓Replay
Same event ID creates no second record.Passed · suppressed
Same event ID creates no second record.Passed · suppressed
✓Malformed input
Rejected before destination mutation.Passed · 0 writes
Rejected before destination mutation.Passed · 0 writes
✓Transient dependency failure
Retry succeeds without duplication.Passed · attempt 2
Retry succeeds without duplication.Passed · attempt 2
✓Permanent dependency failure
Visible failure after retries; no write.Passed · 0 writes
Visible failure after retries; no write.Passed · 0 writes
$ python -m unittest -v
PASS valid event
PASS replay suppression
PASS malformed input
PASS transient retry
PASS permanent failure
Ran 5 tests in 79.037s · OK
Executed environment
Engine: n8n 2.35.7
Fixtures: synthetic only
Credentials: none embedded
Template endpoints: explicit __BASE_URL__ placeholders
Raw logs: excluded because they contain local paths and oversized stack traces
Evidence boundary
This is a self-owned demonstration. It is not client work and does not claim to reproduce a prospect's defect. For customer delivery, the same method begins with sanitized exports or staging, least-privileged access, a snapshot before mutation, written acceptance criteria, and rollback instructions.