Context
Paywall scaffold landed in f935325. Phase D moves voice-query count enforcement server-side so free-tier limits can't be bypassed by client-side clock manipulation.
Acceptance criteria
- voice_query_count column on profiles or daily_usage table
- Server-side check in tRPC voice router
- 5/day hard cap for Free, unlimited for Pro
- Reset at UTC midnight via scheduled fn
- Regression test with clock mocking
Blocker
Depends on Phase C cleanup.
Related planning docs
Context
Paywall scaffold landed in f935325. Phase D moves voice-query count enforcement server-side so free-tier limits can't be bypassed by client-side clock manipulation.
Acceptance criteria
Blocker
Depends on Phase C cleanup.
Related planning docs
docs/paywall-wiring-plan.md