docs/plans/2026-04-09-slate-v2-broad-api-public-surface-reconciliation-completion-plan.md
Historical note:
Close the broad API / public surface reconciliation lane in
master-roadmap.md
and turn the corresponding open bucket in
release-file-review-ledger.md
from partial to closed-by-proof.
For this lane, "100% completion" means:
The repo has already done a lot of public-surface work:
slateslate-reactslate-domslate-historyslate-hyperscriptBut the lane is still open because the live proof stack says so.
The hard contradiction is already visible:
public surface rows marked
partialSo the remaining work is not “write nicer docs”.
It is:
Right now the row set still spans:
slate helper/type/export widthslate-react editor-facing surface widthslate-dom package-surface widthslate-hyperscriptDo not reopen already-closed recovery lanes just because they touch public names.
Do not treat this lane as “recover every legacy exported name”.
Close the lane on one package-by-package public-surface matrix:
That is the right target because the remaining problem is no longer “missing a few helpers”.
The remaining problem is that the repo still has too many partial rows and not enough explicit broad-claim boundaries.
slateslate-reactslate-domslate-historyslate-hyperscriptslate-browser where it is truly part of the public package graphpublic surface
rows in the proof ledgerReactEditor DOM helper surfacepublic surface rows marked partialreplacement-candidate.md, package readmes, and proof rows are closer than
before, but still not obviously one broad claimThis lane is done when all of the following are true:
public surface proof row is either closed or explicitly
removed from the broad claimreplacement-candidate.md, package readmes, and the proof ledger describe
the same public package truthFiles:
Work:
Reason:
slate core helper/type/export rowsFiles:
Work:
partialslateRequired test scenarios:
slate surface have direct proofslate-react, slate-dom, and slate-hyperscriptFiles:
Work:
slate-react editor-facing
surfaceslate-dom and slate-hyperscript rows can close as stable
package claims or should be framed as narrower contributor/tooling surfacesRequired outcomes:
slate-react row stops overclaiming relative to its runtime proofslate-dom row is either closed on the current DOMBridge /
ClipboardBridge claim or explicitly narrowedslate-hyperscript row is either closed as a contributor-facing package slot
or explicitly marked narrower than a blanket historical claimFiles:
Work:
Files:
Work:
slate core rowsslate-react, slate-dom, and
slate-hyperscript package rowsPrimary proof surfaces:
Required verification before declaring the lane closed:
yarn test:customyarn workspace slate-react run testyarn workspace slate-dom testyarn workspace slate-hyperscript run testyarn lint:typescriptpartial rows around out of inertia; either close them or say
exactly why they remain outside the broad claimpublic surface proof rows are closed on that matrixyarn test:customyarn workspace slate-react run testyarn workspace slate-dom testyarn workspace slate-hyperscript run testyarn lint:typescript