Skip to content

SPRINT-3 S3-5 Report — DNS cutover (realoutcomes.app → realoutcomes-edge)

Date: 2026-08-28
Executor: Cursor (Cloudflare API via LASTVET_CLOUDFLARE_API_TOKEN)
Zone: realoutcomes.app (c802a1b96a7e3cfb03a722443377addc)


DNS changes applied

Record Type Name Target Proxied
Apex CNAME realoutcomes.app 643ea255-19c7-4cef-a154-7a2fd6154275.cfargotunnel.com Yes
WWW CNAME www 643ea255-19c7-4cef-a154-7a2fd6154275.cfargotunnel.com Yes

Previous targets (Railway, removed):

  • Apex: yi6abdjh.up.railway.app
  • WWW: 9x8b8ty1.up.railway.app

SendGrid, Google MX, SPF, DKIM, DMARC, and Railway verify TXT records were not modified.


Post-cutover verification

Check Result
https://realoutcomes.app/ 200 — no x-railway-* headers
https://www.realoutcomes.app/ 200 — no x-railway-* headers
/api/health 200
/auth/login 200
/funder-dashboard 200
VM 116 cloudflared active
VM 116 local app :5000 200

Note: First requests immediately after DNS PATCH still showed Railway headers (~15s); edge routing converged quickly. Subsequent requests serve R940 via tunnel.


Constraints

Constraint Status
Railway not torn down PASS (still running; DNS no longer points to it)
Hosted Supabase not torn down PASS
lastvet-edge / last1id-edge untouched PASS
VM 117 Kong LAN-only PASS

Rollback

  1. Revert apex CNAME → yi6abdjh.up.railway.app (proxied)
  2. Revert www CNAME → 9x8b8ty1.up.railway.app (proxied)
  3. Optional: sudo systemctl stop cloudflared on VM 116

S3-6 next (Ryan + Cursor)

  1. Ryan: Browser E2E on https://realoutcomes.app (OAuth login, funder dashboard, directory search)
  2. Cursor: Stripe webhook delivery check (new signing secret on R940)
  3. Do not teardown Railway or hosted Supabase until SPRINT-5

END S3-5 report