Raxx · internal docs

internal · gated

RCA — Antlers Phase 3 Cutover: WebAuthn smoke false-negative (wrong host + path)

Incident ID: 2026-05-28-cutover-webauthn-smoke-false-negative Date: 2026-05-28 Severity: SEV-3 Duration: ~0m service impact (cutover succeeded; smoke failure was a false negative, no user-visible outage) Blast radius: CI/CD pipeline reported failure on a successful production cutover. No users affected. Author: sre-agent

Summary

The Antlers Phase 3 cutover workflow (run 26557690397) successfully re-pointed raxx.app from the CRA Pages project to the Next.js Pages project (raxx-prod-next). All 10 preceding steps passed, including the health check (HTTP 200, 729-byte body). The final WebAuthn smoke step (Step 11) failed with HTTP 405 because it sent a POST to https://raxx.app/api/auth/passkey/options — a path that does not exist on the Next.js frontend. The workflow reported FAILURE, but the cutover state was already correct. The smoke was a false negative. No rollback was needed or taken.

Timeline (all times UTC)

Impact

What went well

What didn't go well

Root cause analysis

Detection

Resolution

Action items

# Action Owner Due Issue
1 Fix-forward PR for workflow Step 11 (this RCA) sre-agent 2026-05-28 (this PR)
2 Add smoke-endpoint pre-flight step to dry-run mode — curl smoke URL before live cutover, fail dry-run if 404/405 sre-agent 2026-06-04 TBD
3 Update workflow comment "per PR #2714" to reference correct endpoint source (auth.py route definition) sre-agent 2026-05-28 (this PR — done)

References