Skip to content

feat: reminder reliability tracking & delivery metrics (#123)#579

Open
alexchenai wants to merge 5 commits intorohitdash08:mainfrom
alexchenai:feat/reminder-reliability-tracking-123
Open

feat: reminder reliability tracking & delivery metrics (#123)#579
alexchenai wants to merge 5 commits intorohitdash08:mainfrom
alexchenai:feat/reminder-reliability-tracking-123

Conversation

@alexchenai
Copy link

Summary

Implements Reminder Reliability Tracking & Delivery Metrics (Issue #123).

Changes

New Model: ReminderDeliveryLog

  • Tracks every reminder delivery attempt with: status, channel, latency_ms, error_code, retry_count, attempted_at
  • Linked to existing Reminder model via foreign key

New Service: ReminderReliabilityService

  • get_delivery_metrics(user_id, days, channel): Overall success rate, failure rate, avg latency, p95 latency, per-channel breakdown, error code breakdown
  • get_reminder_metrics(user_id, reminder_id): Per-reminder reliability score + full delivery history
  • get_failed_reminders(user_id): List reminders with recent failures for retry workflows
  • record_delivery_attempt(): Record a new delivery attempt with all metadata

New Routes (under /reminders prefix)

  • GET /reminders/metrics?days=30&channel=email
  • GET /reminders/metrics/{reminder_id}
  • GET /reminders/failed?limit=50
  • POST /reminders/{id}/delivery-log

Tests

15 unit tests covering:

  • Empty state defaults
  • All delivered / mixed success+failure
  • Latency percentile calculation (p95)
  • Per-channel filtering and breakdown
  • Error code aggregation
  • Per-reminder reliability score
  • Delivery log recording (success + failure)
  • Deduplication in failed reminders list

Closes #123

@alexchenai alexchenai requested a review from rohitdash08 as a code owner March 20, 2026 13:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reminder reliability tracking & delivery metrics

1 participant