Outcome
Add Cloudflare Email Sending as the second provider proof while declaring documented capability differences honestly.
Scope
- Email Sending binding transport
- privacy-safe documented error normalization
- provider message ID recording
- per-domain event subscription consumption
- event ID, message ID, and recipient correlation to the canonical ledger
- capability and conformance report
Acceptance criteria
- delivered, deferred, bounced, failed, rejected, and complained events normalize correctly
- unsupported open/click and provider idempotency are reported as unsupported
- duplicate/out-of-order Queue deliveries converge
- 50-recipient and 5 MiB boundaries fail before durable commit
- official Resend SDK requests work unchanged
- Cloudflare remains labeled Beta until evidence supports otherwise
Depends on D1, R2, and Queues adapters.
Parent direction: #81
Execution plan: #84
Outcome
Add Cloudflare Email Sending as the second provider proof while declaring documented capability differences honestly.
Scope
Acceptance criteria
Depends on D1, R2, and Queues adapters.
Parent direction: #81
Execution plan: #84