FlowDrop Workflow Specification 1.0-draft

A config value must match its declared type

R6.d through R6.h are one check with several arms. They share a code and a locator and stop at the first violation, so a reader of the result sees at most one error per config key.

The rule

Normative: this is the rule
  1. A config value whose type does not match the type its schema declares is refused with R6_CONFIG_INVALID at node.{id}.config.{key}, where {id} is the node's id and {key} the config key.
  2. A schema that declares no type, or one that declares a type name the implementation does not recognise, imposes no type constraint and the value passes.
  3. R6.d to R6.h all raise this same code at this same locator and are evaluated in one fixed order (type, then enum, then minimum, maximum, minLength, maxLength, pattern) stopping at the first violation, so one config key never yields more than one error.
  4. The arms are distinguished by the error's message, not by its code.
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 · R6.d · changed in spec 1.0