open-standards/.github/wai-conformance/verifiers/takedown.sh
Transaction Science 34fe16b0f8 Each independent verifier's needs= is what a run without packages shows, and the nightly run holds that
takedown failed without cryptography and declared nothing; channel-lineup, revenue-share,
opportunity-report, native-sink and rung-price passed without it and declared it, so a failed run
of one would have named a package it does not read. `wai-conformance-lists.py needs` runs the union
on a virtual environment's interpreter and compares; wai-conformance.yml runs it on the schedule.

Changelog: none
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 10:56:00 -05:00

32 lines
2.2 KiB
Shell

# step: takedown · wai-rs and takedown_verify.py
# order: 480
# features: takedown
# paths: wai/extensions/takedown.md
# independent: takedown live needs=cryptography python3 -I live-conformance/takedown_verify.py live-conformance/takedown
#
# wai.media.takedown (extensions/takedown.md): the reference module's unit tests (times,
# clock identifiers, the published registry, the order of subjects, the lower median) and
# tests/takedown.rs (the committed corpus regenerates byte for byte from its fixed seeds
# and no other file is there, wai-rs gives every case its stated outcome and facts and
# every counts entry its rows, §11 lists exactly the reference's codes, each of which the
# corpus gives, and the registry the module carries is registry/takedown-clocks.json);
# and, in the step of every independent verifier above, the corpus's second
# implementation, takedown_verify.py, written from the
# extension's text and sharing no code with wai-rs, which computes every closure, holder,
# purge time, clock verdict and counts row itself, reads derivation records and delivery
# receipts with edge_verify.py, origin claims with synthesis_verify.py, acknowledgements
# with settlement_verify.py, cache-transmission claims through jwp-receipts §3.1 steps 1-4
# with claim_verify.py, and every record with WAI's strict Ed25519 rule and BLAKE3 from
# claim-conformance, 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;
# run isolated (-I). The reference relay's DVR store honours takedowns (§10.1), tested by
# joule-moq-relay's tests/dvr.rs in joule-code-conformance.yml.
#
# The paths this step brings to the workflow's trigger, and why:
# wai/extensions/takedown.md: tests/takedown.rs requires this extension's §11 to list the codes
# the reference reports, takedown_verify.py reads that table, and the registry's wire
# identifiers test reads its sections. The registry of clocks it reads is under wai/registry/
# above.
set -euo pipefail
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib takedown::)
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test takedown)