GR-SCHEMA
47 rules. Part I of the specification.
- SCH-1A node's ports come from its two declared schemas
- SCH-2Gate flags come from the node type, and default off
- SCH-3One parameter schema splits into two derived schemas
- SCH-4A hidden parameter is dropped from everything
- SCH-5Reserved config-only parameters always carry a default
- SCH-6Which required list a required parameter lands in
- SCH-7An output is exposed unless the node type says otherwise
- SCH-8How a schema property becomes a port
- SCH-9A union type resolves to its first non-null member
- SCH-10The map from a schema type to a port lane
- SCH-10.aA site's lane configuration overlays the shipped one
- SCH-11Every node but a start node gets a trigger input
- SCH-12Every node but a terminal node gets a trigger output
- SCH-13A tool-exposed node gets a tool output
- SCH-14Every executable node gets a hidden error output
- SCH-15A reserved port states its exposure only when it diverges
- SCH-16What each reserved port defaults to on the canvas
- SCH-17The unified input port
- SCH-18The unified output port
- SCH-19A unified port's description skips trigger and hidden keys
- SCH-20Visual type is the node type's, and is offered where there is a choice
- SCH-21The reserved config properties every node carries
- SCH-22A config-edit descriptor appears only where one is provided
- SCH-23When a node has a ui schema, and when it has none
- SCH-25Enrichment anchors on the node type and changes nothing else
- SCH-26The catalog an editor reads
- SCH-27A served port omits everything that matches the default
- SCH-28A node's executor is resolved from its node type
- SCH-29Stored metadata is never authoritative at run time
- SCH-31Config field order applies inside a ui schema only
- SCH-32Every re-enterable node gets a hidden loop-back input
- SCH-33A schema that will not load never rewrites stored parameters
- SCH-34A property's type is a JSON Schema type, not a port lane
- SCH-35Lane derivation is total, and an undeclared port is the sink
- SCH-36One declaration site for the shipped lane vocabulary
- SCH-37A control port declares its lane, never a schema type
- SCH-38A loop-back input is a control sink, and
anyis retired - SCH-38.aA retired lane keeps one release of served-but-disabled compatibility
- SCH-39Compatibility is asymmetric, and the sink needs rules both ways
- SCH-40A port's lane is consumed at a public boundary
- SCH-41The lane vocabulary is the served payload, not the shipped set
- SCH-42A shape is a named JSON Schema, and the shape id is the lane id
- SCH-43Shape compatibility is nominal and mostly derived
- SCH-44A shape refines another declaration of its lane; four ids are reserved
- SCH-46A shape's schema is served on the lane, not on every port
- SCH-24A node type that fails to build does not fail the request
- SCH-45A stored lane overlay is checked when it is stored