trpc-query-procedures-must-not-write-data
tRPC query procedures are semantically GET operations and must be idempotent reads. TaskFlow’s reminders.checkDueTomorrow was a query that wrote notification rows — this means reminders only fire when a user manually hits the endpoint, silently failing as a background notification system. Any write (insert, update, side-effect) must be a mutation. Violating this contract also prevents proper caching, optimistic updates, and retry-safety.
Related
- trpc-query-procedures-must-be-idempotent-reads-only
- trpc-query-used-for-write-ops-breaks-reminder-delivery
- trpc-query-used-for-write-violates-idempotency-contract
- trpc-query-procedure-used-as-mutation-violates-contract
- trpc-query-writing-side-effects-breaks-idempotency
- trpc-query-procedure-performing-writes-contract-violation
- echarts-chart-renderer-flat-row-shape-assumption
- trpc-query-procedure-used-for-writes-contract-violation