A published contract version is three numbers
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
- A workflow's published contract version is three dot-separated non-negative integers.
- 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). - 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).
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 · STORE-8 · changed in spec 1.0