Enrichment anchors on the node type and changes nothing else
The rule
Normative: this is the rule
- A node is enriched from the node type it records, and from nothing else.
- Enrichment replaces the node's metadata and sets the node's type to the universal node constant; the node's config, id, label and position are untouched, so running it twice changes nothing.
- Where the node records no node type, or where the node type no longer builds, the node is returned unchanged and no metadata key is added to it.
What it means
The anchor is data.metadata.node_type_id, and only that field. A node
whose top-level visual type happens to name a real, buildable node type is
still returned untouched if that metadata anchor is missing — enrichment
never falls back to any other field to work out which node type a node
belongs to.
Example
A node carries anchor_probe as its own visual type, and a node type by
that name exists, but the node declares no metadata anchor at all.
{ "id": "n2", "type": "anchor_probe", "data": { "config": [] } }Enrichment leaves it exactly as stored: no metadata block is added, and the
visual type is not rewritten to the universal node constant either.
Rule identifiers are permanent and are never renumbered. Each implementation publishes its own standing against these rules; this specification does not.spec 1.0-draft · SCH-25 · changed in spec 1.0