Skip to main content
Status: Genesis normative wire format. The observation envelope is a fixed-length CBOR array. A fixed array avoids map-key ordering ambiguity and keeps the independent verifier small.
The authoritative schema is schemas/cddl/observation.cddl.

Determinism

  • CDDL string .size bounds count encoded bytes, following RFC 8610 section 3.8.1.
  • Every text field is non-empty, valid UTF-8, and contains no U+0000.
  • Indefinite lengths are forbidden.
  • Unsigned integers use their shortest legal encoding.
  • Trailing bytes are forbidden.
  • The array contains exactly eleven fields.
  • The body digest is exactly 32 bytes.
  • retrieved-at is canonical RFC3339Nano UTC: it uses Z, contains at most nine fractional digits, and has no trailing fractional zeroes.
  • The evidence body is at most 2,097,152 bytes (2 MiB).
These rules are validated by both implementations against conformance/observation/vectors.json. Acceptance by either implementation alone does not establish conformance.

Evidence binding

The response body is stored at:
Verification recomputes the digest and size before extraction. Observation bundle metadata and references are published through bounded temporary files in the destination directory followed by an atomic rename. An interrupted write must not expose a partial artifact at its final path.

Known Genesis limitation

The envelope records request and final URL but not the full redirect chain or selected response headers. Later versions may add a separate immutable transport-evidence artifact rather than mutating version 1.
Last modified on August 10, 2026