Skip to content
VERASPEC
Repository
The VER Registrystable

Where it lives, and what addresses a snapshot

The registry's stable published URL is https://verstandard.org/registry/, on the host this project already uses for its published schema $id values (VERSIONING.md §3.1) and its release directories (CHANGELOG.md's release links). This directory is the source of truth for what is served there.

A snapshot is addressed two ways, and both are needed:

  • by integer: snapshots/<n>/registry.json, served at https://verstandard.org/registry/snapshots/<n>/registry.json;
  • by digest: the SHA-256 of the RFC 8785 (JCS) canonical form of the snapshot's parsed JSON.

The digest, not the URL, is what a Record binds to, and a Consumer that cannot fetch the snapshot is not thereby reading a broken Record: §2.3 is explicit that "if it cannot fetch that snapshot, the event stays opaque and the Record stays conformant."

snapshotdateJCS SHA-256file
12026-08-25ea0fab7379049ff86e77be87d7db84efd818177ba6d5e5e66fd82ab34b9c09a5`snapshots/1/registry.json`

Recompute it from the repository root:

text
.venv/bin/python -c "import json,hashlib,rfc8785; print(hashlib.sha256(rfc8785.dumps(json.load(open('standards/registry/snapshots/1/registry.json')))).hexdigest())"

Two properties of that construction are deliberate. The digest covers the canonical form of the parsed document, not the file's bytes, so reformatting the file — reindenting it, reordering its members — does not change the identity of a single entry; changing an entry does. And the digest is never carried inside the snapshot it addresses, because a document cannot contain its own digest. It lives here, in HISTORY.md, and in whatever Record cites the snapshot.

tests/test_record_registry.py recomputes the digest and fails if this table, HISTORY.md, or the snapshot itself has moved without the others.