Context
Follow-up slice for Epic #154.
The next smallest useful step is not a separate conference reminder system. It should extend the existing subscription / push stack with track-level deadline reminders derived from the current deadline radar matching.
Scope
- attach
Subscribe this track's deadlines to the existing track workflow
- support 3 reminder channels:
Dashboard, Email, Telegram
- support 3 lead-time windows:
30 / 14 / 7 days
- support 3 frequencies:
daily summary / approaching only / changes only
- keep automatic deadline matching on by default; subscription is an explicit reminder layer
Reuse
src/paperbot/infrastructure/services/subscription_service.py
src/paperbot/infrastructure/push/telegram_subscription_store.py
src/paperbot/api/routes/push_commands.py
src/paperbot/api/routes/research.py deadline radar matching
Acceptance Criteria
- a track can persist deadline reminder preferences without introducing a separate subscription system
- dashboard can surface subscribed reminders from the existing push/subscription model
- email and telegram reminders are opt-in per track
- reminders use current track-to-deadline matching and respect the selected windows/frequency
Notes
Context
Follow-up slice for Epic #154.
The next smallest useful step is not a separate conference reminder system. It should extend the existing subscription / push stack with track-level deadline reminders derived from the current deadline radar matching.
Scope
Subscribe this track's deadlinesto the existing track workflowDashboard,Email,Telegram30 / 14 / 7 daysdaily summary / approaching only / changes onlyReuse
src/paperbot/infrastructure/services/subscription_service.pysrc/paperbot/infrastructure/push/telegram_subscription_store.pysrc/paperbot/api/routes/push_commands.pysrc/paperbot/api/routes/research.pydeadline radar matchingAcceptance Criteria
Notes