# step: capture take · wai-rs and capture_take_verify.py # order: 120 # features: capture_take # paths: wai/extensions/capture-binding.md # independent: capture-take live python3 -I live-conformance/capture_take_verify.py live-conformance/takes # # wai.capture.take (extensions/capture-binding.md): the reference module's unit tests, # the output tree's (whose RFC 6962 hash and RFC 9162 consistency proofs the take tree # reuses), and tests/capture_take.rs (the committed corpus regenerates byte for byte # from its fixed seeds, wai-rs gives every vector its stated outcome, every reason of # §12 appears in it, and §12 lists exactly the reference's codes); and, in the step of # every independent verifier above, the corpus's # second implementation, capture_take_verify.py, written from the extension's text and # sharing no code with wai-rs, which verifies each room with live_rooms_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/capture-binding.md: tests/capture_take.rs requires this extension's §12 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 -- capture_take:: output_tree::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test capture_take)