1.5 KiB
Registry Manifest Schema (core)
This file defines the common conventions for registry JSONL manifests in
vendor/amduat/registry/. Each registry then supplies a registry-specific
schema that fixes the key field(s) and the descriptor field ordering used for
descriptor_sha256.
JSONL rules
- Each line is one JSON object (JSONL).
- Fields must match the registry-specific schema.
- Required fields must be present even if the value is
null.
Handle naming
Handles are stable identifiers in the amduat namespace:
amduat.<domain>.<registry>.<kind>.<id>@<version>
id is the canonical key for the registry (usually lowercase, zero-padded hex).
version increments only if the meaning of the key changes.
Canonical descriptor digest
Each entry includes descriptor_sha256, the SHA-256 digest (lowercase hex) of
its canonical descriptor JSON object. The canonical descriptor object:
- Includes the descriptor fields defined by the registry-specific schema.
- Uses the exact field ordering specified by the registry-specific schema.
- Excludes the
descriptor_sha256field itself. - Uses standard JSON encoding with no extra whitespace.
- Is hashed over its UTF-8 byte sequence.
Registry-specific schema files define the precise field ordering and any additional constraints on descriptor fields.
Canonical key encoding
Each registry defines the byte encoding of its key. The encoding is used when
constructing ASL registry artifacts. See the registry-specific schema for the
exact key encoding (e.g., big-endian u16 for HASH/ASL1).