Config is a JSON object
Every other rule about config addresses it by key, which presumes an object. This is the rule that says so, and it holds for nodes no schema is judging.
The rule
- A node's
data.config, where present, must be a JSON object. - A string, number, boolean or JSON array is refused with
R6_CONFIG_INVALIDatnode.{id}.config(where{id}is the node's id), and the save does not take effect. - This is a requirement on config's shape rather than on its contents, so it applies to every node, including a node that records no node type and a node whose node type does not resolve — neither of which has a derived schema against which the rest of R6 could judge anything (R6.j).
What it means
Every other check under R6 depends on a schema derived from the node's type,
so a node whose type does not resolve has nothing left for those checks to
compare its config against (R6.j). This one does not depend on a schema at
all: it looks only at the shape of data.config, not its content, so it
still runs on a node whose type cannot be resolved to an executor — the one
part of R6 a reader tracking R6.j's exemption could easily assume it covers
too.
Example
A node anchored to a type that resolves normally, with config set to a
plain string:
"not-an-object"A node anchored to a type that cannot be resolved to an executor, with
config set to a number:
7