Issue 042: Implement email queue dead-letter handling
Area: Backend
Priority: Medium
Files: services/api/src/email/queue.rs
Problem
Jobs that exceed max retries are silently dropped. Failed emails are unrecoverable and unobservable.
Acceptance Criteria
- Permanently failed jobs move to a dead-letter set\n- Dead-letter queue is inspectable via admin API\n- Alerts can be configured on dead-letter growth\n- Manual requeue is supported
Issue 042: Implement email queue dead-letter handling
Area: Backend
Priority: Medium
Files: services/api/src/email/queue.rs
Problem
Jobs that exceed max retries are silently dropped. Failed emails are unrecoverable and unobservable.
Acceptance Criteria