writeOAuthCredentials writes profile as `provider:email` when email is
present, but applyAuthProfileConfig was always called with `provider:default`.
This caused config to reference a non-existent profile when OAuth returned
an email.
Compute the same profile-id (email or 'default' fallback) in both
auth-choice.apply.oauth.ts (chutes) and auth-choice.apply.openai.ts
(openai-codex) so config references the actually-written profile.
Fixes failing tests:
- stores openai-codex OAuth with email profile id
- writes Chutes OAuth credentials when selecting chutes (remote/manual)