Back to Plate

Coverage Threshold Map

docs/plans/2026-03-23-coverage-threshold-map.md

53.0.55.5 KB
Original Source

Coverage Threshold Map

Goal

Run fresh repo coverage, sync it against the March 6, 9, and 17 plans plus the March 22-23 execution passes, then pick a threshold that batches the remaining worthwhile non-React test work instead of dribbling out one tiny package at a time.

Coverage Run

  • Command:
    • bun test --coverage --coverage-reporter=lcov --coverage-dir=.coverage-repo-2026-03-23b --reporter=dots
  • Result:
    • 2599 pass
    • 0 fail
    • 478 files
    • 3.35s
  • Artifact:

Scoring Rules

  • Scope is packages/*/src/**.
  • File score is 0-10.
  • /react, test files, barrels, and type-only files score 0.
  • High scores go to deterministic transforms, queries, parser/serializer helpers, and real plugin contracts.
  • Recent March 17 and March 22-23 passes are penalized on purpose so finished lanes do not keep resurfacing.
  • Anti-cosplay penalty: files with only a couple uncovered lines get pushed down even if they sit in a good folder.
  • Package score is the sum of the top 8 file scores in that package.

Threshold Take

  • Strict threshold: score >= 6
    • Yields 13 files across 1 packages.
    • This is the honest high-value batch.
  • Wider threshold: score >= 5
    • Yields 18 files across 3 packages.
    • This is the biggest batch I would still defend without calling it coverage cosplay.

Strong take: use >= 6 if you want the cleanest value bar. Use >= 5 only if you explicitly want to finish the table program plus the last two borderline deterministic leftovers.

Above Threshold 6

table

Threshold 5 Extensions

These are the only score-5 files I would still defend after the strict cut:

Package Ranking Snapshot

RankPackageScore>=6 files>=5 files
1table641316
2core1700
3list-classic1001
4docx900
5docx-io701
6media500
7markdown500
8mention400
9selection400
10diff400
11list300
12code-drawing200
13basic-nodes200
14suggestion200
15dnd100

What This Means

  • table is the only remaining package with a real cluster of above-threshold non-React work.
  • Everything else is either already substantially covered, recently swept, or down to a couple borderline seams.
  • If you want bigger tasks, stop hopping packages and do the whole above-threshold table lane as one program.
  • After the strict table batch, only two extra files still clear the wider bar: one docx-io util and one list-classic transform.

Full Data