AER-1 conformance

Run the complete receipt test corpus.

Site corpus kit v1.5.7: the complete 143-vector v1.5.7 corpus, 146 checks per runner. Includes versioned workflow roots.

Updated: 2026-10-22. Current draft: draft-zambo-aer1-26.

Python and Node evaluate the same served files. A passing run checks these recorded expectations. Receipts prove the saved record was not changed, not that the work was correct.

One current corpus

This site distribution preserves the v1.5.6 base bytes and adds boundary, Unicode, and workflow-root cases, including cross-version must-fail cases. Both versions run together. This is a site corpus release, not a claim that external package mirrors have updated.

Download the current corpus index · Stable current corpus record

Evaluated-set SHA-256:

60bf73f325793e16843370cfa24903bb0d017525cb297e42bebc35857e2db0d2

SHA-256 of UTF-8 concatenation of path + NUL + lowercase SHA-256 of exact file bytes + LF, for evaluated vector files sorted by ASCII relative path. Excludes index, runners and license.

Vector counts are read from the files. Check counts include three additional workflow-verdict checks in the base Merkle suite.

Download exact bytes and run locally

Use Python 3.10 or newer and Node 18 or newer. No extra packages or account are needed.

python3 - <<'PY'
import hashlib, json, pathlib, urllib.request
base = "https://zambo.dev/aer1/corpus/v1.5.7/"
root = pathlib.Path("aer1-corpus-v1.5.7")
root.mkdir(exist_ok=True)
raw = urllib.request.urlopen(base + "index.json").read()
index = json.loads(raw)
(root / "index.json").write_bytes(raw)
for item in index["files"] + index["downloads"]:
    data = urllib.request.urlopen(base + item["path"]).read()
    assert hashlib.sha256(data).hexdigest() == item["sha256"], item["path"]
    target = root / item["path"]
    target.parent.mkdir(parents=True, exist_ok=True)
    target.write_bytes(data)
PY
python3 aer1-corpus-v1.5.7/conformance.py
node aer1-corpus-v1.5.7/conformance.mjs

Python runner · Node runner · Recorded runner results

CONFORMANCE OK: 143 vectors, 146 checks, sha256:60bf73f325793e16843370cfa24903bb0d017525cb297e42bebc35857e2db0d2

Historical pinned corpus

The pinned 45-vector v1.3.2 corpus is the 45-vector v1.3.2 historical index for draft -08; it stays unchanged for reproducibility. It is not the current corpus or a current-draft conformance claim. Read the historical draft text.

Workflow verification endpoint

Submit a workflow record to POST /api/workflow/{workflow_id}/verify with steps and a Merkle root. The response reports the verifier's observed validity and failure reasons; it does not fetch or certify outside tool outcomes.