Normative
Conventions
These conventions hold across the whole of SOVM/1. A part states them once here rather than restating them per page, for the same reason the substrate defines a mechanism once: a rule repeated in five places is a rule that can differ in five places.
Requirement keywords
Section titled “Requirement keywords”The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, NOT RECOMMENDED, MAY and OPTIONAL are to be interpreted as described in BCP 14 (RFC 2119, RFC 8174) when, and only when, they appear in capitals.
A section that carries no capitalised keyword states no requirement. Where a section is commentary rather than specification it says so in its opening line, and SOP/1’s compelled-access section is the worked example of why: a representation about what can be compelled is contingent on legislation, and a MUST that is later falsified is a misrepresentation rather than a bug.
Encoding
Section titled “Encoding”Every message and every durable record is CBOR (RFC 8949).
Where a canonical encoding is normative — everywhere bytes are signed or hashed — the Core Deterministic Encoding Requirements of RFC 8949 section 4.2.1 apply. There is one such encoding for the whole specification, and no part defines a second.
Durable signed structures are COSE_Sign1 messages (RFC 9052) under
the substrate signature profile, which admits exactly
one suite. A part may profile that container further —
SSP/1 and
SOP/1 each do — but no part restates the
substrate’s own rules.
Text in this specification renders CBOR structures with JSON-like syntax for readability. The wire form is always CBOR, and where the rendering and the canonical encoding could be read as disagreeing, the canonical encoding governs.
Citing a section
Section titled “Citing a section”Each part numbers its sections continuously across its pages, so a citation names a section without naming the page it currently lives on:
SOP/1 section 12.3 · SSP/1 §55.1 · the substrate, §3
That is what lets a page be split, merged or renamed without invalidating a reference into it. The front matter — this page and its siblings — is unnumbered, and is cited by name.
Section numbers are not stable across revisions of the specification. A reference that must survive a revision cites the section by name as well as by number.
References
Section titled “References”RFC 2119 — Bradner, S. “Key words for use in RFCs to Indicate Requirement Levels.” BCP 14, RFC 2119. Normative.
RFC 8174 — Leiba, B. “Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words.” BCP 14, RFC 8174. Normative.
RFC 8949 — Bormann, C., Hoffman, P. “Concise Binary Object Representation (CBOR).” STD 94, RFC 8949. Normative.
RFC 9052 — Schaad, J. “CBOR Object Signing and Encryption (COSE): Structures and Process.” STD 96, RFC 9052. Normative.