# qalpipe — Qals data-accountability pipeline

**What:** the tamper-evidence layer. `anchor FILE` → sha256 → `qal_data::DataAnchor` on Qalnet (tx + object id recorded in anchors.jsonl). `verify FILE` → re-hash → fetch the anchor object FROM THE CHAIN and compare (survives registry loss). **Fully tested:** tamper→TAMPERED, restore→PASS, unknown→NOT_ANCHORED.

**Run:** `python3 qalpipe.py anchor|verify|list|tamper-test FILE [--uri U] [--mime M]`
**Needs:** chain on :9000 (bash scripts/gen_devnet.sh) · **Package id:** pkg_id.txt (auto-updated by gen_devnet.sh)
**Used by:** qmarket (every job output), qalchat (conversation Merkle roots), you (one command = client-grade receipt)
