pub struct VocabularyRef {
pub name: String,
pub version: String,
pub digest: String,
}Expand description
A published vocabulary, named and pinned.
Deliberately NOT a path into a serialization. The name identifies the thing; a path identifies one encoding of it, and encodings move — this project watched a bundle’s blocks change nesting under a toolchain bump with no source change at all. A signature cannot be re-pointed afterward, so a reference must name the vocabulary rather than its current shape.
Fields§
§name: StringThe vocabulary’s name, as its bundle declares it.
version: StringThe version, as its bundle declares it.
digest: StringThe bundle’s integrity digest, VERBATIM — the same sha256-… string
the compiled bundle already carries, never a re-encoding of it.
Carrying it verbatim keeps ONE spelling of a digest across the whole system. A re-encoding is a second derivation of one fact, and two derivations of one fact drift. The digest is also what makes the reference checkable at all: without it a citation points at whatever the publisher serves today, and a publisher — or anyone who compromises their origin — could change what a signed envelope meant after it was signed.