53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# 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. Hex `u16` formatted as `0x0000`.
|
|
- `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_sha256` can be treated as the stable digest for mapping entries
|
|
into graph references or evidence tables.
|