1.8 KiB
1.8 KiB
HASH/ASL1 Registry Manifest (draft)
This file documents the JSONL rows in registry/hash-asl1.jsonl. Each line is
one entry descriptor for a single HashId assignment. The key is the HashId
itself (a concept); the descriptor is data.
Field definitions
registry: string. Constant"HASH/ASL1".hash_id: string. Hexu16formatted as0x0000.handle: string. Stable concept handle for this HashId assignment, e.g.amduat.hash.asl1.id.0001@1.name: string or null. Algorithm name if assigned (e.g.HASH-ASL1-256).digest_len: integer or null. Digest length in bytes; null if unknown.status: string. One of:mandatory,reserved,deprecated,experimental.spec_ref: string. Document/version that defines the assignment.notes: string. Short human-readable note.descriptor_sha256: string. Lowercase hex SHA-256 digest of the canonical descriptor (see below).
Canonical registry key
hash_id is the registry key. Its key bytes are the big-endian u16 encoding
defined in ENC/ASL1-CORE (see amduat_hash_asl1_key).
Handle naming scheme
Handles are opaque identifiers in the amduat namespace:
amduat.hash.asl1.id.<hex4>@1
hex4 is the 4-digit lowercase hex of the HashId (zero-padded).
Descriptor digest rule
descriptor_sha256 is computed as SHA-256 over the UTF-8 bytes of the
canonical JSON object with these fields in order:
registry, hash_id, handle, name, digest_len, status, spec_ref, notes
The canonical JSON uses no extra whitespace and does not include the
descriptor_sha256 field itself.
Intended use
- Source of truth for codegen (C tables, enums) and documentation tables.
descriptor_sha256can be treated as the stable digest for mapping entries into graph references or evidence tables.