open-standards/.github/workflows
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science f9215b5e01
Some checks failed
wai-quantum WebGPU member / member · discrete GPU, Vulkan (jetson-hub) (pull_request) Successful in 11m4s
workflow hygiene / every workflow supersedes its own queue (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Has been cancelled
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Has been cancelled
WAI section references / cited sections exist (pull_request) Has been cancelled
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Has been cancelled
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Has been cancelled
wai-pack / wai-pack · does this change touch it (pull_request) Has been cancelled
wai-pack / wai-pack · linux (pull_request) Has been cancelled
wai-pack / wai-pack · linux-arm64 (pull_request) Has been cancelled
wai-pack / wai-pack · macos (pull_request) Has been cancelled
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been cancelled
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been cancelled
wai-pack / wai-pack · dependency licences (pull_request) Has been cancelled
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Has been cancelled
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Has been cancelled
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Has been cancelled
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
tests in CI / every test file is run by a job or listed with its reason (pull_request) Has been cancelled
standards workspaces build + test / jouleclaw-rs (pull_request) Has been cancelled
standards workspaces build + test / aac-rs (pull_request) Has been cancelled
standards workspaces build + test / arl-rs (pull_request) Has been cancelled
standards workspaces build + test / eoc-rs (pull_request) Has been cancelled
standards workspaces build + test / jcp-rs (pull_request) Has been cancelled
standards workspaces build + test / joule-code-rs (pull_request) Has been cancelled
standards workspaces build + test / joule-ui-rs (pull_request) Has been cancelled
standards workspaces build + test / joulecontract-rs (pull_request) Has been cancelled
standards workspaces build + test / jouledesk-rs (pull_request) Has been cancelled
standards workspaces build + test / joulehook-rs (pull_request) Has been cancelled
standards workspaces build + test / map-rs (pull_request) Has been cancelled
standards workspaces build + test / mesh-rs (pull_request) Has been cancelled
standards workspaces build + test / openpay (pull_request) Has been cancelled
standards workspaces build + test / proof-rs (pull_request) Has been cancelled
standards workspaces build + test / sandbox-rs (pull_request) Has been cancelled
standards workspaces build + test / sense-rs (pull_request) Has been cancelled
standards workspaces build + test / smart-byte-rs (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
spec citations resolve / Code cites no section its SPEC lacks (pull_request) Has been cancelled
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Has been cancelled
no-vanity-metrics / WAI public text names no comparison (pull_request) Has been cancelled
no-vanity-metrics / WAI public text names no company or product (pull_request) Has been cancelled
no-vanity-metrics / No new orphan source files (pull_request) Has been cancelled
lockfiles / every Cargo.lock is current (pull_request) Has been cancelled
wai: reader limits for picture, audio and video payloads
The image, audio and AV1 decoders allocated what a payload declared, within whatever
their libraries allowed: the gap SECURITY.md listed first. SPEC §2 now sets reader
limits for them as it does for manifests and text: a picture up to 65 536 on a side
and 2^27 pixels, audio up to 2^27 samples counting every channel, AV1 up to 2^20
temporal units of such pictures. A reader may refuse past them (image_too_large,
audio_decoded_too_long, video_too_large), from what the payload declares; the writers
refuse the same. SPEC §5 now states the payload framing of the AV1, FLAC and Ogg Opus
capabilities, which only packaging §7 described for AV1.

Defects found and fixed on the way:
- flac_decode reserved STREAMINFO's declared total: 2^36 - 1 samples asked the
  allocator for 256 GiB before a sample was decoded.
- A 24-bit FLAC decoded to about ±256: the scale assumed 16 bits.
- opus_decode refused a stream whose source rate was not an Opus rate (44.1 kHz);
  RFC 7845 makes that field informational. Its output had no bound at all.
- png_decode and jpeg_decode guessed the format, so a PNG payload holding WebP decoded.
- jxl_decode refused deeper than 8 bits and returned 1 or 4 channels for grey or alpha.
- av1_decode decoded every packet and only then truncated to n; panicked on monochrome
  (empty chroma planes); misread 4:2:2, 4:4:4 and high bit depth; and let dav1d
  allocate whatever a sequence header declared. dav1d is now held to the header's
  h × w, a frame wider or taller than declared is refused, and av1_decode_each streams
  one frame at a time; the whole-output entry points refuse past 4 GiB from the header.

8-bit 4:2:0 frames decode byte for byte as before. AVIF decodes through libavif
directly with the reader limits as its decoder limits (libavif-image and the rav1e
build inside libavif are gone from the lockfile). include/wai.h is regenerated, which
also brings in the `# Safety` lines #241 added to the sources.

tests/media_decode_bounds.rs (14 tests, run by codec-wrappers) checks every limit at
its edge and one past it, on real payloads and on headers rewritten to declare more
than they hold. Falsified: the unbounded FLAC reserve, the 4:2:0-only conversion,
format guessing, an off-by-one pixel limit and the missing dav1d limit each fail it.
Green on the build host: those 14, fuzz_smoke, ffi_robustness, the text bounds and
memory tests, corpus_provenance, video_receipt, and the 193 lib tests with codecs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 10:08:25 -04:00
..
conformance.yml ci: one run per branch at a time — no workflow declared a concurrency group 2026-10-05 12:01:57 -04:00
energy-hardware.yml ci: run the new platform-gated meter tests where their platform is 2026-10-10 18:11:22 -04:00
joule-code-conformance.yml joule-moq: receipt chains recover (P-J2, P-J3); public text by capability; the conformance gate parses its count 2026-10-06 10:39:21 -04:00
jouleclaw-public-surface-documented.yml ci: one run per branch at a time — no workflow declared a concurrency group 2026-10-05 12:01:57 -04:00
lockfiles.yml ci: the script-only checks run on the arm64 runner 2026-10-14 01:40:45 -04:00
no-vanity-metrics.yml ci: the script-only checks run on the arm64 runner 2026-10-14 01:40:45 -04:00
spec-refs.yml ci: a citation to a section that does not exist is now a failure 2026-10-13 03:07:23 -04:00
standards-build.yml Merge pull request 'joule-code: close the two gaps its conformance gate cannot see' (#210) from dcharlot/joule-code-pack-test into main 2026-10-13 02:40:36 -04:00
tests-in-ci.yml ci: the script-only checks run on the arm64 runner 2026-10-14 01:40:45 -04:00
wai-byte-equality.yml D2c M1 gate 2: int_synth's decode through its lowering equals every golden 2026-10-13 02:50:33 -04:00
wai-conformance.yml wai: reader limits for picture, audio and video payloads 2026-10-14 10:08:25 -04:00
wai-energy-receipts.yml ci: build wai_prov and run its carry path against the committed receipt 2026-10-13 02:22:48 -04:00
wai-formal-verification.yml wai-ops proofs: the rans64 totality proof runs where its memory fits 2026-10-12 09:50:31 -04:00
wai-http.yml falsify: every mutation names the cases it must fail; receipt-surrogates reaches one 2026-10-10 01:42:38 -04:00
wai-jpegai-e2e.yml CI: the formal-verification job in shards; the scale-path golden runs where its bundle is 2026-10-10 23:27:46 -04:00
wai-neural-e2e.yml ci: one run per branch at a time — no workflow declared a concurrency group 2026-10-05 12:01:57 -04:00
wai-neural-gates.yml D2c M1 gate 1: int_synth's lowering and certificate, as this crate loads them 2026-10-13 02:40:50 -04:00
wai-ops-differential.yml D2c M1 gate 4: int_synth through wai-ops against its direct decode, differentially 2026-10-13 07:26:01 -04:00
wai-ops.yml wai-ops CI: the external sets' certificates from both certifiers 2026-10-10 10:26:38 -04:00
wai-pack.yml Merge wai/d1-record-true (with #205, #197 and main) into wai/w4-4-staged-packages 2026-10-10 17:40:02 -04:00
wai-quantum-cuda.yml wai-quantum 0.4.4: the fabric's CUDA member 2026-10-14 01:14:01 -04:00
wai-quantum-webgpu.yml quantum-meter: wai-quantum's RunMeter over this process's CPU and GPU counters 2026-10-13 02:22:44 -04:00
wai-section-refs.yml ci: the script-only checks run on the arm64 runner 2026-10-14 01:40:45 -04:00
wai-sota-vectors.yml wai-ops CI: the external sets' certificates from both certifiers 2026-10-10 10:26:38 -04:00
wai-vector.yml wai-vector: the wasm exports and the three-engine browser leg (D7-8) 2026-10-13 02:44:44 -04:00
wai-web-reach.yml wai-web reach: the record leg runs the record's own demo scripts 2026-10-11 03:44:06 -04:00
wai-web-wasm.yml D2c M1 gate 1: int_synth's lowering and certificate, as this crate loads them 2026-10-13 02:40:50 -04:00
workflow-hygiene.yml ci: the script-only checks run on the arm64 runner 2026-10-14 01:40:45 -04:00