open-standards/.github/wai-conformance/verifiers/timeliness.sh
Transaction Science e068412a40 The corpora that reached main beside wai conform join its table, and the release's files say what has run
wai conform --independent runs every corpus's verifier from the `# independent:` lines of the
step files. Eight step files that landed on main while this change waited ran their verifiers
in their bodies. Each gets its lines and the body loses them: cache-authority and its claims,
compact-return, impression-aggregates, prior-carriage, rung-price, timeliness and its claims,
project and project-selftest, and quantum-receipts, which runs the differential's second-only
pass over the corpus by name. The quantum step keeps receipt_verify.py's self-test and the
planted defects, which are no run over a corpus.

The release workflow and the changelog entry state what clean-machine.ps1 has run on, and no
longer the state of a runner.

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

30 lines
2.4 KiB
Shell

# step: timeliness · wai-rs and timeliness_verify.py
# order: 552
# features: timeliness
# paths: wai/extensions/timeliness.md
# independent: timeliness live needs=cryptography python3 -I live-conformance/timeliness_verify.py live-conformance/timeliness
# independent: timeliness-claims live needs=cryptography python3 -I claim-conformance/claim_verify.py timeliness live-conformance/timeliness/vectors.json
#
# wai.delivery.timeliness (extensions/timeliness.md): the reference module's unit tests (the
# value function against an exact reference, the collinearity rule, each rule refusing, the
# ladder's bounds and forms, the judgement, the held-at statement's before-group test, the plan's
# sources and the scheduler's input checks, and the corpus reaching every stated outcome and
# failing a changed one) and tests/timeliness.rs (vectors.json regenerates byte for byte from its
# fixed seeds, wai-rs gives every case its stated outcome, §9 lists exactly the reference's codes,
# §6.3 its outcomes and §7.5.3 its run's actions, jwp-receipts §3.1 lists the class codes at their
# steps, and delivery-telemetry §5.1 lists the switch reason); and, in the step of every
# independent verifier above, the corpus's second implementation, timeliness_verify.py, written from the extension's text and sharing no code with
# wai-rs, which verifies groups and objects with jwp_verify.py, claims through steps 1-5 with
# claim_verify.py, schedules and passes with carousel_verify.py and records with
# holdings_verify.py, writes the context checks, the value function, the judgement, the plans and
# a sink's runs of them itself, reads §9, §6.3 and §7.5.3, requires every mutated copy of the corpus
# to fail, and drops each of its own checks in turn; run isolated (-I). Last, claim-conformance's
# own verifier reads every claim of the corpus through jwp-receipts §3.1 steps 1 to 4 and requires
# the stated outcome.
#
# The paths this step brings to the workflow's trigger, and why:
# wai/extensions/timeliness.md: tests/timeliness.rs requires §9 to list the reference's codes,
# §6.3 its outcomes and §7.5.3 its run's actions, and timeliness_verify.py reads all three.
set -euo pipefail
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib -- timeliness:: claim_receipt::timeliness::)
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test timeliness)