trpc-query-writing-side-effects-breaks-idempotency

tRPC query procedures (mapped to GET) must be idempotent reads — writing side effects inside a query violates the contract. The TaskFlow reminders.checkDueTomorrow was a query that wrote notification records, meaning reminders only fired when a user manually opened the app. Reminder/notification delivery requires a background cron job calling a mutation or a dedicated server-side scheduler, not a query endpoint.