chore(ci): make lint runnable and enforced#27
Merged
Conversation
oxlint was invoked by `bun run lint` but was never a dependency, so the script failed with exit 127 on any clean environment, and the CI step masked that with `continue-on-error: true`. Net effect: linting never actually ran on this project. - Add oxlint to devDependencies. `bun run` puts node_modules/.bin on PATH, so the existing bare `oxlint .` script now resolves — no script change needed. - Drop `continue-on-error` (and the stale "may not be configured yet" comment) from the CI lint step so lint *errors* gate CI going forward. Current state: `bun run lint` exits 0 — 0 errors, 185 warnings. The warnings are pre-existing and dominated by intentional `catch (_)` bindings in src/dashboard/. Left as-is on purpose: whether to enforce AGENTS.md's no-silent-failure stance on dashboard code is a maintainer policy call, tracked in #25 — not silently configured away here. Refs #25
This was referenced May 17, 2026
3 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Addresses the broken
lintscript item of #25 (the first follow-up from the v1.21.0 audit).bun run lintinvokedoxlint .butoxlintwas never indevDependencies, so the script exited127on any clean environment. The CI step masked this withcontinue-on-error: true— net effect: linting never actually ran on this project, despite a lint script and a CI step existing.Changes
oxlint@^1.65.0todevDependencies.bun runputsnode_modules/.binon PATH, so the existing bareoxlint .script resolves with no script change.continue-on-error: true(and the stale "may not be configured yet" comment) from the CI lint step, so lint errors gate CI going forward.State after this PR
bun run lint→ exit0: 0 errors, 185 warnings, 167 files.eslint(no-unused-vars); 167 are insrc/dashboard/, dominated by the intentionalcatch (_) {}pattern.no-useless-escape×2,no-unsafe-optional-chaining×2 — both inhandlers.test.ts, test-only,no-unused-expressions×1).Deliberately NOT done here (maintainer call)
I did not add an
.oxlintrc.jsonto silence the 185 warnings. AGENTS.md §"No silent failures" treatstry {} catch {}as a bug-waiting-to-happen, not a sanctioned convention. Configuring oxlint to suppressno-unused-varson catch bindings would be configuring away your own guardrail — that's a policy decision for you, not something to slip into a tooling fix. Options for a follow-up (tracked in #25):catch (_)pattern as exempt → add a scoped.oxlintrc.jsonoverride forsrc/dashboard/.Testing
bun run lint→ exit 0 (0 errors)bun run typecheckunaffectedRefs #25 (partial — remaining audit follow-ups stay open there). Does not close #25.