Version: 0.1.0-draft Status: DRAFT.
One definition per term, so SPEC.md, CONFORMANCE.md, and predicates/run-provenance.md use the same words for the same things. Where a term names a wire field, the field name is authoritative and is given in backticks; informal synonyms are noted so they stop drifting into normative text. The specification section that fixes each term is cited.
- event - one immutable, ordered record of something that happened in a run: the wire unit defined by the envelope of
SPEC.mdSection 8.2. Carriesstream,seq,time,type,actor,payload,schema_version, and optional causal-linkage fields. - stream - the identifier (
stream) that groups events belonging to one run or one logical sequence. Events within a stream carry strictly increasingseq. A record may carry a window of a longer stream, soseqgaps are permitted. - record - the sealed container
{events, checkpoint}ofSPEC.mdSection 8.5: the carried event bytes plus the signed checkpoint whose root they reproduce. "Record" is the portable artifact a verifier is handed; it is not a synonym for a single event. - container - the closed CBOR framing of a record (Section 8.5). A container is a fixed, closed shape: unknown container kinds are rejected (
record.decode), which is what lets a future redacted-record form be a new kind rather than a reinterpretation of this one. - checkpoint - the signed commitment of
SPEC.mdSection 8.4: a COSE_Sign1 (tag 18) over the canonical payload map{ root, size, origin }. The checkpoint is what a signature covers; the events are what it commits to. - statement - a thin, signed assertion layered on the checkpoint, identified by a predicate type. At v0.1 the
run-provenancestatement is the signed checkpoint (predicates/run-provenance.md); no separate statement envelope is defined. - payload - the per-event application data map (
payload) inside an event envelope, distinct from the checkpoint payload.
root- the RFC 9162 Merkle root (32 bytes, SHA-256) over a stream's events; the commitment any inclusion proof reconstructs (SPEC.mdSection 8.3, 8.4).size- the event count the signedrootcovers. Informal prose has called this "the head" of the stream; the wire field issize, and normative text usessizeonly (SPEC.mdSection 8.4).origin- the identifier of the log (the run/stream scope) that produced the root, binding a root to its log so it cannot be replayed against another (SPEC.mdSection 8.4;predicates/run-provenance.md).
- actor - the coarse, closed category of who produced an event:
agent,human, orsystem(SPEC.mdSection 2.1). A category, not an identity. - principal - the OPTIONAL external identity on whose authority an event was produced (
SPEC.mdSection 2.1). The identity-bearing field; it references whatever identity standard the deployment uses. - keyring - the set of public keys a verifier trusts. The conformance
crypto/vectors are signed under a single fixed, test-only Ed25519 key published invectors/crypto/manifest.jsonunderkeyring.
- leaf - the per-event commitment
SHA-256(0x00 || entry)over the domain-separated, framed entry (SPEC.mdSection 8.3). The leaf hash can always stand in for the event bytes, which is what the reserved redaction path relies on. - inclusion proof - an RFC 9162 Section 2.1.3 path that reconstructs a signed
rootfrom one leaf, proving an event is committed under that root (SPEC.mdSection 8.6). - consistency proof - an RFC 9162 Section 2.1.4 path proving one signed root is an append-only extension of an earlier one (
SPEC.mdSection 8.6). - receipt - an RFC 9942 COSE Receipt a record MAY carry for a checkpoint (
SPEC.mdSection 6, 8.6).
- suite - the published conformance vector set (
vectors/) plus its manifests and the failure-code registry. The suite operationally defines the standard (CONFORMANCE.md). - tier - one of the four conformance levels L1 (structural), L2 (cryptographic), L3 (transparency), L4 (governance-complete), defined in
CONFORMANCE.mdSection 3. A conformance claim MUST name an L-tier. - public vocabulary - the three-word shorthand integrity, governance, ground truth, which maps onto the tiers exactly one way: integrity = L1-L3, governance and ground truth = L4 (
CONFORMANCE.mdSection 3). It is communication, not a second tier model. - verifier - an implementation that checks a record against the suite. A verifier declares the highest tier it meets.
- producer - an implementation that emits records. A producer is conformant if every record it emits is accepted by a conformant verifier. Producer-specific vector sets are deferred beyond this version (
CONFORMANCE.mdSection 1, 4). - failure code - a stable, dotted, layer-prefixed identifier for a specific rejection reason, published in
registry.jsonandCONFORMANCE.mdSection 6. A conformant verifier emits the registered code, never a free-form string. - predicate - a versioned statement type named by a permanent URI (
https://w3id.org/provetrail/predicates/run-provenance/v0.1), governed by the URI versioning policy inpredicates/run-provenance.md.
- provetrail - the project name is the only short token the standard defines. There is no separate media-type token, CLI verb, or header abbreviation: media types are
application/vnd.provetrail.*, the domain-separation tag isprovetrail/event/v1\n, the client packages are namedprovetrail, and the reference verifier is invoked asflynn spine verify. This is a settled ruling (v0.1): no new short token is minted, so the question does not resurface.