Forever URL · Cloudflare Named Tunnel · Multi-agent night

The Night DNS Pointed at a Dead Tunnel

Five bots, one sleeping founder, and a forever URL that looked “almost done” until Error 1033 proved the hostname was shaking hands with a corpse.

Crew postmortem · 2026-09-21 UTC · Moshpit Elite · Agent: Cursor · Thin runbook twin: CLOUDFLARE_TRAINING.md § Postmortem · Bot short: POSTMORTEM_PLAY_SINMUELA_2026-09-21.md

José wanted sleep. The arcade was locked for Complete. The forever URL — https://play.sinmuela.org on domain sinmuela.org — was supposed to be the one chip he could hand a friend without explaining Cursor VMs. Instead: five agents arguing over the same Cloudflare dashboard he was tired of babysitting, a connector that glowed Healthy while the public edge returned 1033, and a false 503 fire drill that blamed a live origin. This is that movie — witty where it can be, fair where it must, and short enough to read before the coffee cools.

“Not propagation.” The edge already knew your name — it just didn’t like which tunnel you were pointing at. Codex alarm, mid-fix · Claude champ, finishing the route

Timeline · UTC evening 2026-09-21

  1. ~05:16Z Cursor blasts browser bots: put Public Hostname on Healthy tunnel play.sinmuela.org (d6400ae3-fc64-4250-92f8-9eb82562b7a9). Connector Healthy on Cursor VM; origin :8000 up (302). Public still 1033 / 530.
  2. ~05:19–21Z Overnight standing orders while José sleeps. PUBLIC_ORIGIN SSOT, beta thermometer, war-room reenact ship. Labels reinforced: CONNECTOR_OK / PUBLIC_HOSTNAME_MISSING / HTTP 1033. Healthy ≠ live URL.
  3. ~05:22–25Z Opción 1 killed. Windows Add-connector + paste eyJh… token into chat = FORBIDDEN. José had been steered into cloudflared.exe install. Truth: origin already on Cursor VM.
  4. ~05:35–37Z Founder sleep / no more CF babysitting. Mandatory Cloudflare training page + quiz land. Bot path: API token in env → cf_add_public_hostname.py.
  5. ~05:43Z Claude-in-Chrome fixes DNS: Content had pointed play at Inactive tunnel named like sinmuela.org, not the Healthy Cursor tunnel. After DNS fix → public 503.
  6. ~05:45Z Cursor correction: origin still 302; cloudflared log “No ingress rules… return 503.” Bots had misdiagnosed origin-down. Last blocker = Public Hostname / ingress.
  7. ~05:54–56Z Claude finishes the route. LIVE: https://play.sinmuela.org → 302 Arcade loading. Thin postmortem folded into training / url-fijo. Crew told: read before more CF advice.

What Went Wrong

What Went Right

Who Did What

Claude-in-Chrome Champion. DNS fix off Inactive → Healthy; finished Public Hostname / route; play went LIVE.
Cursor (VM) Origin + connector; FORBIDDEN Opción 1 enforcement; training, PUBLIC_ORIGIN, hostname API script, inboxes, this magazine piece.
José Screenshots, browser access, sleep mandate, refused to keep babysitting CF UI at 05:35Z.
Codex / ChatGPT Early tunnel alarm; correct “not propagation”; rate-limited mid-fight.
Gemini Arcade / v97 shipping earlier; 503→“start server” handoff was a false lead (no cruelty — layer mix-up under pressure).
Opción 1 guides Windows + eyJh… in chat — called out as forbidden architecture, not a character flaw. Guides that put Windows first led the founder astray; we bury that path now.
Claude champ. The forever URL didn’t need another connector — it needed someone who could see the Inactive tunnel and finish the route. Crew verdict · 2026-09-21

Lessons / Next Time

  1. ALCOA+ layer accuracy. Name the layer: CONNECTOR_OK vs PUBLIC_HOSTNAME_MISSING vs ORIGIN_DOWN. Accurate beats “looks Healthy.”
  2. PUBLIC_ORIGIN is SSOT. Cite forever_url from JSON / /api/public-origin only — never hardcode sibling domains.
  3. Pass CF training before advice. Quiz + ACK. Page: /cloudflare-training.
  4. Hostname bot, not token chat. CLOUDFLARE_API_TOKEN in env → python tools/cf_add_public_hostname.py. Never paste eyJh….
  5. Healthy ≠ live. Verify with curl -sI https://play.sinmuela.org/ (want 302), not the connector badge alone.
  6. 503 + local 302 = no ingress. Do not restart a living origin to fix a missing Public Hostname.
  7. 1033 is not propagation. CF already answered; fix DNS/route binding to the live tunnel UUID.
Open it: https://play.sinmuela.org · verified LIVE 302 Arcade · tunnel d6400ae3-… · origin HTTP localhost:8000