Back to Plate

Non React Coverage Roadmap Phase 3

docs/plans/2026-03-24-non-react-coverage-roadmap-phase-3.md

53.0.54.1 KB
Original Source

Non React Coverage Roadmap Phase 3

Goal

Freeze the last worthwhile non-React queue after the bun-check fixes so future passes stop inventing new batches and just burn down what is left.

Lock Rules

  • Phase: temporary non-React cut only.
  • Frozen threshold: start from 2026-03-24-coverage-priority-files-testing-review-non-react-post-bun-check.tsv, execute every remaining score >= 6 file, then the worthwhile score = 5 ring.
  • Keep the queue file-first.
  • Do not collapse this back into package sweeps.
  • Future passes should mark items done, removed, or deferred. Do not reshuffle the whole thing unless the candidate set materially changes.

Execution Policy

  • Finish Tier 1 first. That is every remaining score >= 6 file.
  • Then finish Tier 2. That is the worthwhile score = 5 ring below.
  • After Tier 2, stop non-React coverage and move on.

Tier 1: Execute Now

  1. [done] 6 upsertLink.ts
  2. [done] 6 convertNodesSerialize.ts

Tier 2: Still Worth Doing

  1. [done] 5 DOMPlugin.ts
  2. [done] 5 AutoformatPlugin.ts
  3. [done] 5 BaseHeadingPlugin.ts
  4. [done] 5 inferWhiteSpaceRule.ts
  5. [done] 5 pipeRenderElementStatic.tsx
  6. [done] 5 cleanHtmlFontElements.ts
  7. [done] 5 pluginDeserializeHtml.ts
  8. [done] 5 getTableCellBorders.ts
  9. [done] 5 cleanHtmlTextNodes.ts
  10. [done] 5 splitIncompleteMdx.ts
  11. [done] 5 isLastNonEmptyTextOfInlineFormattingContext.ts
  12. [done] 5 traverseHtmlNode.ts
  13. [done] 5 moveListItemSublistItemsToListItemSublist.ts
  14. [done] 5 mdastToSlate.ts
  15. [done] 5 markdownToSlateNodesSafely.ts
  16. [done] 5 addMarkSuggestion.ts
  17. [done] 5 removeMarkSuggestion.ts
  18. [done] 5 deleteRowWhenExpanded.ts

Deferred By Design

  • [deferred] 5 isEditOnlyDisabled.ts Reason: one-line plugin-resolution crumb. Not worth a dedicated trip.
  • [deferred] 4 html-to-docx.ts Reason: giant serializer sludge. Bad ROI for the last non-React pass.
  • [deferred] score-4 wrapper clusters in basic-nodes, diff, table, and list Reason: already partly covered, but the remaining gaps are mostly wrapper dust or narrow transform crumbs.
  • [deferred] remaining DOM-heavy core and slate leftovers below the threshold Reason: real code, but not the best last spend before the React or architecture-safety phase.

Update Rule

  • When a file gets direct tests, flip it to [done].
  • When a file proves fake ROI, flip it to [deferred] with a reason.
  • When a file disappears, flip it to [removed].
  • Do not reshuffle the queue because a fresh pass had a new vibe.