Skip to content

chore: full maintenance pass (2026-06) #3

Description

@llbbl

Tracking issue for the /full-maintenance-pass run on branch chore/maintenance-2026-06.

Health baseline

  • Tests: 279/279 pass
  • Lint (Biome): clean
  • Security (bun audit): 0 vulnerabilities
  • Outdated deps: only minor/patch bumps available

Findings & queued work

All items tracked individually in bd (beads). Each will land as its own commit.

P1 — Correctness bugs

  • uncov-wns — Fix bun lockfile detection to include bun.lock (src/lib/detect.ts:35)
    Bun 1.2+ defaults to text-based bun.lock. Current detection only checks bun.lockb, so modern Bun projects (including this repo) misdetect as npm.
  • uncov-q2s — Tighten .gitignore coverage-entry detection (src/lib/detect.ts:100)
    line.startsWith("coverage") matches coverage-final.json, coverage-reports/, etc. — none of which ignore the coverage/ directory uncov writes. Match exact tokens: coverage, coverage/, /coverage, /coverage/.

P2 — Correctness bugs

  • uncov-z6h — Avoid false positives in hasCoverageConfig regex (src/lib/vitest-config.ts:52,59)
    Current regex matches coverage: inside strings/comments; can cause check to report green when coverage isn't actually configured.
  • uncov-bwv — Skip zero-line files in filterBelowThreshold (src/lib/coverage.ts:118-126)
    Files with lines.total === 0 (type-only .d.ts re-exports, empty barrels) are reported as misleading "0% covered, 0/0".

P3 — Polish & hygiene

  • uncov-csd — Warn on malformed config in readPackageJsonConfig / loadConfigFile (src/lib/config.ts:63-65, 145-147)
    Empty catch {} silently swallows malformed uncov.config.json / package.json. Log to stderr.
  • uncov-9lv — Document --coverage-path / -c and --force in --help (src/cli.ts:25-34)
    Flags are parsed and used but undiscoverable.
  • uncov-r55 — Bump @biomejs/biome 2.4.6 → 2.4.16 and @types/bun 1.3.10 → 1.3.14 (low-risk minor/patch).
  • uncov-go1 — Remove unused barrel index.ts files (src/{commands,lib,utils}/index.ts) and unused exported types FileCoverage, CoverageMetric (src/lib/coverage.ts:11,21), per knip.

Workflow

  • Branch: chore/maintenance-2026-06
  • One commit per task (conventional commits)
  • Senior-dev agent implements → code-reviewer agent verifies → user commits

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions