| Filename | Latest commit message | Latest commit date |
|---|---|---|
The Rust mutations showed a usage's quantity of the wrong type went uncaught, and the same held of other forms and bounds the text states. Each now has a control, at its first value past the limit, so the two implementations are held to the same limits. A clause `unhex` already made redundant is gone. The document kind is in the registry. The Python verifier stops a mutated copy at its first failure: it only asks whether one fails. routes corpus: 236 vectors. route_record_verify.py: 103 checks, 1,119 mutated copies. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| README.md | ||
| vectors.json | ||
Route record corpus
The conformance corpus of wai.route.record: one file,
vectors.json, written by wai_route_record_vectors gen from fixed seeds (extension §10).
Each vector is a verification document (§7.1) — the request, the price book, the policy and the record, each as its text, the hops' OER/2 receipts of minor version 1 as their texts and the key they are published under — with the outcome §7.3 gives it. The accepted vectors are routed and sealed by the reference; each refused one is a control of one defect, its record signed again over the defect where the defect is not in the signature, and the generator refuses to write a corpus whose control is refused for any reason or at any place but its own.
The vectors of version 1 come first, then those of version 2 (extension §3.4), whose names
begin v2_ but for the controls that pair a record with a price book of the other version:
a price book that prices each operation of an endpoint and states its measured failures, the
ranking by the expected cost and time to first byte per successful job, and the served hop's
outputs, to which its receipt is held. The outputs are the content hashes of fixed byte
strings standing for the envelopes a hop delivered; the verifier reads only their content
hashes. Then those of version 3 (§3.4), on version 2's price book, whose names begin v3_ but
for the control that pairs one with a price book of version 1: the served hop's outputs stated
by their count and root, to which its receipt is held, 5,000 of them in one record the size of
the others. Then those of the third-party hop record (§6.2), whose names begin third_party_:
each document carries the records beside the receipts, under route records of versions 2 and
3, with each rule of §6.2 broken once.
# wai-rs: regenerates byte for byte, and every vector gets its outcome
cargo run --no-default-features --features route_record --bin wai_route_record_vectors -- verify ../live-conformance/routes
# the second implementation, written from the extension's text (needs `cryptography`, which the
# OER/2 reference verifier uses for the hop receipts)
python3 -I ../route_record_verify.py live-conformance/routes
keys names the router's key and the hops' key; both come from fixed seeds and attest nothing.