reference snapshot¶
Provenance¶
- Source:
.spec/spexcode/spec-cli/guide/guidance-docs-contract/reference-snapshot/spec.md - Source SHA-256:
f88d75493b3123fb737384cc711251699f67bd6d176781034240eb04de0c238e
raw source¶
The product's .spec tree remains the source of truth for Reference documentation. A documentation consumer
receives a complete, deterministic rendered snapshot of that tree, never a checkout or a request to run the
product's renderer.
expanded spec¶
[[guidance-docs-contract]] owns the immutable release envelope and consumer handoff. This node owns the
Reference projection inside that envelope. Given one clean, committed product revision, it walks the current
.spec tree in a stable path order and emits exactly one UTF-8 JSON payload named reference-snapshot.json.
The same committed tree produces byte-identical output on repeated runs.
The payload has schema spexcode.reference-snapshot/v1, declares its payload name and the exact source revision,
and carries a canonical bundle digest. It contains every rendered Reference page, a complete derived navigation
tree, and provenance sufficient to trace each rendered page back to its source spec path and source-byte digest.
Pages use safe, unique relative paths below docs/reference; a source directory with a leading dot uses the
existing public dot- spelling (for example .plugins becomes dot-plugins). Their rendered bytes, titles, and
source identities are explicit. The navigation is derived from those same pages, not maintained as a second
authored list.
The snapshot is self-contained: the consumer needs only the verified payload to replace docs/reference and its
derived Reference navigation. It never reads a product checkout, source directory, Git ref, local generator, or
network resource while applying the snapshot. A malformed tree, ambiguous page destination, unsupported source
file, or inconsistent canonical digest fails the producer loudly; it cannot yield a partial snapshot.
The snapshot is a read-only derived projection. It does not publish a GitHub release, choose a release version,
modify documentation files, or make Reference prose editable outside .spec. Publication identity, hashes, and
the atomic pairing with Guidance belong to [[guidance-docs-contract]].