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]>
33 lines
2.4 KiB
Shell
33 lines
2.4 KiB
Shell
# step: QoE aggregation · wai-rs and telemetry_aggregate_verify.py
|
|
# order: 600
|
|
# features: telemetry_aggregate
|
|
# paths: wai/extensions/telemetry-aggregation.md
|
|
# independent: telemetry-aggregate live python3 -I live-conformance/telemetry_aggregate_verify.py live-conformance/aggregate
|
|
#
|
|
# wai.telemetry.aggregate (extensions/telemetry-aggregation.md): the reference module's unit
|
|
# tests (the fields against a wide-arithmetic-free product, the generators' orders,
|
|
# TurboSHAKE128 against RFC 9861, HPKE against RFC 9180 A.1.1, the FLP accepting a valid
|
|
# measurement and refusing an invalid one, delivery-telemetry's key classes) and
|
|
# tests/telemetry_aggregate.rs (vectors.json regenerates byte for byte from its fixed seeds and
|
|
# no other file is there, vdaf-22/ is the draft's test vectors as published and wai-rs passes
|
|
# every one, every receipt, cell and delivery-only report gets its stated outcome, every
|
|
# reason of §11 and every reused code refuses a vector, §11 lists exactly the reference's
|
|
# codes, delivery-telemetry §3.4 classes exactly the reference's keys); and, in the step of
|
|
# every independent verifier above, the corpus's
|
|
# second implementation, telemetry_aggregate_verify.py, written from the extension's text and
|
|
# the drafts it cites and sharing no code with wai-rs, which evaluates Prio3 itself and passes
|
|
# the draft's vectors, opens every report with its own X25519, HKDF, AES-128-GCM and HPKE,
|
|
# re-runs every flow (both aggregators' verification, the aggregation job byte for byte, the
|
|
# batch buckets, every refusal, the collection), verifies every receipt and cell with WAI's
|
|
# strict Ed25519 rule from claim-conformance, reads the key classes and the reason table from
|
|
# the texts, requires every mutated copy of the corpus to fail, and drops each of its own
|
|
# checks in turn and requires the corpus to catch the weakened verifier; standard library
|
|
# only, run isolated (-I).
|
|
#
|
|
# The paths this step brings to the workflow's trigger, and why:
|
|
# wai/extensions/telemetry-aggregation.md: tests/telemetry_aggregate.rs requires this extension's
|
|
# §11 to list the codes the reference reports, telemetry_aggregate_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 -- telemetry_aggregate:: telemetry::)
|
|
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test telemetry_aggregate)
|