--- id: R6.a family: GR-VAL level: core profiles: [storage-api] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-val/r6-a specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # R6.a — Config is a JSON object *GR-VAL (Part I) · level: core · profiles: storage-api · added in 1.0* 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 > **Normative.** This is the rule. > > 1. A node's `data.config`, where present, must be a JSON object. > > 2. A string, number, boolean or JSON array is refused with `R6_CONFIG_INVALID` at `node.{id}.config` (where `{id}` is the node's id), and the save does not take effect. > > 3. 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). ## Related rules - Names: R6.b, R6.j --- Rule identifiers are permanent and are never renumbered. This specification carries no implementation status: each implementation publishes its own standing against these rules. Licensed CC BY 4.0.