# step: platform-encode · wai-rs and encode_verify.py # order: 570 # features: platform_encode # paths: wai/extensions/platform-encode.md # independent: encode delivery python3 -I encode-conformance/encode_verify.py encode-conformance # # wai.video.encode (extensions/platform-encode.md): the reference module's unit tests (the # Exp-Golomb reader, emulation prevention, NAL splitting, length-prefixed samples, the # resampler, the source reader, the strict JSON scan and the date-time) and # tests/platform_encode.rs (the fixture streams are the pinned bytes, every generated file # regenerates byte for byte, every case gets its outcome, every record reason has a case, and # §12 lists exactly the reference's reasons); and, in the step of every independent verifier # above, the corpus's second implementation, # encode_verify.py, written from the extension's text and sharing no code with wai-rs or # wai-pack, which reads every Annex B stream, its access units and parameter sets itself, # verifies every record with WAI's strict Ed25519 rule and every object with BLAKE3 from # claim-conformance, checks the encoded renditions against the base packaging golden, # requires every mutated copy of the corpus to fail, and drops each of its own checks in turn # and requires the corpus or its mutations to catch the weakened verifier; standard library # only, run isolated (-I). The encoders themselves run on the macOS leg (codec-wrappers). # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/platform-encode.md: tests/platform_encode.rs requires this extension's §12 to # list the reasons the reference reports, and encode_verify.py reads that table. set -euo pipefail (cd wai-rs && cargo test --locked --no-default-features --features "$WAI_FEATURES" --lib platform_encode::) (cd wai-rs && cargo test --locked --no-default-features --features "$WAI_FEATURES" --test platform_encode)