Back to Plate

Coverage Priority Map

docs/plans/2026-03-22-coverage-priority-map.md

53.0.58.1 KB
Original Source

Coverage Priority Map

Goal

Run fresh repo coverage, score every packages/*/src/** file for non-React unit-test value, and sync the next recommendations against the work already completed on March 14-17, 2026.

Coverage Run

  • Command:
    • bun test --coverage --coverage-reporter=lcov --coverage-dir=.coverage-repo-2026-03-22a --reporter=dots
  • Result:
    • 2524 pass
    • 0 fail
    • 437 files
    • 3.28s
  • Artifact:

Sync From Completed Work

  • March 14, 2026:
    • markdown already got a focused helper and fallback pass. It is not the best next spend anymore.
  • March 15, 2026:
    • table already got the merge, sizing, and selection helper pass. It still has debt, but not enough value to stay at the front of the line.
  • March 17, 2026:
    • selection, docx-io, and a focused non-React core lane all got real follow-up work.
  • Fresh coverage says the old March 17 priority map is stale in one big way:
    • media non-/react coverage is basically done now. Do not spend the next cycle there.

Scoring Rules

  • Scope is every runtime file under packages/*/src/**.
  • /react files score 0 by design.
  • Barrels, declaration files, and type-only files score 0.
  • Declarative config blobs like autoformat rule tables score 0.
  • Recent package passes get penalized so we do not recommend the same work twice.
  • Scores favor deterministic transforms, parsers, serializers, queries, provider logic, and plugin contracts with real uncovered behavior.

My Order

Scores tie in a few places. The TSV is the raw matrix. The order below is my actual recommendation.

1. yjs

Best next package.

2. list-classic

Best next move if you want to stay closest to the existing testing plan.

3. docx

4. suggestion

5. ai

6. list

7. layout

8. code-block

9. autoformat

This package needs a surgical pass, not a coverage binge.

10. csv

One sharp little slice, not a whole campaign.

Not Next

  • table
    • latest focused pass was March 15, 2026
    • still some score-6 leftovers, but nothing that beats the top lanes above
  • markdown
    • latest focused pass was March 14, 2026
    • current non-React gaps are lower-value leftovers
  • selection
    • March 17 already covered the high-value internals
  • docx-io
    • March 17 already covered the obvious pure-helper gaps
  • media
    • fresh coverage shows the non-/react lane is basically saturated
  • link
    • not zero debt, just not urgent
  • emoji and code-drawing
    • the raw matrix scores them high because they are zero-covered deterministic code
    • I still would not spend the next cycle there before yjs, list-classic, docx, suggestion, or ai

Artifacts

The raw package and file matrices were generated as TSV artifacts during this pass and are intentionally treated as disposable analysis output, not committed source of truth.

The file matrix included every runtime file under packages/*/src, with:

  • score
  • line_cov_pct
  • uncovered_lines
  • source_lines
  • status
    • candidate
    • recently-covered
    • low-value-data
    • excluded-react
    • excluded-type
    • excluded-barrel