tRPC-query-procedure-performing-writes-contract-violation

In TaskFlow, reminders.checkDueTomorrow is implemented as a tRPC query that creates notification rows as a side effect. tRPC queries must be idempotent reads; any operation that writes state must be a mutation. Beyond the contract violation, this means reminders only fire when a user manually hits the endpoint — there is no background cron, so notifications are silently dropped unless a user opens the app.