docs/research/decisions/slate-v2-perfect-plan-should-steal-read-update-transaction-discipline-and-extension-dx.md
For the "perfect plan" target, Slate v2 should:
read/update lifecycle disciplineeditor.readeditor.update$function public stylefocus().chain().run() as required public ceremonyeditor.chain()editor.read(fn)
editor.update(fn, options?)
Primitive editor methods are the power API inside editor.update.
tx.resolveTarget() stays internal.
The later state/tx API decision narrows this public-contract wording:
editor.read((state) => ...) is the normal read path.editor.update((tx) => ...) is the normal write path.tx, including plugin/extension groups.editor.* transform methods may remain internal or advanced
runtime tools, but this page should not be used to justify them as the final
normal authoring DX.Use slate-v2-state-tx-public-api-and-extension-namespaces.md as the current authority for public naming and extension namespaces.
This combination gives Slate v2:
Accepted as the deeper architecture/API direction for the Slate v2 perfect plan. Implementation sequencing remains a separate planning concern.