trpc-query-with-write-side-effects-breaks-idempotency

A tRPC query (GET semantics) that performs writes (e.g., creating notification records) violates the read-idempotency contract of queries. In the TaskFlow repo, reminders.checkDueTomorrow was a query that wrote notification rows, meaning reminders only fired when someone manually hit the endpoint — no cron, no actual scheduled delivery. Reminder/notification trigger logic must live in mutation procedures and be called by a real cron job, not a query.