2.3 KiB
2.3 KiB
Conformance Fixture Manifests
This directory contains small, canonical fixture sets used by conformance tests. Each fixture set publishes a JSON manifest with deterministic ordering.
Common rules
- JSON must be UTF-8, no comments.
- Arrays are ordered and MUST be in canonical order as specified by the schema.
- Artifact references use the canonical
ReferenceByteshex encoding when present (lowercase hex, no0xprefix). sha256fields are lowercase hex of the raw bytes.
Schema: amduat.conformance.fixtures.v0
Used by simple ASL/1-STORE byte fixtures (e.g. asl_put_get).
{
"schema": "amduat.conformance.fixtures.v0",
"fixtures": [
{
"id": "string",
"artifact": "relative/path.bin",
"size": "0",
"sha256": "hex",
"notes": "optional string"
}
]
}
Rules:
fixturesMUST be sorted by ascendingid.artifactis a path relative to the manifest file.sizeis the byte length of the artifact file encoded as a decimal string.sha256is the digest of the artifact file contents.
Schema: amduat.conformance.tgk_edges.v0
Used by TGK edge fixture sets.
{
"schema": "amduat.conformance.tgk_edges.v0",
"edges": [
{
"id": "string",
"type": 0,
"from": ["refhex"],
"to": ["refhex"],
"payload": "hex",
"notes": "optional string"
}
]
}
Rules:
edgesMUST be sorted by ascendingid.from/toare lists ofReferenceByteshex (lowercase).payloadis hex-encoded edge payload bytes (lowercase).
Schema: amduat.conformance.fps.v0
Used by FPS/1 primitive conformance vectors.
{
"schema": "amduat.conformance.fps.v0",
"cases": [
{
"id": "string",
"op": "slice|concat|reverse|splice",
"input": "hex",
"inputs": ["hex"],
"insert": "hex",
"offset": 0,
"length": 0,
"level": "bit|byte|word|long",
"output": "hex",
"cid_sha256": "hex"
}
]
}
Rules:
casesMUST be sorted by ascendingid.inputis used for unary operations.inputsis used forconcat.insertis used forsplice.offsetandlengthare required forsliceandsplice.levelis required forreverse.outputis the expected output payload bytes.cid_sha256isSHA-256("CAS:OBJ\\0" || output)in lowercase hex.