# step: impression aggregates · wai-rs and impression_aggregate_verify.py # order: 605 # features: impression_aggregate # paths: wai/extensions/impression-aggregates.md # independent: impression-aggregates live needs=cryptography python3 -I live-conformance/impression_aggregate_verify.py live-conformance/impressions # # wai.delivery.impressions (extensions/impression-aggregates.md), telemetry-aggregation's # measure 5: the reference module's unit tests (the cell index, region columns, the chunk # length, the retention arithmetic, the deadline at the flight's last hour, the plan's order, # settlement on every DAP error value, the integer sum, the codes and a table's totals past # 2^64) and tests/impression_aggregate.rs (vectors.json regenerates byte for byte from its # fixed seeds and no other file is there, wai-rs gives every case its stated outcome and every # reason of §10 appears, §10 lists exactly the reference's codes, each standing receipt's # result is its contributions' tally and the flight's table gives per creative # stitched-presentation's own counts, and a task file and an upload file of exactly their # bound read while one byte more is refused); and, in the step of every independent verifier # above, the corpus's second implementation, impression_aggregate_verify.py, written from the extension's text and sharing no code with # wai-rs, which evaluates Prio3 and opens every report with telemetry_aggregate_verify.py, # judges records and claims with stitched_presentation_verify.py, verifies tokens with # ad_presentation_verify.py, confirms task-file signers with signer_verify.py and reads # regions with rung_price_verify.py, writes the catalogue, task file, upload file, # contribution, plan, settlement, receipt check and table itself, requires every mutated copy # of the corpus to fail and drops each of its own checks in turn; run isolated (-I). The QoE, # stitched, key-log and signer steps still run their own corpora, which the shared refactors # leave byte for byte as they were. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/impression-aggregates.md: tests/impression_aggregate.rs requires §10 to list the # reference's codes, impression_aggregate_verify.py reads it, and the registry's wire # identifiers test reads §4.1, §5.4, §6.4 and §7.2. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib -- impression_aggregate::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test impression_aggregate)