- Fix double notifications: remove redundant check_medication_reminders()
call, use adaptive path as primary with basic as fallback
- Fix nag firing immediately: require nag_interval minutes after scheduled
dose time before first nag
- Fix missing schedules: create on-demand if midnight window was missed
- Fix wrong timezone: use user_now_for() instead of request-context
user_now() in calculate_adjusted_times()
- Fix immutable schedules: recalculate pending schedules on wake event
detection so adaptive timing actually adapts
- Fix take/skip not updating schedule: API endpoints now call
mark_med_taken/skipped so nags stop after logging a dose
- Fix skipped doses still triggering reminders: check both taken and
skipped in adaptive reminder and log queries
- Update README with tasks, AI step generation, auth refresh tokens,
knowledge base improvements, and current architecture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>