docs/plans/2026-04-02-slate-history-v2-proof-ralph.md
Ship the first honest slate-history-v2 proof slice:
.tmp/slate-v2/packages/slate-history-v2The slice must prove transaction-aware undo units and explicit grouping semantics on top of slate-v2.
Primary target:
Representative pressure:
#5587#4559#5533Status: completed
slate-history package shape and testsslate-history-v2Status: completed
packages/slate-history-v2Status: completed
Status: completed
slate-history seams and the smallest honest proof slicewithHistory timing souppackages/slate-history-v2 with:
history-state helperswithoutSavingwithMergingeditor.onChange, making it depend on callback ordering luckslate-v2 subscriber notification ahead of editor.onChange, then re-ran the full v2 proof stackAPPROVEDfnm exec --using 22 yarn installfnm exec --using 22 yarn tsc --project packages/slate-history-v2/tsconfig.json --noEmitfnm exec --using 22 yarn mocha --require ./config/babel/register.cjs ./packages/slate-history-v2/test/**/*.tsfnm exec --using 22 yarn mocha --require ./config/babel/register.cjs ./packages/slate-v2/test/**/*.tsfnm exec --using 22 yarn workspace slate-dom-v2 testfnm exec --using 22 yarn workspace slate-react-v2 testfnm exec --using 22 yarn build:rollupfnm exec --using 22 yarn lint:eslintfnm exec --using 22 yarn lint:prettierfnm exec --using 22 yarn node -e "require('slate-v2'); require('slate-dom-v2'); require('slate-react-v2'); require('slate-history-v2')"lsp diagnostics directory for packages/slate-history-v2: 0 errors