trpc-query-must-not-write-data

tRPC query procedures have GET semantics and are expected to be idempotent reads. Placing write operations (e.g., sending notifications, creating reminder records) inside a query means they only execute when a client explicitly calls the endpoint — no scheduler will fire them. Reminder or notification delivery logic must live in mutation procedures called by a cron job, not in queries.