trpc-query-used-as-mutation-breaks-reminder-delivery

Using a tRPC query procedure to write side effects (e.g., a checkDueTomorrow query that inserts notification rows) violates the idempotency contract of queries and creates a silent operational failure: reminders only fire when a client manually calls the endpoint, not on a schedule. Any time-triggered notification must be driven by a server-side cron calling a mutation procedure — not a query. This pattern is easy to miss in code review because the naming looks read-like.