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¶
- Revert apex CNAME →
yi6abdjh.up.railway.app(proxied) - Revert www CNAME →
9x8b8ty1.up.railway.app(proxied) - Optional:
sudo systemctl stop cloudflaredon VM 116
S3-6 next (Ryan + Cursor)¶
- Ryan: Browser E2E on
https://realoutcomes.app(OAuth login, funder dashboard, directory search) - Cursor: Stripe webhook delivery check (new signing secret on R940)
- Do not teardown Railway or hosted Supabase until SPRINT-5
END S3-5 report