FlowDrop Workflow Specification 1.0-draft

Gate flags come from the node type, and default off

Whether a parameter is connectable, configurable or required is the node type's answer, not the declared schema's. A parameter the node type never mentions reaches neither derived schema.

The rule

Normative: this is the rule
  1. The connectable, configurable and required gate flags for a parameter are read from the node type's own parameter configuration only, each defaulting to false where the node type declares no entry for that parameter.
  2. A parameter the node type does not declare therefore appears in neither derived schema and in neither required list.
  3. Same-named keys written in the declared schema are not read by the gate, and are not stripped either: they survive verbatim into the served schemas.
  4. A property-level required: true is read on exactly one path: where a node is exposed as a model-facing tool, it is lifted into the enclosing object's required array before the schema is handed to the model.

What it means

A parameter's declared schema may itself carry connectable, configurable or required — but nothing reads them. The gate is decided once, from the node type's own parameter configuration, and a declared schema's claim about itself buys the parameter nothing: undeclared there, it reaches neither derived schema and neither required list, whatever the declared schema says.

That silence is not the same as scrubbing. The same keys, once written on a property the node type does surface, are not stripped from what is served: they survive verbatim, inert decoration a consumer has no reason to read.

Example

A property whose declared schema already declares itself connectable and required, on a node type that only ever marks it configurable:

A property declaring its own connectable and required flagsignored
{ "surfaced": { "type": "string", "connectable": true, "configurable": true, "required": true } }

The property lands in the config schema only, and in neither required list — the node type's own configurable decides that, not the connectable: true or required: true sitting beside it in the declared schema. Both flags are carried through into the served entry anyway, present but unread.

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-2 · changed in spec 1.0