# 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)