Status: IN
Rate limit budget (`RateLimiter.record`) is consumed only after successful delivery, not on failed send attempts — failed attempts don't eat rate limit quota
Source: entries/2026/06/05/notification-system-notification_system.md
JSON