Status: IN
Rate limits are checked both at `send()` time (fast rejection before queuing) and again at `process_queue()` time (because budget may have been consumed between enqueue and delivery)
Source: entries/2026/06/05/notification-system-notification_system.md