Entities & invariants
Behavior rules
- Blasts: batch endpoints only, marketing rail, per-tenant token bucket; a blast NEVER degrades transactional latency (ADR-015).
- date_property triggers run on cron fan-out at tenant-local send window; duplicates impossible via (campaign, contact, date) idempotency key.
- Unsubscribe link mandatory on marketing; preference center per channel×category; transactional no-opt-out.