Grabs up to limit expired (expiresAt <= now), not-yet-reversed grants, oldest expiresAt
first; a reversed grant is never handed back, so a grant is reversed at most once across sweeps.
Optionaloptions: CallOptionsMarks a grant reversed so claimDue never returns it again; a missing or already-reversed
row is a no-op, so re-running the sweep is harmless.
Optionaloptions: CallOptionsIdempotent on grant.id: opening the same id twice never overwrites the first row. Called
inside the grant's transaction, so it only takes effect if that transaction commits.
Optionaloptions: CallOptions
Tracks each marketing promo grant so the promo-expiry sweep can reverse the unspent remainder against
SYSTEM.PROMO_FLOATonce the grant expires.