open-standards/.github/workflows
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 3a6963ea0d
Some checks failed
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-quantum WebGPU member / member · discrete GPU, Vulkan (jetson-hub) (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: coverage-guided fuzzing of the reader, and the container reservations it found
SECURITY.md's remaining known gap: fuzzing was a seeded-random smoke test, with no
coverage guidance for the manifest parser, the integer payload parsers or the codec
wrappers. wai-rs/fuzz/ adds four libFuzzer targets (cargo-fuzz, AddressSanitizer):

- envelope: version detection, the WAI1 and WAI2 readers, the listing form;
- int_payload: int_payload::decode_int against each (capability, parameter set) pair
  the integer conformance corpus commits, the first byte choosing the pair;
- media: the picture, audio, video and text decoders of the floor and the recommended
  set, the first byte choosing the decoder;
- containers: the extension containers (world, causal op, film, reel, score, haptic,
  splat4d, audio scene).

`seeds` builds the corpora from the repository: every committed envelope, integer
payload and container, and a valid payload per decoder from the reference writers.
`run.sh` runs each target for a given time, tells a find (exit 1, input kept in
fuzz/artifacts) from a tool failure (exit 2), and builds with --no-cfg-fuzzing because
rav1e depends on libfuzzer-sys under cfg(fuzzing), which left wai's cdylib with an
undefined symbol. wai-fuzz.yml runs each target for 15 minutes nightly on the macOS
runner (which has the codec libraries), never per pull request, keeping the corpus on
the CI volume between nights. wai-rs's one multi-line inline table (c2pa) is put on one
line: cargo-fuzz's TOML parser rejects it.

Found in the containers target's first seconds: the audio scene reader reserved a
u32 count of entries read from the input before reading one, so a few bytes asked for
48 GiB. The world, reel, score, haptic and splat4d readers did the same. Each now
reserves no more than its remaining bytes could hold. tests/container_reservations.rs
rewrites a committed vector of each to declare 2^32 - 1 entries in four bytes and
requires a refusal with no single allocation past a few megabytes, through an allocator
that records the largest request and refuses past 256 MiB; on the old readers the world
asset table alone asked for 256 GiB (falsified). wai-conformance runs it on every leg.

SECURITY.md now says what is fuzzed, and keeps two gaps: the C libraries are not
instrumented, and the extension formats' declared durations have no reader limit yet
(rendering allocates in proportion; reading is bounded).

Smoke runs on the build host: envelope, int_payload and media 120 s each, nothing
found; containers found the above, then ran 300 s clean once fixed. Green there: the new
test, and the 275 lib tests with the container features. Clean: tests-in-CI, spec and
section refs, workflow concurrency, lockfiles, vanity metrics, comparative prose,
public names.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-14 10:58:29 -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: coverage-guided fuzzing of the reader, and the container reservations it found 2026-10-14 10:58:29 -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-fuzz.yml wai: coverage-guided fuzzing of the reader, and the container reservations it found 2026-10-14 10:58:29 -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