docs/slate-v2-draft/references/normalization-reference.md
Single live reference for the current Slate v2 normalization posture.
Use it when you need:
This is reference truth, not current queue ownership.
For current queue and roadmap truth, use ../master-roadmap.md.
Default live behavior keeps only the invariants needed for correctness:
Heavier cleanup stays on explicit or app-owned seams:
Editor.normalize()normalizeNode(...)Allowed non-canonical live shapes are governed by live-shape-register.md, not by ad hoc exceptions.
The current engine still has one normalization phase before publish.
That means:
Before any explicit-only rule can be promoted, the design still needs to define:
onChange() observe pre- or post-canonicalized statenormalizeNode(...) participates in itAgainst old broad built-ins:
shouldNormalize stays pass-level and fallback-safeThat means the current normalization story is narrower on purpose, not accidentally unfinished.
If normalization work reopens later, the first credible promotion candidate is:
Not first:
Those stay closed until the boundary design is real and the migration gates survive.
The detailed working notes now live in archive/: