Because:
- After FXA-13627, sessionReauth derives authPW from the immutable signup
email but was posting the user's current primary as `email` and the
signup email as `originalLoginEmail`. The server still interprets the
payload with legacy semantics — `email` is the derivation salt / account
lookup key (validated against account.email) and `originalLoginEmail`
is the email the user typed (validated against the current primary in
checkEmailAddress). The result was that every reauth following a
change-primary-email step failed with INCORRECT_EMAIL_CASE, breaking
the change-password flow in settings/changeEmail.spec.ts.
This commit:
- Maps the helper args onto the wire correctly: `email` carries the
derivation email (signup) and `originalLoginEmail` carries the
user-typed email (primary), so both server-side checks pass on the
first attempt with no retry logic needed.
- Renames the local resolved variable to derivationEmail for clarity
since the option still travels under its legacy name.
- Flips the swapped assertions in the auth-client unit test to match
the corrected wire format.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>