Background
The redesigned Settings → Notifications page displays three toggles (HITL pending approvals, webhook delivery failures, weekly digest) marked as "Coming soon". The data model and dispatch worker don't exist yet.
Scope
- New
notification_prefs table: (user_id, key, enabled, created_at, updated_at).
- Per-event-type dispatch worker (email via the existing outbound pipeline; possibly SMS / Slack later).
- Initial event keys:
hitl_pending_threshold (e.g., notify when >N messages waiting), webhook_failure, weekly_digest.
- Endpoints:
GET /api/v1/users/me/notification-prefs, PATCH …/notification-prefs.
- Settings UI removes the "Coming soon" badge and wires the toggles to PATCH.
- Unsubscribe link in every notification email (one-click, signed token).
Effort
M (mostly straightforward — the unsubscribe-link signing and the worker scheduling are the parts that need care).
Source
BACKEND_TODO.md #12 (deferred bucket).
Background
The redesigned Settings → Notifications page displays three toggles (HITL pending approvals, webhook delivery failures, weekly digest) marked as "Coming soon". The data model and dispatch worker don't exist yet.
Scope
notification_prefstable:(user_id, key, enabled, created_at, updated_at).hitl_pending_threshold(e.g., notify when >N messages waiting),webhook_failure,weekly_digest.GET /api/v1/users/me/notification-prefs,PATCH …/notification-prefs.Effort
M (mostly straightforward — the unsubscribe-link signing and the worker scheduling are the parts that need care).
Source
BACKEND_TODO.md #12 (deferred bucket).