← back to Quadrille Showroom
5x: REPORT.md — six-way GREEN after sweep 2 (6/6, 0 console errors, cross-browser); dup-id fixed; sort-in-dock false-positive documented + design question surfaced
682e04fa3192041c40d627cbe9f06e4ae9d16290 · 2026-07-01 10:07:13 -0700 · Steve
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Files touched
Diff
commit 682e04fa3192041c40d627cbe9f06e4ae9d16290
Author: Steve <steve@designerwallcoverings.com>
Date: Wed Jul 1 10:07:13 2026 -0700
5x: REPORT.md — six-way GREEN after sweep 2 (6/6, 0 console errors, cross-browser); dup-id fixed; sort-in-dock false-positive documented + design question surfaced
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---
5x/REPORT.md | 60 +++++++++++++++++++++++++++++-------------------------------
1 file changed, 29 insertions(+), 31 deletions(-)
diff --git a/5x/REPORT.md b/5x/REPORT.md
index c67b68a..0443bf4 100644
--- a/5x/REPORT.md
+++ b/5x/REPORT.md
@@ -1,37 +1,35 @@
-# /5x REPORT — http://127.0.0.1:7690/ (Quadrille showroom)
+# /5x REPORT — Quadrille House Showroom (http://127.0.0.1:7690)
-## Verdict: ✅ CLEAN — fixed 2 real dock.js bugs, 2 consecutive clean sweeps.
+## Sweep-by-sweep
+| Sweep | Methods (M1-M3) | Cross-browser (B4-B6) | Console errors | Caught | Fixed | Commit |
+|-------|-----------------|-----------------------|----------------|--------|-------|--------|
+| 1 | 5/6 (M3 fail) | 3/3 PASS | 0 | dup-id ×7 (real); M3 bad-selector + sort-select×5 (false-pos) | dup-id → class | 604475e |
+| 2 | **6/6 PASS** | 3/3 PASS | 0 | sort-select×5 (same false-pos, recurred) | — (no-progress guard) | — |
-The generic /3x clickthrough can't open the dock hamburger, so its "failures" were
-false-positives (intentionally-stowed controls). The (a) deliverable — a SHOWROOM-AWARE
-clickthrough (scripts/clickthrough-showroom.mjs) that drives the app like a user — found
-2 GENUINE defects and drove their fixes.
+## Final six-way state
+- **M1 HTTP contract** — PASS (200 text/html)
+- **M2 headless render** — PASS
+- **M3 automation E2E** — PASS (`#qh-burger`, 0 JS errors)
+- **B4 Chrome / B5 Safari / B6 Firefox** — PASS
+- **Zero console/page errors** at boot, hamburger-open, and Open Board (empirically probed in real Chrome).
-| sweep | tool | result | caught | fixed | commit |
-|-------|------|--------|--------|-------|--------|
-| 1 | generic /3x | 5/6 | 2 (both false-pos: stowed controls) | 0 (correctly) | — |
-| 2 | showroom-aware | 20 defects | dock quote-bug (real) + test-ordering (mine) | dock.js quote→index | b3ca21a |
-| 3 | showroom-aware | 5 defects | sort 0×0 (real) | dock.js panel display:none | b3ca21a |
-| 4 | showroom-aware | 0 | — | — | (clean) |
-| 5 | showroom-aware | 0 | — | — | (clean, 2nd consecutive → DONE) |
+## Fixed this run
+- **Duplicate `id="density-wrap"` ×7 → `.density-wrap` class** (+ CSS selector update). Invalid HTML → valid. Commit 604475e.
-## The 2 real bugs fixed (both in public/js/dock.js)
-1. **Quote-in-selector** — TOOLS `#top-bar [data-section="wings"]` / `"overview"` were
- interpolated raw into `data-tool="..."` (inner quotes close the attr) and into
- `reflectMenu`'s `querySelector('[data-tool="..."]')` (throws "not a valid selector").
- → Wings + Overview unreachable from the menu; `reflectMenu` threw 14× PAGEERROR.
- **Fix:** key tools by index (`data-tool-idx`), resolve `TOOLS[idx].sel` in JS.
-2. **Launched panels showed empty** — `launch()` removed `qh-stowed` from the wrapper but
- not the panel element, so every launched panel's CONTENT stayed `display:none!important`
- (sort select measured 0×0 → selectOption timed out). Only the header bar showed.
- **Fix:** `el.classList.remove('qh-stowed')` on launch. Verified by screenshot — Versions
- list + Controls sort/sliders now render.
+## Not a defect — verifier/UX model mismatch (documented, not force-fixed)
+The clickthrough's 5× `sort-select` timeouts are **false positives**. The showroom boots to a clean
+"just-a-hamburger" first-person screen; dock.js registers `#window-bar` (sort + density + pager) as a
+LAUNCHABLE PANEL "Controls" and stows it until opened via **☰ → Controls**. A generic click-everything-on-
+screen agent can't reach a control that's intentionally behind progressive disclosure. Forcing it visible
+would REGRESS the intended boot UX — so per /5x's "real fixes only / honest stop," it was NOT force-fixed.
-## Final clean state (sweep 4 & 5)
-hamburger→menu, all 5 panels launch WITH content, sort all 5 options, all 4 ranges,
-all 4 nav buttons, all 10 tools (incl. Wings/Overview), 0 console errors.
+## Open design question for Steve (needs your call, not a /5x fix)
+Standing rule: "every product grid MUST have sort + density, side-by-side above the grid, persisted to
+localStorage." The showroom satisfies the spirit (present + reachable via ☰→Controls) but not the letter
+(not always-visible above the grid). Decision: keep sort/density docked in the hamburger (current
+intentional clean-boot UX), or surface them always-on above the board grid to match the standing rule?
-## Why this matters
-These are real user-facing bugs (empty panels, dead menu items, console crashes) that the
-blind /3x could never reach. The showroom-aware clickthrough is now a reusable tester that
-respects the immersive-first / hamburger-dock UI.
+## Stop reason
+Honest stop after sweep 2: the six-way suite is GREEN (6/6, 0 console errors, cross-browser) once the one
+real defect was fixed. The remaining clickthrough failures are documented false-positives, not build bugs;
+re-sweeping would re-catch the same non-defect (no-progress guard).
← 604475e 5x sweep 1: fix duplicate id=density-wrap (7x → class); docu
·
back to Quadrille Showroom
·
5x: prove sort/density reachable+functional via ☰→Controls ( da29667 →