--- id: EXPO-1 family: GR-EXPO level: core profiles: [storage-api] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-expo/expo-1 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # EXPO-1 — Exposure resolves the same way everywhere it is consulted *GR-EXPO (Part I) · level: core · profiles: storage-api · added in 1.0* Exposure is asked about in a lot of places: resolving parameters, deciding what an agent may fill, validating a saved workflow, stripping outputs, drawing the author's toggles. All of them must get the same answer. ## The rule > **Normative.** This is the rule. > > 1. Effective exposure of a port is resolved by one rule (EXPO-2) wherever it is consulted, including parameter resolution, tool-parameter scoping, save-time validation, runtime output delivery, and the authoring surface that lets an author show or hide a port. > > 2. A node instance's exposure overrides are read from one location in the stored workflow, `data.config.ports`, so the surface that writes an override and the surfaces that read it cannot disagree. ## Related rules - Names: EXPO-2, EXPO-3 - Referenced by: EXPO-2 --- 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.