Finding
Running `npm run lint` on plain `origin/development` HEAD (no working changes) reports 565 problems (463 errors, 102 warnings). This was discovered during PR #131 prep — a hand-drawn icon PR that was flagging lint errors unrelated to its binary-only changes. Investigation confirmed the errors exist on `development` before any change is applied.
Why it never surfaced
CI's lint check appears to run scoped to changed files (or only fails on specific patterns), not project-wide. As a result the accumulated lint debt on `development` hasn't blocked any recent PR. PR #131 passed CI despite this state.
Reference
Discovered during PR #131 (hand-drawn cicadas). Linked here for the chain of evidence.
What's likely in there
Tally not yet broken down by rule — first step of any cleanup PR would be `npm run lint -- --format json` to bucket by rule and plan the autofix vs manual-fix split. Without a deep dive, the bulk is probably:
- `any` usages and missing return types (TS strict-mode lint rules)
- `console.log` calls in dev-era code that didn't get stripped
- Unused vars / imports
- Possibly some legacy code that pre-dates a stricter ESLint config
Suggested approach
Not prescribing — just options:
- Run `npm run lint -- --fix` on the whole project, count what survives. Most rules have autofix.
- For what doesn't autofix (probably `any` usage and missing return types), prioritize the highest-traffic files first (`App.tsx`, `ACCanvas.tsx`, `ItemIcon.tsx`, etc.) — diminishing returns on rarely-touched script files.
- Consider tightening the CI lint check to fail on project-wide errors after the count is back down to a defensible baseline, so this doesn't accumulate again.
Priority
Not urgent. Doesn't break functionality, doesn't affect users. Worth addressing before v1.0 as part of the "public ship" polish — clean lint is a baseline professional signal. Suggested slot: v0.9.9-beta polish / bug sweep (per the roadmap).
Scope note
This is project hygiene, not a regression. Don't sequence ahead of feature work or hand-drawn icon ships.
Finding
Running `npm run lint` on plain `origin/development` HEAD (no working changes) reports 565 problems (463 errors, 102 warnings). This was discovered during PR #131 prep — a hand-drawn icon PR that was flagging lint errors unrelated to its binary-only changes. Investigation confirmed the errors exist on `development` before any change is applied.
Why it never surfaced
CI's lint check appears to run scoped to changed files (or only fails on specific patterns), not project-wide. As a result the accumulated lint debt on `development` hasn't blocked any recent PR. PR #131 passed CI despite this state.
Reference
Discovered during PR #131 (hand-drawn cicadas). Linked here for the chain of evidence.
What's likely in there
Tally not yet broken down by rule — first step of any cleanup PR would be `npm run lint -- --format json` to bucket by rule and plan the autofix vs manual-fix split. Without a deep dive, the bulk is probably:
Suggested approach
Not prescribing — just options:
Priority
Not urgent. Doesn't break functionality, doesn't affect users. Worth addressing before v1.0 as part of the "public ship" polish — clean lint is a baseline professional signal. Suggested slot: v0.9.9-beta polish / bug sweep (per the roadmap).
Scope note
This is project hygiene, not a regression. Don't sequence ahead of feature work or hand-drawn icon ships.