ci: every wai-rs test is run by a job or listed with its reason, none can run empty, and wai_prov runs #240

Merged
dcharlot merged 3 commits from ci/tests-are-run into main 2026-10-13 22:27:19 -04:00

2026-10-13

Transaction Science
Merge main into ci/tests-are-run
All checks were successful
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 50s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 2m2s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 4s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Has been skipped
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Has been skipped
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 1m20s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m13s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 5s
wai-pack / wai-pack · macos (pull_request) Successful in 1m6s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m14s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 2m50s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 1m59s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 17m36s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 5s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m0s
workflow hygiene / every workflow supersedes its own queue (pull_request) Successful in 4s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 2m57s
wai-pack / wai-pack · linux (pull_request) Successful in 1m20s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 21s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m25s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 4m4s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m45s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m7s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 06:40:41 -04:00
Transaction Science
ci: build wai_prov and run its carry path against the committed receipt
wai_prov needs the codecs feature, so no workflow built it and its --carry
path, which wrote the committed provenance vectors, ran only by hand. The
codec-wrappers job builds it on the macOS runner, carries the committed
receipt onto itself and requires the asset and receipt written again byte for
byte, and requires a receipt changed by one byte to be refused.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 02:22:48 -04:00
Transaction Science
ci: every wai-rs test file is run by a job or listed, and none can run empty
The conformance workflows name the tests they run. Thirty-eight test files of
wai-rs were named by no step, so no job ran them, and forty-nine feature-gated
ones had no required-features, so a step without the feature would have run
them empty and reported ok.

- scripts/check-tests-in-ci.py, with a self-test, in a new unfiltered workflow:
  every tests/*.rs is named by a step or listed with its reason in
  tests/NOT-IN-CI.txt, and every feature-gated one declares its features.
- Ten real tests join steps: the integer video and world tests and the JPEG AI
  bitstream reader (fast kernels, both builds), world replay, the world model
  and the shared integer world (a new step), the semantic path (codec-wrappers).
- Twenty-eight are listed: each compares the JPEG AI decoder with reference
  values that are not in the tree, and returns without checking when they are
  absent.
- Cargo.toml declares required-features for every feature-gated test.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-13 01:20:48 -04:00