750692b6aa
SRP fails silently on any constant/hash mismatch, so gate the shim with a live handshake: (1) pure User vs the real srp.Verifier, (2) a negative wrong-password control, and (3) the full /srp/init -> /srp/verify HTTP flow against the real server routes (backed by the real srp lib). All assert the phone operator authenticates. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>