54 lines
1.8 KiB
Markdown
54 lines
1.8 KiB
Markdown
|
|
# ENC/ASL1-CORE Registry Manifest (draft)
|
||
|
|
|
||
|
|
This file documents the JSONL rows in `registry/enc-asl1-core.jsonl`. Each
|
||
|
|
line is one entry descriptor for a single encoding profile assignment. The key
|
||
|
|
is the profile ID (a concept); the descriptor is data.
|
||
|
|
|
||
|
|
## Field definitions
|
||
|
|
|
||
|
|
- `registry`: string. Constant `"ENC/ASL1-CORE"`.
|
||
|
|
- `profile_id`: string. Hex `u16` formatted as `0x0000`.
|
||
|
|
- `handle`: string. Stable concept handle for this profile assignment, e.g.
|
||
|
|
`amduat.enc.asl1.core.profile.0001@1`.
|
||
|
|
- `name`: string or null. Profile name if assigned (e.g. `ASL_ENC_CORE_V1`).
|
||
|
|
- `version`: string. Hex `u16` encoded version from the descriptor table.
|
||
|
|
- `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
|
||
|
|
|
||
|
|
`profile_id` is the registry key. Its key bytes are the big-endian `u16`
|
||
|
|
encoding defined in `ENC/ASL1-CORE` (see `amduat_enc_asl1_core_key`).
|
||
|
|
|
||
|
|
## Handle naming scheme
|
||
|
|
|
||
|
|
Handles are opaque identifiers in the `amduat` namespace:
|
||
|
|
|
||
|
|
```
|
||
|
|
amduat.enc.asl1.core.profile.<hex4>@1
|
||
|
|
```
|
||
|
|
|
||
|
|
`hex4` is the 4-digit lowercase hex of the profile ID (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, profile_id, handle, name, version, 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.
|