← back to Dw Pairs Well

5x/live-sweep-1.md

32 lines

# 5x LIVE run, sweep 1 — https://pairs.designerwallcoverings.com/preview.html (2026-07-13)

(Separate run from the earlier local-target sweeps in this dir.)

## Verify
| Pass | Result | Detail |
|------|--------|--------|
| M1 HTTP contract | PASS | 200 text/html, /healthz 200 |
| M2 headless render | PASS | 574KB screenshot (not blank) |
| M3 automation E2E | **FAIL** | page.goto networkidle timeout 15s |
| B4 Chrome | PASS | automated render OK |
| B5 Safari / B6 Firefox | SKIP | playwright engines not installed, --no-open |
| Phase C click-through | **FAIL** | same networkidle timeout — 0 controls exercised |
| ACTIVE-patterns link gate | **PASS** | live-link-check vs LIVE store: 80/80 suggested links (pairs + clip similar, 5 random ACTIVE+published heroes) → HTTP 200. |

## Caught
1. `networkidle` never fires on this CF-proxied domain — Cloudflare bot-management
   (`/cdn-cgi/challenge-platform/.../jsd` beacons) keeps the network busy forever.
   Request-log instrumentation: page finishes its real work (~7 requests) in ~1s,
   networkidle still times out at 20s with 0 pending requests. App itself healthy
   (endpoints 0.09–0.9s).
2. Shared clickthrough.js had no generic coverage — on this app it would exercise
   nothing real even once the goto was fixed.

## Fixed (~/.claude/skills/3x, commit 4aeb455)
- run.js M3 + clickthrough.js: goto networkidle → load + rendered-body wait
  (assertions unchanged: selector, click, 0 console errors).
- clickthrough.js: generic every-visible-button pass (index re-locate, nav-away guard).

## Ledger
live sweep 1: 4/8 passed · caught 2 · fixed 2 · committed 4aeb455