You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Biome: tighten CI gate to fail on warnings (burn down the ~521 warning backlog) #625
#624 made Biome a CI gate at level 1: pnpm run code:check (biome check) runs in tests.yml and fails on errors only. Warnings are allowed through, so the tree currently carries a large warning backlog that is visible but non-blocking.
As of #624 landing, biome check . reports roughly:
~521 warnings, dominated by:
lint/style/noNonNullAssertion (~298)
plugin — the no-type-erasing-assertions rule, as any/never/unknown in source (~82)
lint/suspicious/noExplicitAny (~72)
lint/correctness/noUnusedImports (~30), noUnusedVariables (~22), unused suppressions (~14), and a long tail.
0 errors (kept clean by the level-1 gate).
Goal
Tighten the gate to fail on warnings too — i.e. code:check becomes biome check --error-on-warnings (or equivalent), so no new warnings can land. This requires burning the backlog to zero first.
Work
Triage the ~521 warnings by rule. For each: auto-fix where safe (biome check --write handles many), otherwise fix by hand or add a justified // biome-ignore with a reason.
The no-type-erasing-assertions (~82) and noExplicitAny (~72) ones are the most valuable — they mark real type-safety holes. Some (e.g. the structural-client force-casts) are legitimately unavoidable and should get an ignore-with-reason.
Flip no-type-erasing-assertions from warn to error in the plugin (optional but recommended once the 82 are cleared).
Change the CI step / code:check to fail on warnings.
Confirm biome check exits 0 cleanly and the gate holds.
Activity
ci(lint): move Biome check into its own dedicated job