Profile
Authenticated user profile + score + password.
Get current user profile
Returns identity attributes (email, name, picture, language) and a derived `joined` timestamp (first swipe, or first wave start as fallback).
Get lifetime score
Lifetime aggregate score for the current user. Sums `wave_scores` when present; falls back to counting `swipes` joined via `template_assignments`.
Change password (authenticated)
Verifies the old password via Cognito, then sets the new password as permanent.