FlowDrop Workflow Specification 1.0-draft

A manifest entry names an input and binds it to a port

Three fields say what the input is called and where it goes; the rest is documentation for whoever calls the workflow.

The rule

Normative: this is the rule
  1. A manifest entry carries a name, a node_id and a port, all required, and may carry title, description, examples and required.
  2. The optional metadata applies to the input side only.
  3. A required entry is folded into the built contract's top-level list of required names rather than surviving as a key on the property fragment.

What it means

Three fields are the entry: name is what the caller calls the input, and node_id plus port are where it lands inside the workflow. Everything else an entry may carry — title, description, examples, required — is metadata for whoever calls the workflow, and it applies only to the input side; an entry that binds an output port carries none of it into the built contract.

required is the field worth pausing on. It is not stored as a key on the property fragment itself; it is folded into the built schema's own top-level required list, the way JSON Schema expects required properties to be named (MAN-16). An entry can be required without that fact ever appearing next to its own type and default.

Example

The workflow declares one input, bound to a port, with author-facing metadata attached.

A manifest entry naming an input and describing it for callers
{
  "name": "customer_email",
  "node_id": "n1",
  "port": "key",
  "title": "Customer email",
  "description": "Email to look up their support history.",
  "examples": ["a@b.com", "c@d.com"]
}
What that entry contributes to the published contract
{
  "type": "string",
  "title": "Customer email",
  "description": "Email to look up their support history.",
  "examples": ["a@b.com", "c@d.com"]
}

name, node_id and port decided where this property comes from; title, description and examples only decorate it.

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