docs/plans/2026-03-25-non-react-coverage-roadmap-phase-3-execution.md
link, markdown)core and autoformatbasic-nodes, table, list-classic, suggestioncore has the biggest cluster. Expand the existing HTML and static specs instead of making more tiny one-off files than necessary.markdown already has nearby serializer and deserializer specs. Reuse them.basic-nodes should stay honest: one plugin contract expansion, not a new wrapper sweep.upsertLink.ts and markdownToSlateNodesSafely.ts each had dead branches removed instead of receiving fake tests.core, markdown, table, list-classic, and suggestion.splitIncompleteMdx.ts treated a closing > at end-of-string as incomplete.getTableCellBorders.ts accepted any parent node as a table ancestor instead of requiring the real table type.bun test ... on 19 touched specs -> 105 pass, 0 failpnpm installpnpm turbo build --filter=./packages/link --filter=./packages/markdown --filter=./packages/core --filter=./packages/autoformat --filter=./packages/basic-nodes --filter=./packages/table --filter=./packages/list-classic --filter=./packages/suggestionpnpm turbo typecheck --concurrency=1 --filter=./packages/link --filter=./packages/markdown --filter=./packages/core --filter=./packages/autoformat --filter=./packages/basic-nodes --filter=./packages/table --filter=./packages/list-classic --filter=./packages/suggestionpnpm lint:fix105 pass, 0 failbun test packages/link/src packages/markdown/src packages/core/src packages/autoformat/src packages/basic-nodes/src packages/table/src packages/list-classic/src packages/suggestion/src sweep is still dirty outside this roadmap slice. The failures are shared suite-order or mock-surface debt in unrelated areas, not regressions in the touched Phase 3 seams.