trpc-query-used-for-write-ops-breaks-reminder-delivery
Using tRPC query procedures (HTTP GET, idempotent contract) to both check and write notification state means side effects only trigger when a client manually calls the endpoint. In the TaskFlow repo, reminders.checkDueTomorrow was a query that inserted notification rows — no cron meant reminders silently never fired unless a user opened the app the day before. Reminder/notification triggers must be mutations and invoked by a server-side cron, not a client-facing query.
Related
- docker
- 2026-04-04-oracle-001-self-architecture-analysis
- openclaw
- redis
- salesforce
- trpc-query-must-not-write-side-effects
- trpc-query-used-for-side-effects-breaks-idempotency-contract
- trpc-query-must-not-write-data
- trpc-query-procedures-must-be-idempotent-reads-only
- trpc-query-used-for-writes-contract-violation
- trpc-query-procedure-must-not-perform-writes
- trpc-query-procedure-used-as-mutation-violates-contract
- trpc-query-writing-side-effects-breaks-idempotency
- trpc-query-used-for-side-effectful-reminder-writes
- trpc-query-used-for-side-effects-reminder-anti-pattern
- trpc-query-procedure-used-for-side-effecting-writes
- trpc-query-procedures-must-not-write-data
- trpc-query-procedure-with-write-side-effects-breaks-reminder
- trpc-query-procedure-performing-writes-contract-violation
- trpc-query-used-as-mutation-breaks-reminder-delivery
- trpc-query-used-for-write-operations-breaks-idempotency-cont
- r-dash-dashboard-revision-append-only-rollback-pattern
- trpc-query-that-writes-is-silent-cron-failure