amduat/registry/manifest.schema.md
Carl Niklas Rydberg 3473b19425 trow AI at it.
2026-02-22 00:25:56 +01:00

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_sha256 field 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).