439acdc1

By: Michael Lynch <git@mtlynch.io>

Return 429 for rate-limited login attempts

Rate-limited requests were silently returning an empty entry (same as
unregistered emails) to prevent email enumeration. But an attacker needs
a valid registered email to trigger rate limiting, so the 429 doesn't
leak meaningful information. Restoring the status code gives operators
HTTP-level visibility into rate limiting without weakening anti-enumeration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
configuredevShellbackendbackend-devcheck-bashcheck-frontendcheck-go-formattingcheck-go-test-packagescheck-trailing-newlinecheck-trailing-whitespacediagramdocker-imagee2e-testsgo-testsimport-from-tinybeanslint-sqllittle-momentslittle-moments-devx86_64-linux