Back to Plate

Coverage Priority Map

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

53.0.56.5 KB
Original Source

Coverage Priority Map

Goal

Use fresh repo coverage to rank the next non-React test work by value.

This pass starts from real lcov, not stale assumptions.

Coverage Run

  • Command:
    • bun test --coverage --coverage-reporter=lcov --coverage-dir=.coverage-repo --reporter=dots
  • Result:
    • 2433 pass
    • 0 fail
    • 405 files
    • 3.09s
  • Artifact:

Scoring Rules

  • Scope is packages/*/src/**.
  • score is 0-10.
  • /react or other React-bound files score 0 and are excluded for this pass.
  • index.*, type-only files, and barrels score 0.
  • Real runtime files get higher scores when they have:
    • deterministic transforms, parsers, serializers, queries, utils, provider logic, or plugin contracts
    • low runtime coverage
    • bigger behavioral surface
  • Package boosts are intentional, not arbitrary:
    • markdown, yjs, media get extra weight because they combine framework value with deterministic non-React seams
  • Penalties are intentional too:
    • browser or UI-skewed packages such as playwright, floating, and similar niches are pushed down

What I Would Do Next

1. markdown

Best next slice.

2. yjs

Best untouched contract lane.

3. media

Cheap, useful, and still visibly under-covered in the exact seams that matter.

4. autoformat

Still worth a pass, but after the three above.

Second Tier

  • docx-io
    • Still has real debt, especially under html-to-docx, but it just got a pass and the next best immediate value is still markdown, yjs, then media.
  • docx
    • Good deterministic cleanup lane after docx-io.
  • suggestion
    • Real value. Lower leverage than markdown and yjs, but solid.
  • list-classic
    • Good transform seams. Lower urgency than the three above.
  • dnd
    • Pure enough to test, but less strategic than the top group.

Explicitly Not Next

  • table
    • There is still real table backlog in coverage, but you said tables were the latest push. I would not keep grinding that package right now.
  • core
    • There are still isolated non-React files worth testing, but current repo state says the next best whole-package value is elsewhere.
  • Anything React-bound
    • excluded on purpose for this pass
  • Thin wrappers, barrels, and type-only files
    • scored 0 on purpose

Ranking Snapshot

RankPackageScoreNotes
1markdown50Best next deterministic parser/serializer slice
2yjs50Biggest untouched non-React contract lane
3media49Cheap and useful transform/url seams
4autoformat48Large transform gaps, honest unit seams
5docx-io46Still valuable, but not the very next move
6docx45Good second-tier deterministic cleanup
7table44Real backlog, but not next after table work
8list-classic44Useful transform coverage
9dnd44Pure but lower leverage
10suggestion43Solid follow-up package

Full Data

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 file under packages/*/src, with:

  • score
  • line_cov_pct
  • uncovered_lines
  • source_lines
  • status
    • candidate
    • excluded-react
    • excluded-type
    • excluded-barrel