Versioning
Reciprium versioning has two layers with different responsibilities.
Layer 1: Envelope Protocol Version
- Field:
spec.version - Purpose: governs core contract compatibility
- Current stable value:
1.0.0
Breaking core semantics requires a new major envelope version.
Layer 2: Domain Type Version
- Field:
type.version - Purpose: allows category/kind-specific evolution without forcing envelope major bumps
Compatibility Policy
- Additive optional fields are backward compatible.
- Required-field removal or semantic redefinition is a breaking change.
- New type kinds/versions are allowed if core envelope invariants stay stable.
Verifier Behavior
- Verifiers SHOULD fail closed for violated required invariants.
- Verifiers MAY ignore unknown optional fields.
- Verifiers SHOULD log unknown major protocol versions as unsupported.