docs/plans/2026-03-24-coverage-priority-map-testing-review-non-react-refresh.md
/react and obvious React surfaces outside /reactbun test --coverage --coverage-reporter=lcov --coverage-dir=.coverage-repo-2026-03-24i --reporter=dots2898 pass, 0 fail, 582 files, 2.47s.pnpm test:profile -- --top 25: clean. No fast-lane threshold breach.pnpm test:slowest -- --top 25: clean. Same story.packages/**/src/**.package_score is the sum of the top 5 remaining file scores in that package.Do not do another package sweep.
Raw score says core first, but I would split that into two moves: do the plugin and HTML seam files first, then decide if the DOM-ish static helper is worth it.
Strict batch, sorted by value:
core: getSelectedDomFragment.tsx — score 8core: resolvePlugin.ts — score 8core: resolvePlugins.ts — score 7autoformat: AutoformatPlugin.ts — score 6callout: BaseCalloutPlugin.ts — score 6table: withNormalizeTable.ts — score 6list-classic: withNormalizeList.ts — score 6core: deserializeHtmlNode.ts — score 6score >= 7: 3 filesscore >= 6: 11 filesscore >= 5: 52 filesscore >= 4: 87 filesscore >= 3: 131 filesscore >= 2: 174 filesscore >= 1: 196 filescore — package score 35, top files getSelectedDomFragment.tsx:8; resolvePlugin.ts:8; resolvePlugins.ts:7; deserializeHtmlNode.ts:6; pipeNormalizeInitialValue.ts:6markdown — package score 27, top files splitIncompleteMdx.ts:6; deserializeInlineMd.ts:6; mdast.ts:5; convertNodesSerialize.ts:5; customMdxDeserialize.ts:5list-classic — package score 26, top files withNormalizeList.ts:6; withInsertFragmentList.ts:5; withList.ts:5; insertTodoListItem.ts:5; unwrapList.ts:5table — package score 26, top files withNormalizeTable.ts:6; withApplyTable.ts:5; getSelectedCellsBorders.ts:5; setBorderSize.ts:5; moveSelectionFromCell.ts:5docx-io — package score 25, top files importDocx.ts:5; html-to-docx.ts:5; font-table.ts:5; content-types.ts:5; settings.ts:5slate — package score 24, top files node-entry.ts:5; legacy-editor.ts:5; editor-type.ts:5; deleteText.ts:5; mergeNodes.ts:4suggestion — package score 21, top files deleteSuggestion.ts:5; withSuggestion.ts:4; removeMarkSuggestion.ts:4; acceptSuggestion.ts:4; insertFragmentSuggestion.ts:4code-block — package score 17, top files BaseCodeBlockPlugin.ts:5; insertCodeBlock.ts:5; withCodeBlock.ts:3; htmlDeserializerCodeBlock.ts:3; formatter.ts:1basic-nodes — package score 13, top files BaseHeadingPlugin.ts:4; BaseCodePlugin.ts:3; BaseItalicPlugin.ts:2; BaseUnderlinePlugin.ts:2; BaseStrikethroughPlugin.ts:2media — package score 13, top files insertImageFromFiles.ts:4; withImageUpload.ts:3; BaseImagePlugin.ts:3; withImageEmbed.ts:3core — getSelectedDomFragment.tsx — score 8, coverage 13.9%, uncovered 31core — resolvePlugin.ts — score 8, coverage 88.1%, uncovered 8core — resolvePlugins.ts — score 7, coverage 95.8%, uncovered 15autoformat — AutoformatPlugin.ts — score 6, coverage 37.0%, uncovered 46callout — BaseCalloutPlugin.ts — score 6, coverage 0.0%, uncovered 20table — withNormalizeTable.ts — score 6, coverage 92.7%, uncovered 8list-classic — withNormalizeList.ts — score 6, coverage 92.5%, uncovered 7core — deserializeHtmlNode.ts — score 6, coverage 94.4%, uncovered 4markdown — splitIncompleteMdx.ts — score 6, coverage 95.7%, uncovered 3markdown — deserializeInlineMd.ts — score 6, coverage 93.3%, uncovered 2core — pipeNormalizeInitialValue.ts — score 6, coverage 93.8%, uncovered 1core — SlatePlugin.ts — score 5, coverage 0.0%, uncovered 641core — BasePlugin.ts — score 5, coverage 0.0%, uncovered 541utils — plate-types.ts — score 5, coverage 0.0%, uncovered 251core — SlateEditor.ts — score 5, coverage 0.0%, uncovered 197Stop when the remaining misses are mostly wrappers, DOM-only seams, giant sludge, or crumbs that would only move the percentage and not your regression confidence.