fix(ci): dedupe the split-pane chat harness page wiring - #6445
Conversation
capture-chatpane-queue-edit.mjs and capture-chatpane-upload-error.mjs carried the same 14-line preparePage stanza (route fallback, websocket silence, split-layout seed), which tips repo-wide jscpd duplication over the 0% gate on every merge ref. Extract it into scripts/lib/prepare-split-chat-page.mjs with a `pre` hook for the upload harness's 400 intercept — the same shape as the serveDist dedupe.
UX Review (Fable 5) — ✅ PASSUX-level review of UX-Verdict: PASS CI-harness refactor only — no user-facing UI, strings, or screenshots change; nothing a product user ever sees. [UX-REVIEWED] 788024e |
Design Review (Fable 5) — ✅ PASSDesign-level review of Design-Verdict: PASS Textbook extraction of a verbatim clone into the same [DESIGN-REVIEWED] 788024e |
GPT 5.6 Review — ✅ no blocking findingsGPT 5.6 completed its review of This comment is updated in place on each push. Review detailsNo findings. False positive or not applicable? A repository writer can comment: |
Opus 4.8 Review — ✅ no blocking findingsReviewed Verdict parsed from the review's SHA-scoped output markers for commit False positive or not applicable? A repository writer can comment: |
NicholasRBowers
left a comment
There was a problem hiding this comment.
Tier 1 auto-approve: chore/fix — CI capture-harness dedup (3 files). Criteria: no conflict, no requested changes, security path denylist clean, design-doc gate clean, SAST annotations clean, security checklist all-NO, AI reviewers green. Category: fix, ≤5 files with clear root cause — extracts the duplicated split-pane page-wiring stanza from two offline screenshot-capture scripts into a shared prepare-split-chat-page helper, satisfying the jscpd duplication gate; no runtime surface.
Summary
Repo-wide jscpd is red on every merge ref:
capture-chatpane-queue-edit.mjsandcapture-chatpane-upload-error.mjscarry the same 14-linepreparePagestanza (route fallback, websocket silence, split-layout seed, app open). This is the sibling of #6434, which cleared the other clone pair (aws-control / hero-art-proxy) viaserveDist.Extracts the stanza into
scripts/lib/prepare-split-chat-page.mjswith aprehook carrying the upload harness's 400 intercept.npx jscpd .inwebsite/: 0 clones (was 1 pair)node --checkon all three files: cleanUnblocks the Frontend Lint & Type Check job for every open frontend PR (first observed on #6419's merge ref).