# step: opportunity report · wai-rs and opportunity_report_verify.py # order: 420 # features: opportunity_report # paths: wai/extensions/opportunity-report.md # independent: opportunity-report live needs=cryptography python3 -I live-conformance/opportunity_report_verify.py live-conformance/opportunity # # wai.delivery.opportunity (extensions/opportunity-report.md): the reference module's unit # tests (the SCTE 35 subset reader against the standard's sample and damaged sections, the # reported statement's JSON and CSV forms and dates, the report's and the check's reading and # rules, the ratios); tests/opportunity_report.rs (vectors.json regenerates byte for byte # from its fixed seeds and no other file is there; wai-rs gives every vector its stated # outcome; every reason of §13 and every reused code refuses a vector; §13 lists exactly the # reference's codes; the worked example, a channel's day whose reported statement # under-reports one owner's programme, and the check that shows it, recomputed from the # public records alone); and, in the step of every independent verifier above, the corpus's # second implementation, opportunity_report_verify.py, # written from the extension's text and sharing no code with wai-rs, which verifies rooms # with live_ads_verify.py and contracts, runs and signed statements with # revenue_share_verify.py, reads every report, check, section and reported statement itself, # recomputes every break, attribution, line, citation and flag, 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/opportunity-report.md: tests/opportunity_report.rs requires this extension's §13 # to list the codes the reference reports, opportunity_report_verify.py reads that table, and # the registry's wire identifiers test reads its sections. Its corpus is generated from fixed # seeds, under the paths above. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib opportunity_report::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test opportunity_report)