open-standards/.github/wai-conformance/verifiers/exact-splats.sh
Transaction Science 417847daab wai conform prints JUnit and HTML reports, runs the independent verifiers beside an implementation or alone, and is the corpus union in one command
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]>
2026-11-07 10:56:00 -05:00

31 lines
2.1 KiB
Shell

# step: exact splats · wai-rs and splat_exact_verify.py
# order: 620
# features: splat_exact
# paths: wai/extensions/splat-exact.md wai/extensions/gltf/**
# independent: splat-exact live python3 -I live-conformance/splat_exact_verify.py live-conformance/splat
#
# wai.splat.exact (extensions/splat-exact.md): the reference module's unit tests
# (exp_neg_q16 against the exponential, binary32 ranges rounded half up exactly, the
# signed integers' grammar, the identity set carrying every byte, and tiles that leave a
# frame unchanged) and tests/splat_exact.rs (live-conformance/splat/ regenerates byte for
# byte and no other file is there, every case gets its stated outcome, §10 lists exactly the
# reference's codes, the tiles leave every view of every scene unchanged, and the draft
# schema names §3.2's members); and, in the step of every independent verifier above, the
# corpus's second implementation,
# splat_exact_verify.py, written from the extension's text and sharing no code with wai-rs:
# it reads each glTF asset, decodes each payload with int_payload_verify.py's parser and
# rANS decoder and tools/wai_ops_check.py's whm1/1 interpreter, renders every view with its
# own integer renderer, verifies every record with WAI's strict Ed25519 rule and BLAKE3
# from claim-conformance, reads the extension's reason table, requires every mutated copy
# of the corpus to fail, drops each of its own checks in turn and changes each rule of its
# renderer in turn, and requires the corpus to catch every one; standard library only, run
# isolated (-I).
#
# The paths this step brings to the workflow's trigger, and why:
# wai/extensions/splat-exact.md and wai/extensions/gltf/**: tests/splat_exact.rs requires this
# extension's §10 to list the codes the reference reports and the draft schema under
# extensions/gltf/ to name §3.2's members, splat_exact_verify.py reads §10, 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 splat_exact::)
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test splat_exact)