# step: live recording · wai-rs and live_record_verify.py # order: 140 # features: live_record # paths: wai/extensions/live-recording.md # independent: live-recording live python3 -I live-conformance/live_record_verify.py live-conformance/recordings # # wai.live.recording (extensions/live-recording.md): the reference module's unit tests, # the output tree's (whose range proofs it adds, tested against RFC 9162 §2.1.3.2's # check), and tests/live_record.rs (the committed corpus regenerates byte for byte from # its fixed seeds, wai-rs gives every recording and clip its stated outcome, every reason # of §9 appears in it, every take it says it reuses is capture binding's byte for byte, # and §9 lists exactly the reference's codes); and, in the step of every independent # verifier above, the corpus's second implementation, # live_record_verify.py, written from the extension's text and sharing no code with # wai-rs, which checks range proofs by the extension's recursion and by RFC 9162 # §2.1.3.2's own algorithm, verifies each take with capture_take_verify.py and every # signature with WAI's strict Ed25519 (claim-conformance/_ed25519.py), and requires every # mutated copy of the corpus to fail; standard library only, run isolated (-I). # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/live-recording.md: tests/live_record.rs requires this extension's §9 to list the # codes the reference reports, and the registry's wire identifiers test reads its sections. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib -- live_record:: output_tree::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test live_record)