--- id: META-4 family: RT-META level: core profiles: [runtime, editor-client] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/rt-meta/meta-4 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # META-4 — The workflow schema door publishes a bare document *RT-META (Part II) · level: core · profiles: runtime, editor-client · added in 1.0* A workflow's declared input and output ports, read by an editor before it can draw the workflow. It is not wrapped in the standard envelope, and its snake_case is as much a contract as the playground's camelCase. ## The rule > **Normative.** This is the rule. > > 1. A successful read of a workflow's schema answers exactly `{schema_version, parameter_schema, output_schema}` in that order, snake_case, with no `success` key and no `data` wrapper. > > 2. `parameter_schema` and `output_schema` are the stored snapshot verbatim, and where a workflow declares no ports they are JSON `null` (not an empty object, and not omitted), so a consumer can distinguish "no ports" from "key missing". ## Related rules - Names: META-5, META-6 - Referenced by: META-5, META-6, META-9, STORE-8 --- 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.