fix: drop an unused binding to bring eslint warnings back under the ceiling - #7745
fix: drop an unused binding to bring eslint warnings back under the ceiling#7745CrysisDeu wants to merge 1 commit into
Conversation
…eiling The Frontend Lint gate pins --max-warnings 603, but main's tree measures 604: an unused `const s = await shell()` binding landed while a string of backend-only merges skipped the lint job, so nothing surfaced it. Every frontend PR now inherits the red. Keep the shell() call (its render is the setup), drop the binding the test never reads. Warnings measure exactly 603 again — the ceiling equals the count, per the gate's own comment.
UX Review (Fable 5) — ✅ PASSUX-level review of UX-Verdict: PASS One-line test-only cleanup (unused binding removed); no user-facing surface, string, or rendered pixel changes in this PR. [UX-REVIEWED] b855992 |
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: |
Design Review (Fable 5) — ✅ PASSDesign-level review of Design-Verdict: PASS One-line removal of the exact warning that broke main's ratchet, following the gate's own "ceiling equals measured count" rule — correct shape, minimal blast radius. Suggestions
[DESIGN-REVIEWED] b855992 |
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: |
|
Status note for the merger: the backend reds here (test_security_posture.py gate-side redactor census, Windows(3) + 3.10(4) shards) are main-inherited — this branch is origin/main plus one frontend test line and cannot reach slack/gateway.py. The census fix is already in flight as #7756, which in turn inherits the eslint 604>603 red THIS PR fixes. Cross-inherited pair: merging either one first greens the other after a rebase/rerun; neither can show a fully green board until then. |
Closing — contained byte-for-byte inside #7569Verified relationship: Verified independently, not from the earlier finding: #7745's entire diff is 13 lines, one file, one hunk in website/src/test/issueRadarNarrowViewport.test.ts turning Carry this over firstThis closure is about redundancy, and these items are the exception: they are not on No code. The one line is already byte-identical inside #7569 (website/src/test/issueRadarNarrowViewport.test.ts, the test 'names the LIST in the Back control, not one item from it': Current stateNeither side has merged -- the issue/PR reference check and the open-PR list both show #7569 and #7745 OPEN, so superseded by work already on From a repository-wide duplicate/overlap audit of every pull request open against |
Problem / Motivation
The Frontend Lint gate runs
npx eslint src/ --max-warnings 603, but a clean checkout of main measures 604 warnings: an unusedconst s = await shell()binding (website/src/test/issueRadarNarrowViewport.test.ts:167) landed while a string of backend-only merges skipped the Frontend Lint job entirely, so main's own CI never surfaced it.Why it matters
Every frontend-touching PR currently inherits a red
Frontend Lint & Type Checkregardless of its own diff (confirmed on PR #7731: its two changed src files carry zero warnings, yet the job fails at 604 > 603). Until this lands, no frontend PR can go green.What changed (motivation → approach → change)
The gate's own comment says the ceiling must EQUAL the measured count — so fix the count, don't raise the ceiling. Drop the unused binding, keep the
shell()call (its render is the test's setup).npx eslint src/measures exactly 603 again.Tests
No behavior change; the touched test file still passes (16/16). The lint gate itself is the pin.
Manual verification
npx eslint src/on this branch:604 → 603 warnings, 0 errors. Verified the 604 reproduces on pristine origin/main (7126fa1) before the fix.Why no screenshot: test-only unused-binding removal; no rendered surface changes.
no linked issue: gate breakage found during PR #7731's babysit; fix is one line, filed directly.
Pattern harvest
--max-warnings 603) only runs when its path filter matches, so a violation that lands alongside frontend changes survives as long as every SUBSEQUENT merge is backend-only; the breakage then surfaces on the next unrelated frontend PR instead of the culprit.npx eslint src/on origin/main) before touching the branch; and consider running count-pinned ratchets on a low-frequency schedule against main so a skip window cannot hide a regression.Rule candidate: a count-pinned ratchet gate (
--max-warnings N, baseline ceilings) should also run on a scheduled workflow against main, not only on path-filtered PR triggers — a skip window must not be able to hide a regression until an unrelated PR inherits it.