trpc-query-used-for-writes-contract-violation

A tRPC query procedure (GET) used to both check reminders AND write notification records violates the idempotent-read contract for queries. Additionally, reminder checks implemented as queries only fire when a client calls the endpoint — there is no background cron triggering them. Reminder/notification side-effects must be mutations, and background delivery requires a separate cron or job queue.