--- id: STORE-8 family: GR-STORE level: extended profiles: [storage-api, editor-client] posture: normative-target added: "1.0" changed: "1.0" source: https://flowdrop.io/spec/rules/gr-store/store-8 specification: FlowDrop Workflow Specification 1.0-draft licence: CC BY 4.0 --- # STORE-8 — A published contract version is three numbers *GR-STORE (Part I) · level: extended · profiles: storage-api, editor-client · added in 1.0* The version is read by consumers that never read the contract itself, a cache validator among them, so it has to be a value that always exists and always compares. ## The rule > **Normative.** This is the rule. > > 1. A workflow's published contract version is three dot-separated non-negative integers. > > 2. A workflow whose contract has never been built carries `0.0.0`, the version from which the first build's bump is taken (MAN-18). > > 3. The version is never empty and never absent, so a consumer always has a usable value, including one using it as a cache validator (META-6). ## Related rules - Names: MAN-18, META-4, META-6 --- 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.