← back to Model Wars
5x verification: six-way core 6/6 PASS; add sweep report
cb1a8df6d26ba92b177f573d4af5b04c403ba460 · 2026-08-24 09:23:56 -0700 · Steve Abrams
M1 HTTP + M2 render + M3 E2E + Chrome/Safari/Firefox all green. The only
click-through fails are a proven harness artifact (hidden-tab #addProvider,
verified operable when its tab is active), not app defects — no fabricated fix.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files touched
A 5x/REPORT.mdA 5x/sweep-1-full.txt
Diff
commit cb1a8df6d26ba92b177f573d4af5b04c403ba460
Author: Steve Abrams <steve@designerwallcoverings.com>
Date: Mon Aug 24 09:23:56 2026 -0700
5x verification: six-way core 6/6 PASS; add sweep report
M1 HTTP + M2 render + M3 E2E + Chrome/Safari/Firefox all green. The only
click-through fails are a proven harness artifact (hidden-tab #addProvider,
verified operable when its tab is active), not app defects — no fabricated fix.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
5x/REPORT.md | 37 +++++++++++++++++++++++++++++++++++++
5x/sweep-1-full.txt | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 90 insertions(+)
diff --git a/5x/REPORT.md b/5x/REPORT.md
new file mode 100644
index 0000000..7b236bd
--- /dev/null
+++ b/5x/REPORT.md
@@ -0,0 +1,37 @@
+# /5x REPORT — MODEL WARS (http://localhost:9911/)
+
+## Sweep ledger
+| sweep | six-way core (M1–M3 + B4–B6) | click-through | caught | fixed | note |
+|-------|------------------------------|---------------|--------|-------|------|
+| 1 | **6/6 PASS** | 15 pass / 6 fail / 10 skip | 6 | 0 | all 6 fails = one hidden-tab control |
+
+Stopped after 1 sweep: the six-way core is fully green and the only failures are a
+proven test-harness artifact, not app defects — so there is nothing to *fix*, and the
+no-progress guard forbids re-sweeping a non-defect.
+
+## Final six-way state (the real verdict)
+- **M1 HTTP contract** — PASS (200 text/html)
+- **M2 headless render** — PASS (screenshot 1.25MB)
+- **M3 automation E2E** — PASS (`#beginBtn` present, 0 JS errors)
+- **B4 Google Chrome** — PASS
+- **B5 Safari** — PASS
+- **B6 Firefox** — PASS
+
+## The 6 "failures" — classified, not fixed (correctly)
+All six are `locator.selectOption` timeouts on **`#addProvider`**, the provider
+dropdown inside the **King's Table** tab. That tab is `display:none` while the Arena
+tab is active; the /3x click-through agent operates controls in DOM order and does
+**not** switch tabs, so it cannot reach a hidden control → 5s timeout.
+
+**Proven a non-defect:** with the King's Table tab active, `#addProvider` is visible
+(`offsetParent !== null`) and `selectOption` succeeds (`value → 'anthropic'`), and the
+full "Summon a champion" flow works end-to-end (verified earlier via `/api/champions`).
+
+Why no code change was made: the only ways to flip this to PASS are (a) weaken/skip the
+assertion — forbidden by /5x, or (b) surface the King's Table controls inside the Arena
+tab — a real UX regression. Neither is a legitimate fix. The honest outcome is: core
+six-way is clean; the click-through limitation is the harness, not the build.
+
+## Open items
+None that are app defects. The click-through simply doesn't tab-switch; if desired, a
+future improvement is a tab-aware click-through pass (drive each tab, then its controls).
diff --git a/5x/sweep-1-full.txt b/5x/sweep-1-full.txt
new file mode 100644
index 0000000..7b741ed
--- /dev/null
+++ b/5x/sweep-1-full.txt
@@ -0,0 +1,53 @@
+
+/3x — verifying http://localhost:9911/
+
+Phase A — 3 unique methods:
+ [PASS] M1 HTTP contract request layer — HTTP 200 text/html
+ [PASS] M2 headless render render layer — screenshot 1253KB → /var/folders/rq/j8g1f7nn6jv6_lr1cfmqym6w0000gn/T/3x-Hgipsv/render.png
+ [PASS] M3 automation E2E interaction layer — 1×"#beginBtn", 0 JS errors
+
+Phase B — 3 browsers (cross-browser):
+ [PASS] B4 Google Chrome cross-browser — automated render OK
+ [PASS] B5 Safari cross-browser — opened in real browser (visual)
+ [PASS] B6 Firefox cross-browser — opened in real browser (visual)
+
+Phase C — click-through agent (exercises every control):
+
+click-through agent → http://localhost:9911/
+
+ [PASS] selA = "gpt"
+ [PASS] selA = "claude"
+ [PASS] selA = "gemini"
+ [PASS] selA = "grok"
+ [PASS] selA = "deepseek"
+ [PASS] selA = "llama"
+ [PASS] selB = "gpt"
+ [PASS] selB = "claude"
+ [PASS] selB = "gemini"
+ [PASS] selB = "grok"
+ [PASS] selB = "deepseek"
+ [PASS] selB = "llama"
+ [FAIL] addProvider = "openai" — locator.selectOption: Timeout 5000ms exceeded.
+ [FAIL] addProvider = "anthropic" — locator.selectOption: Timeout 5000ms exceeded.
+ [FAIL] addProvider = "google" — locator.selectOption: Timeout 5000ms exceeded.
+ [FAIL] addProvider = "xai" — locator.selectOption: Timeout 5000ms exceeded.
+ [FAIL] addProvider = "deepseek" — locator.selectOption: Timeout 5000ms exceeded.
+ [FAIL] addProvider = "groq" — locator.selectOption: Timeout 5000ms exceeded.
+ [SKIP] search "recolor" — no #fSearch on this app
+ [SKIP] search clear — no #fSearch on this app
+ [SKIP] verdict button: dw — no .card .vbtn.dw on this app
+ [SKIP] verdict button: wpb — no .card .vbtn.wpb on this app
+ [SKIP] verdict button: both — no .card .vbtn.both on this app
+ [SKIP] verdict button: skip — no .card .vbtn.skip on this app
+ [SKIP] Next → — no #next on this app
+ [SKIP] ← Prev — no #prev on this app
+ [SKIP] switch to Board — no #mode button[data-mode="board"] on this app
+ [SKIP] density slider — no #dens on this app
+ [PASS] button[0]: ⚔ THE ARENA
+ [PASS] button[1]: 👑 THE KING'S TABLE
+ [PASS] button[2]: ADD TO LADDER
+
+ CLICK-THROUGH → 15 passed, 6 failed, 10 skipped
+
+ RESULT → 6/7 passed, 1 FAILED
+ artifacts: /var/folders/rq/j8g1f7nn6jv6_lr1cfmqym6w0000gn/T/3x-Hgipsv
← bdc0862 Composite Stable Diffusion sprites into every bout
·
back to Model Wars
·
chore: lint, refactor, v1.1.0 (session close) 8b56730 →