Skip to main content

Module value

Module value 

Source
Expand description

Parameter values, provenance, and canonical fingerprints.

A Value is the observation of a Parameter at a particular point in a trial or binding. Each concrete variant owns the native Rust value plus a shared Provenance that records the owning parameter name, the instant the value was generated, an optional generator tag, and a BLAKE3 fingerprint over the canonical byte form.

Canonical form (per SRD-0004 §Fingerprinting) is a tag byte, then the parameter name as UTF-8 with a 0x00 terminator, then the per-kind payload. The full byte layout is shipped with each variant’s fingerprint_of helper so downstream tools can reproduce the hash without depending on this crate.

Constructors always compute the fingerprint. Value::verify_fingerprint re-derives it and reports mismatches; callers run this at trust boundaries where tampering matters.

Structs§

BooleanValue
An observed bool value.
DoubleValue
An observed f64 value.
IntegerValue
An observed i64 value.
Provenance
Shared metadata attached to every Value.
SelectionItem
A validated member of a selection domain.
SelectionValue
An observed selection value.
StringValue
An observed String value.

Enums§

BoundaryKind
Which boundary a GeneratorInfo::Boundary value picked.
GeneratorInfo
How a value was produced.
Value
An observed parameter value, tagged by kind.
ValueKind
Unit-only discriminator for a Value variant.