The first-poll diagnostic dumped the 5 most recent emails from the
shared Resend account, including their `to` field, leaking unrelated
customer addresses into CI logs. Replace with a counts-only summary
and drop the recipient from the timeout error message.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
When the backend rate-limits magic-link requests (e.g. from CI re-runs),
tests now skip with a clear message rather than hard-failing the entire
suite. AuthRateLimitedError is caught in beforeAll and sets authSkipped
flag that each test checks.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
In --json mode the error envelope goes to stdout, not stderr. The
earlyExit handler now reports both streams so CI failures show the
actual API error message.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>