Tenant-scoped suppression rebuild from the append-only event ledger.
Summary
Types
@type result() :: %{ scanned: non_neg_integer(), would_insert: non_neg_integer(), inserted: non_neg_integer(), existing: non_neg_integer(), dry_run: boolean(), tenant_id: String.t(), from: DateTime.t(), to: DateTime.t(), candidates: [map()] }