# step: prior carriage · wai-rs and prior_carriage_verify.py # order: 335 # features: prior_carriage # independent: prior-carriage live python3 -I live-conformance/prior_carriage_verify.py live-conformance/prior-carriage # # Prior carriage (extensions/prior-carriage.md §15 to §19; extensions/http-delivery.md §8.7, # §8.8, §12.5): the module's unit tests (set roots, the hints of a catalog entry and of a # playlist, a fetch past a tampered mirror, the RFC 9842 field values, a set coded against # another and each check of a coded response, a plan's break-even, successor and refusals, # SPDX licence expressions and usage statements, counter mode against NIST SP 800-38A F.5.1, # a set sealed and opened, held sets per site, a chunk tree's root equal to the BLAKE3 hash # for every piece size and length tried, a flipped piece refused at that piece) and # tests/prior_carriage.rs (the committed corpus regenerates byte for byte from the sets other # corpora commit, every case gets its stated outcome, http-delivery §13 lists exactly the # reasons the reference reports for §8.7 and §8.8, and prior-carriage §20 lists its own); # and, in the step of every independent verifier above, the corpus's second implementation, prior_carriage_verify.py, written from # the texts and sharing no code with wai-rs, which decodes Zstandard with its own RFC 8878 # decoder (_rfc8878_zstd.py), opens sealed sets with its own AES-128 (_fips197_aes.py), # reads ai-usage statements with ai_usage_verify.py, hashes with the shared _blake3.py, runs the stock-tool check where the Zstandard tool is on the # PATH, requires every mutated copy of the corpus to fail and drops each of its own checks # in turn; standard library only, run isolated (-I). set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib -- prior_carriage::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test prior_carriage)