Skip to content

feat(TP-192): code-quality lint cleanup — Biome lint exits 0 on main#571

Merged
HenryLach merged 6 commits into
mainfrom
feat/tp-192-cq-lint-cleanup
May 10, 2026
Merged

feat(TP-192): code-quality lint cleanup — Biome lint exits 0 on main#571
HenryLach merged 6 commits into
mainfrom
feat/tp-192-cq-lint-cleanup

Conversation

@HenryLach
Copy link
Copy Markdown
Owner

Second of five sequenced packets implementing the code-quality-gates spec. Fixes the 9 existing Biome errors so TP-194's gate flip can promote lint to a hard gate without breaking the build.

What ships

npm run lint now exits 0 on this branch (was: exit 1 with 9 errors).

Errors fixed

Per the inventory captured during TP-191:

Rule Count
noRedeclare 2 (AllocateLanesResult, resolveRepoRoot in extension.ts)
noImplicitAnyLet 5 (across merge.ts, task-executor-core.ts, verification.ts, waves.ts, lane-runner.ts)
noControlCharactersInRegex 1 (in orch-state-persistence.test.ts)
noUnsafeFinally 1 (full location captured in TP-192 STATUS.md Discoveries)

All fixes are surface-level mechanical changes — no behavior changes, no refactors beyond what each rule specifically requires. Per the PROMPT's anti-shortcut policy: no // biome-ignore suppressions, every error fixed properly.

What this does NOT do (per spec scope boundaries)

  • Doesn't address the 277 warnings + 660 infos (advisory, non-gating)
  • Doesn't address the 267 typecheck errors (TP-195's job)
  • Doesn't run biome format --write (TP-193's job)
  • Doesn't remove continue-on-error: true from CI (TP-194's job)

Validation

  • Lint: exits 0 on this branch (verified locally)
  • Tests: 3624 passing / 1 skipped / 0 failed (unchanged baseline)
  • Typecheck: unchanged from TP-191 baseline (267 errors — TP-195's job)
  • Format:check: exits 0 cleanly (formatter still disabled per TP-193's scope)

HenryLach added 6 commits May 10, 2026 12:24
…trolCharactersInRegex x1, noRedeclare x2, noUnsafeFinally x1)

- noImplicitAnyLet: annotate let variables in regex-exec loops
  (lane-runner.ts, task-executor-core.ts x3) and readdirSync result
  (merge.ts; added Dirent type import)
- noControlCharactersInRegex: convert verification.ts ANSI_REGEX literal
  to new RegExp(escaped string, 'g'); drop stale eslint disable comment
- noRedeclare: remove non-existent AllocateLanesResult type-import in
  waves.ts (canonical declaration is local); rename duplicate
  resolveRepoRoot in orch-state-persistence.test.ts (section 8.1) to
  resolveRepoRootMixedRepo (14 callers updated)
- noUnsafeFinally: invert if(!snapshot) return; to if(snapshot){...} in
  extension.ts withPreservedBatchHistory finally block

npm run lint now exits 0 (was: 9 errors). Tests: 3624/1/0 unchanged
from baseline. No suppressions added; behavior preserved.
@HenryLach HenryLach merged commit c4f7348 into main May 10, 2026
1 check passed
@HenryLach HenryLach deleted the feat/tp-192-cq-lint-cleanup branch May 10, 2026 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant