docs/plans/2026-04-09-slate-v2-transforms-family-deleted-test-closure.md
Close the deleted packages/slate/test/transforms/** family against the
current slate-v2 transform contract.
| Cluster group | Deleted count | Status | Current proof owner | Resolution |
|---|---|---|---|---|
delete/* | 100 | mirrored now | snapshot-contract.ts | current narrow Transforms.delete(...) rows are directly proved on exact path, point, non-empty range, mixed-inline, and adjacent block-boundary seams |
move/* | 49 | mirrored now | snapshot-contract.ts | current narrow Transforms.move(...) rows are directly proved across anchor/focus/start/end, distance/reverse, mixed-inline, and supported block-boundary seams |
insertFragment/* | 41 | mirrored now | clipboard-contract.ts, snapshot-contract.ts | current fragment insert behavior is proved on collapsed/expanded, mixed-inline, quote, wrapper-list, and explicit-target rebasing seams |
setNodes/* | 29 | recovered now | transforms-contract.ts, snapshot-contract.ts | current helper widened from path-only to optional current-selection / explicit Point / Range / Span plus match / mode / voids |
moveNodes/path | 6 | recovered now | transforms-contract.ts, range-ref-contract.ts, operations-contract.ts | exact-path no-op plus later nested-container target rebasing are directly proved, including consistent selection + range-ref rebasing on the effective move target |
moveNodes/selection + moveNodes/voids-true | 7 | mirrored now | transforms-contract.ts, range-ref-contract.ts, operations-contract.ts | selection-driven and voids move breadth stays inside the current MoveNodesOptions contract and the exact ledger rows remain mirrored |
wrapNodes/*, unwrapNodes/*, liftNodes/*, select/*, deselect/*, setPoint/*, unsetNodes/* | 64 | mirrored now | snapshot-contract.ts | the current helper seams are materially mirrored on exact path plus top-level span/current-selection behavior, and the recovered public option bags now match that surface |
mergeNodes/*, splitNodes/*, insertNodes/*, insertText/*, removeNodes/* | 112 | recovered now | index.spec.ts, snapshot-contract.ts, operations-contract.ts | the old narrow-helper explicit-skip read is dead; upstream owner semantics for insert/split/merge/remove breadth are restored and the full transform fixture corpus is green |
Totals:
2611470408setNodes/inline/**moveNodes/path/** to prove:
See:
The old narrow-helper explicit-skip story for packages/slate/test/transforms/**
is no longer live.
Current slate package truth is simpler:
mergeNodes, splitNodes, insertNodes, insertText,
and removeNodes is recovered inside the kept package claimslate transform-family closure