← back to Dw Marketing Reels

5x/REPORT.md

30 lines

# /5x REPORT — dw-marketing-reels console (Video Studio) — 2026-07-17

Target: `http://127.0.0.1:9848/` (auth admin:••••). Four sweeps, fixing on every sweep.

## Sweep ledger
| sweep | passed | caught | fixed | commit |
|---|---|---|---|---|
| 1 | 3/4 | M3 "1 JS error" | investigated → phantom (see below) | — |
| 2 | 2/3 | **console died mid-run (ERR_CONNECTION_REFUSED)** + preload storm | gallery `preload=none` (storm) | `5x sweep 2` |
| 3 | 3/4 | console was down | restarted console | — |
| 4 | 3/4 | process not persistent | **console → pm2 (auto-restart + saved)** | pm2 dump |

## Real fixes applied (committed)
1. **Gallery `preload=none`** — the new Studio-videos gallery no longer fires a metadata preload per card (partial fix for the ~18-video connection storm; videos still play on click).
2. **Persistence: console under pm2** (`dw-marketing-reels-studio`, armed with `VIDEO_AUTORUN=1` + `CLAUDE_BIN`, `pm2 save`d). Root-cause fix for sweep 2's `ERR_CONNECTION_REFUSED` — the bare `nohup` process had died between sweeps; pm2 auto-restarts it.

## Final six-way state
- **M1 HTTP contract** — PASS (200 text/html; `/api/config`, `/api/videos`, `/api/video/jobs`, `/api/reels` all 200)
- **M2 headless render** — PASS
- **M3 automation E2E** — flags "1 JS error" **every sweep**, but VERIFY-BEFORE-ACTING repro (Playwright, console+pageerror listeners) shows **`real JS errors: none`** on all 4 sweeps. The "error" is the 3x runner counting `net::ERR_ABORTED` on `<video preload=metadata>` in the reels thumbnail gallery — the headless context aborts in-flight video-metadata fetches on teardown. Every video serves **HTTP 200** when actually requested (verified directly and through the live MCC proxy). It is a **reproduced-benign test artifact, not a product defect.**
- **B4 Chrome** — PASS
- **B5 Safari / B6 Firefox** — SKIP (engines not installed on this host — environment limitation, not a defect).

## Honest stop
Stopped at sweep 4. "Clean twice" is unreachable **only** because M3 keeps miscounting the benign preload abort — and stripping the reels-gallery thumbnails (real UX) to force a green M3 would be gaming the test (against /5x rules). All real defects found (preload storm, process death) are fixed. Functionally the build is clean: no real JS errors, every endpoint + video 200, console persistent.

## Still open (non-defect)
- M3's benign-abort miscount would only clear by removing reels thumbnails — declined.
- Cross-browser B5/B6 need Safari/Firefox installed to exercise (Chrome passes).