The server-side date fallback helpers used local-timezone JS Date
methods (setDate/setHours), creating a mismatch when clients send
explicit UTC dates (e.g. 2026-02-28T00:00:00Z). Changed to UTC
methods (setUTCDate/setUTCHours) to ensure consistent UTC behavior.
Also fixed the 90-day churn-risk lookback to use UTC consistently.
Co-Authored-By: Paperclip <noreply@paperclip.ing>
seedKnownUsers() inserted demo services with random UUIDs and no
idempotency guard, causing duplicates when the seed ran alongside or
after the main seed (which uses deterministic IDs + ON CONFLICT DO
UPDATE on id). The admin seed API had the same issue.
Now both paths use deterministic UUIDs with ON CONFLICT DO UPDATE on
id, making the upsert idempotent regardless of seed order or repetition.
Same pattern already used for clients (40143c4).
Co-Authored-By: Paperclip <noreply@paperclip.ing>