open-standards/.github/wai-conformance/verifiers/rung-price.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.4 KiB
Shell

# step: rung price · wai-rs and rung_price_verify.py
# order: 555
# features: rung_price
# paths: wai/extensions/rung-price.md
# independent: rung-price live python3 -I live-conformance/rung_price_verify.py live-conformance/prices
#
# wai.delivery.rung_price (extensions/rung-price.md): the reference module's unit tests (a
# list read back with a digest that ignores its signature, every rule refusing, the bounds no
# vector carries, a seller's latest list standing alone and a lapsed one reviving none, a
# shared transmission's whole cost per receiver unless an audience is stated, each limit,
# energy ranked by checked evidence first (a label whose records are not given, not current
# or not confirmed ranking as an estimate, one its own records refute as unknown), a hardware
# figure compared one declared uncertainty above itself, the break-even audience, the pass
# rate and its tier, and the corpus reaching every stated outcome and failing a changed one)
# with those of the region code its §2 defines (the grammar, a footprint holding a code or
# its country's and never upward, and the exact CDNI case mapping), and tests/rung_price.rs
# (vectors.json regenerates byte for byte from its fixed seeds, wai-rs gives every case its
# stated outcome, §8 lists exactly the reference's codes and §6.2 its limits, in order); and,
# in the step of every independent verifier above, the corpus's second implementation, rung_price_verify.py, written from the extension's text
# and sharing no code with wai-rs, which reads documents with route_record_verify.py, per-hop
# records with live_metering_verify.py, room descriptors with fleet_verify.py and signatures
# with the shared _ed25519.py, writes the region code, the list's rules, the evidence, the
# verdict and the comparison itself, reads §8 and §6.2, requires every mutated copy of the
# corpus to fail and drops each of its own checks in turn; run isolated (-I).
#
# The paths this step brings to the workflow's trigger, and why:
# wai/extensions/rung-price.md: tests/rung_price.rs requires §8 to list the reference's codes and
# §6.2 its limits, rung_price_verify.py reads both, and the registry's wire identifiers test
# reads §4.1 and §6.1.
set -euo pipefail
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib -- rung_price:: region::)
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test rung_price)