trpc-query-with-side-effects-breaks-idempotency
Using tRPC query procedures (mapped to GET) to trigger database writes — such as writing notification records in a checkDueTomorrow query — violates the REST idempotency contract and means those writes only execute when a user manually hits the endpoint. Notification delivery or any write logic must live in tRPC mutation procedures, and scheduled firing requires a cron job, not a user-triggered query.