Summary
lint-staged runs ESLint with --max-warnings=0 (fails on any warning), but the lint script used by CI and validate runs plain eslint . (exits 0 on warnings). The pre-commit gate is therefore stricter than CI, so warnings can accumulate on main.
Severity
Low (CI consistency)
Affected code
lint-staged.config.mjs:8 — eslint --max-warnings=0 --fix ....
ui/package.json:10 — "lint": "eslint ." (no --max-warnings), invoked by .github/workflows/ui-ci.yml:44 and package.json:13 (validate).
Suggested fix
Add --max-warnings=0 to the lint script in ui/package.json so the local hook, CI, and validate all enforce the same bar.
Summary
lint-stagedruns ESLint with--max-warnings=0(fails on any warning), but thelintscript used by CI andvalidateruns plaineslint .(exits 0 on warnings). The pre-commit gate is therefore stricter than CI, so warnings can accumulate onmain.Severity
Low (CI consistency)
Affected code
lint-staged.config.mjs:8—eslint --max-warnings=0 --fix ....ui/package.json:10—"lint": "eslint ."(no--max-warnings), invoked by.github/workflows/ui-ci.yml:44andpackage.json:13(validate).Suggested fix
Add
--max-warnings=0to thelintscript inui/package.jsonso the local hook, CI, andvalidateall enforce the same bar.