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.
Related
- trpc-query-writing-side-effects-breaks-idempotency
- trpc-query-procedures-must-be-idempotent-reads-only
- trpc-query-must-not-write-data
- trpc-query-procedure-used-as-mutation-violates-contract
- trpc-query-procedure-used-for-side-effecting-writes
- trpc-query-used-for-write-violates-idempotency-contract
- trpc-query-with-side-effects-breaks-idempotency