The change of wai/conform-output, on current main, without its wai doctor: main's doctor, its tests, its catalogue entry, its MCP tool and its changelog entry stand as they are, and this change's copies of them are gone, with the lines dev.rs held for them. wai/README.md, which had no line for main's doctor, gains one in its first commands and `toolchain_doctor` in the core tools. - wai conform --format text|json|junit|html, reports made from the signed records. - --independent beside a kind holds the corpus's independent verifier to the same cases; alone, it runs every corpus's verifier, a record each, from one table. - wai-rs/build.rs reads that table from the `# independent:` lines of the step files (.github/wai-conformance/verifiers/), which take the verifiers' command lines out of the steps' bodies. scripts/wai-conformance-lists.py reads and checks the same lines. - wai-conformance.yml runs the union as wai conform --independent --format junit. - wai mcp's conformance tools read the table. - wai-release.yml runs the quickstart from each archive as a new user runs it (clean-machine.sh, its PowerShell twin clean-machine.ps1), held by check-wai-release-quickstart.py. clean-machine.ps1 keeps clean-machine.sh's contents step and its check of WAI Studio. Each leg keeps main's archive_doctor.py check; the step's own wai hello, verify and dev --check are clean-machine.sh's now. - check-wai-ops-doors.py reads VERBS and NEAR_SYNONYMS from catalogue.rs and keeps no list, and the verb-list test reads what that check reads. - The catalogue's export and Studio's actions hold the new operations. Co-Authored-By: Claude Opus 5.5 <[email protected]>
34 lines
2.5 KiB
Shell
34 lines
2.5 KiB
Shell
# step: stitched presentation · wai-rs, stitched_presentation_verify.py and the reference producer
|
|
# order: 260
|
|
# features: stitched_presentation
|
|
# paths: wai/extensions/stitched-presentation.md
|
|
# independent: stitched-presentation live python3 -I live-conformance/stitched_presentation_verify.py live-conformance/stitched
|
|
#
|
|
# wai.video.stitched_presentation (extensions/stitched-presentation.md): the reference
|
|
# module's unit tests (claims and pod-input records round-trip and their rules refuse,
|
|
# markers' bodies, a CPM price scaled to one impression, the XML subset) and the
|
|
# live-compose ad frames' (a squeeze's window and L tile the canvas, a double box's
|
|
# boxes), and tests/stitched_presentation.rs (every file of the committed corpus
|
|
# regenerates byte for byte from its fixed seeds and no other file is there, wai-rs gives
|
|
# every record, claim and ad its stated facts and every vector its spend by currency, and
|
|
# §9 lists exactly the codes the reference adds); then the tool's own check of the corpus
|
|
# through its binary; and, in the step of every independent verifier above, the corpus's
|
|
# second implementation,
|
|
# stitched_presentation_verify.py, written from the extension's text and sharing no code
|
|
# with wai-rs, which reads every playlist, asset list, MPD, VAST document, form-1 receipt,
|
|
# record and claim itself, requires every mutated copy of the corpus to fail and catches
|
|
# each of its own checks dropped; standard library only, run isolated (-I). Last, the
|
|
# browser client's stitched producer (joule-moq-web/web/ads/stitched.js), which reads the
|
|
# markers from the corpus's manifests, measures an ad's region, and writes and signs the
|
|
# corpus's claims, byte for byte.
|
|
#
|
|
# The paths this step brings to the workflow's trigger, and why:
|
|
# wai/extensions/stitched-presentation.md: tests/stitched_presentation.rs requires this
|
|
# extension's §9 to list the codes the reference adds, stitched_presentation_verify.py reads
|
|
# that table, 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 stitched_presentation::)
|
|
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib live_compose::layout::frame_tests)
|
|
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test stitched_presentation)
|
|
(cd wai-rs && "$RUNNER_TEMP/wai-bins/union/wai_stitched_presentation" vectors verify ../live-conformance/stitched)
|
|
node --test ../joule-code/joule-code-rs/crates/joule-moq-web/web/ads/stitched.test.mjs
|