open-standards/wai/live-conformance/README.md
Transaction Science 36f5074b4c
All checks were successful
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 7s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 8s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 6s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 7s
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 6s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 7s
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 21s
WAI operation catalogue / does this change touch it (pull_request) Successful in 6s
WAI energy receipts / does this change touch it (pull_request) Successful in 6s
WAI conformance / does this change touch it (pull_request) Successful in 10s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 6s
wai-fleet service / does this change touch it (pull_request) Successful in 10s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 6s
wai-key-proxy / does this change touch it (pull_request) Successful in 6s
WAI JPEG-AI whole decode (pinned inputs, required) / does this change touch it (pull_request) Successful in 10s
wai-ledger service / does this change touch it (pull_request) Successful in 6s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 6s
WAI neural sink gates / does this change touch it (pull_request) Successful in 10s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 6s
wai-quantum for JavaScript / does this change touch it (pull_request) Successful in 6s
wai-quantum docs, course and locales / does this change touch it (pull_request) Successful in 10s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Successful in 3m46s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 7s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 10s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 12s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 6s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 6s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 10s
WAI Studio / does this change touch it (pull_request) Successful in 13s
wai-web wasm32 / does this change touch it (pull_request) Successful in 6s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 36s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 1m45s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 3m12s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 2m54s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 3m1s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 32s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m48s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Successful in 5s
wai-key-proxy / proxy · linux (pull_request) Successful in 1m23s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m46s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 5m9s
wai-fleet service / service · linux (pull_request) Successful in 2m28s
wai-ledger service / service · linux (pull_request) Successful in 1m40s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 2m2s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 9s
wai-pack / wai-pack · linux (pull_request) Successful in 1m49s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 2m3s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 3m47s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 3m16s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 8m55s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m52s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 6m53s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m31s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m20s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (pull_request) Successful in 35s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 59s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m26s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 57s
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 12m23s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 6m46s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 14m25s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m32s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m27s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 5m34s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 20m45s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 1m31s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 16m34s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 10m25s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 2m49s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 7m43s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 10m33s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m40s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 27s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 9m59s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 1m14s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 1m10s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 1m18s
wai-fleet service / service · macos (pull_request) Successful in 47s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 24m25s
wai-ledger service / service · macos (pull_request) Successful in 1m7s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 5m22s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 15m50s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 3m35s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 9m46s
wai-pack / wai-pack · macos (pull_request) Successful in 3m25s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 7m5s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 5m14s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 55s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 4m38s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 2m3s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 37m45s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 11m26s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 14m14s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 17m4s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 12m7s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 6m41s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 18s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 10m27s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 49s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m51s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 16m15s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 11m56s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 27m0s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 8m17s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Successful in 8m44s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Successful in 8m4s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Successful in 7m8s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Successful in 34m51s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Successful in 3m12s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Successful in 1m34s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m54s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 18s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 12s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 2m16s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 6m54s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Successful in 40m20s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Successful in 40m13s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h9m39s
wai: holdings — which objects of which groups a node holds now, for its neighbours
A receiver that stores what a broadcast carried, a neighbourhood cache or a peer can serve those
objects over a short link; a neighbour that knows who holds what fetches from them before it spends
the backhaul. Nothing said who holds what.

extensions/holdings.md registers `wai.delivery.holdings`: a record (WHD1) of, per group a node holds
objects of, the group's link hash, its leaf count and either `whole` or a bitmap (as a
reconciliation's), in one canonical form, with the instant it states them at and the one it expires
at, signed by the holder under SPEC §7 Signatures. Groups and bitmaps rather than a filter over
hashes: WAI delivers everything under group receipts that name objects by position, a node holds
objects as groups arrive, and a bitmap is exact (no neighbour sent after an object its holder
lacks) at a bit an object, 41 bytes for a group held whole.

A verifier holds a record to its instant and to the group receipts it has (a misstated leaf count
refuses it whole; a group with no receipt held is kept), keeps a holder's latest record and sets
aside two of one instant that differ, answers whether a record holds an object, and derives an
asker's plan: each wanted object's holders in the asker's order, and the objects no neighbour holds,
which come from the origin. An object a neighbour serves is verified under its receipts like any
other; a record is never evidence of bytes. A node advertises only what reached it over a broadcast
bearer, and may sign each record with a fresh key.

The reference is the `holdings` module of wai-rs; the corpus is live-conformance/holdings/ (21
records with a control for each rule, 11 verdicts, 6 queries, a plan over three neighbours), with
holdings_verify.py as its second implementation: 39 cases agree, 9 of 9 mutated copies and 10 of 10
weakened verifiers caught.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 05:20:31 -05:00

12 KiB

live-conformance — the wai.live family

Conformance corpora of the live and interactive extensions, one directory per extension, and the independent verifier of each, beside it.

directory extension generator verifier
events/ live-events (wai.live.events) wai_live_events_vectors gen live_events_verify.py
rooms/ live-rooms (wai.live.room) wai_live_room_vectors gen live_rooms_verify.py
takes/ capture-binding (wai.capture.take) wai_capture_take_vectors gen capture_take_verify.py
compose/ live-compose (wai.live.compose) wai_live_compose_vectors gen live_compose_verify.py
recordings/ live-recording (wai.live.recording) wai_live_record_vectors gen live_record_verify.py
captions/ timed-text (wai.text.timed) wai_timed_text_vectors gen timed_text_verify.py
metering/ live-metering (wai.live.metering) wai_live_metering_vectors gen live_metering_verify.py
steering/ energy-steering (wai.live.steering) wai_energy_steering_vectors gen energy_steering_verify.py
moderation/ live-moderation (wai.live.moderation) wai_live_moderation_vectors gen live_moderation_verify.py
ads/ live-ads (wai.live.ads) wai_live_ads_vectors gen live_ads_verify.py
e2ee/ confidentiality (wai.live.e2ee) joule_moq_e2ee_vectors gen (joule-moq-mls) e2ee_verify.py
messaging/ live-messaging (wai.live.message, wai.live.call) wai_live_messaging_vectors gen live_messaging_verify.py
watermark/ forensic-watermark (wai.live.watermark) wai_live_watermark_vectors gen live_watermark_verify.py
c2pa-live/ live-provenance (wai.live.provenance) wai_live_provenance_vectors gen c2pa_live_verify.py
synthesis/ synthesis (wai.media.synthesis) wai_synthesis_vectors gen synthesis_verify.py
usage/ ai-usage (wai.ai.usage) wai_ai_usage_vectors gen ai_usage_verify.py
contribution/ contribution (wai.media.contribution) wai_contribution_vectors gen contribution_verify.py
settlement/ settlement (wai.delivery.settlement) wai_settlement_vectors gen settlement_verify.py
audit/ stream-audit (wai.delivery.audit) wai_stream_audit_vectors gen stream_audit_verify.py
native-sink/ native-sink (a native host's sink: verification, stream-audit's records, ending) wai_native_sink_vectors gen native_sink_verify.py
browser/ browser-sink (routing, constraint sets, energy entries, contentBinding) wai_browser_sink_vectors gen browser_sink_verify.py
takedown/ takedown (wai.media.takedown) wai_takedown_vectors gen takedown_verify.py
coperformance/ co-performance (wai.live.coperformance) wai_co_performance_vectors gen co_performance_verify.py
influence/ influence (wai.media.influence) wai_influence_vectors gen influence_verify.py
direction/ direction (wai.media.direction) wai_direction_vectors gen direction_verify.py
bearers/ bearer-receipts (wai.bearer.receipts) wai_bearer_vectors gen bearer_verify.py
carousel/ carousel (wai.bearer.carousel) wai_carousel_vectors gen carousel_verify.py
holdings/ holdings (wai.delivery.holdings) wai_holdings_vectors gen holdings_verify.py
access/ access-services (wai.access.services) wai_access_services_vectors gen access_services_verify.py
presentation/ ad-presentation (wai.live.ad_presentation) wai_ad_presentation_vectors gen ad_presentation_verify.py
age/ age-assurance (wai.age.assurance) wai_age_assurance_vectors gen age_assurance_verify.py
exploration/ exploration (wai.media.exploration) wai_exploration_vectors gen exploration_verify.py
cowatch/ co-watch (wai.live.cowatch) wai_co_watch_vectors gen co_watch_verify.py
worlds/ live-worlds (wai.live.world) wai_live_world_vectors gen live_worlds_verify.py
synthesis-mark/ synthesis §7.4 to §7.8 (the watermark scheme wai-mark:tent64) wai_synthesis_mark_vectors gen synthesis_mark_verify.py
upscale/ exact-upscale (wai.media.upscale) wai_upscale_vectors gen upscale_verify.py
dred/ opus-dred (wai.audio.opus.dred.int) wai_dred_vectors gen (with the draft's weights file, dred/fetch.sh) dred_verify.py
aggregate/ telemetry-aggregation (wai.telemetry.aggregate) wai_telemetry_aggregate_vectors gen telemetry_aggregate_verify.py
tonemap/ exact-tonemap (wai.media.tonemap, wai.meta.gainmap, wai.meta.st2094_50) wai_tonemap_vectors gen tonemap_verify.py
robustness/ robustness-evidence (wai.media.robustness) wai_robustness_vectors gen robustness_verify.py
splat/ splat-exact (wai.splat.exact) wai_splat_exact_vectors gen splat_exact_verify.py
loc/ loc-carriage (WAI envelopes on LOC objects) loc_vectors gen (a joule-moq example) loc_verify.py
avatar-face/ avatars §6 to §13 (wai.avatar.face) wai_avatar_face_vectors gen avatar_face_verify.py
termination/ stream-termination (wai.live.termination) and capability-constraints §4 (the display match) wai_stream_termination_vectors gen stream_termination_verify.py
keys/ key-release (the proxy form of wai.video.keys) wai_key_release_vectors gen key_release_verify.py
links/ live-contribution (wai.live.contribution) joule-moq-ingest-link-vectors --out (joule-moq-ingest) live_contribution_verify.py
remote/ remote-desktop (wai.live.remote) wai_remote_desktop_vectors gen remote_desktop_verify.py

Provenance. Generated here: each directory's corpus is written by its row's generator (gen, in wai/wai-rs), from records authored in code and from fixed seeds, and each directory's README says how. c2pa-live/ cuts its media from the packaging corpus's AV1 floor; contribution/ and influence/ generate their pictures with wai.generate.spectral and the model file of that capability's conformance vector (influence/ also with a second model file written from it); takedown/ carries the registry of clocks the repository publishes, registry/takedown-clocks.json, as written there; and upscale/ reads two priors that tools/wai_int_sr_train.py trained on pictures it generates (upscale/README.md). tonemap/ renders generated HDR scenes to its stills with the reference's own encoder, and tone-maps the frames of the int_video clip of the integer video corpus. robustness/ generates its pictures with the dead-leaves generator of synthesis_mark and with wai.generate.spectral, and measures the synthesis corpus's measurement sets, whose samples it does not hold. splat/ carries the learned cloud of wai-rs/tests/vectors/int_splat/ beside scenes authored as attribute bytes. joule_moq_e2ee_vectors gen (in joule-code/joule-code-rs/crates/joule-moq-mls) writes e2ee/vectors.json from fixed seeds, and e2ee/ also holds the test vectors RFC 9605 and draft-ietf-moq-secure-objects-01 publish, as printed (e2ee/README.md), and aggregate/vdaf-22/ the Prio3 test vectors of draft-irtf-cfrg-vdaf-22, as published at the commit that draft names (aggregate/README.md). dred/ names the weights file of draft-ietf-mlcodec-opus-dred-07 by its SHA-256 and holds no copy: its generator and its verifier read the file the draft names, which dred/fetch.sh fetches and checks. One recorded record: metering/relay-record.wmh and its ledger, which the reference relay signed in its test. avatar-face/ reads a generator, two identity priors and their keypoint tracks that tools/wai_avatar_face_train.py wrote from faces it generates (avatar-face/README.md).

Each verifier is written from its extension's text, shares no code with the reference (wai-rs, or for e2ee/, joule-moq and joule-moq-mls, and for links/, joule-moq-ingest), and is run by .github/workflows/wai-conformance.yml beside the reference's own check:

python3 live_events_verify.py events
python3 live_rooms_verify.py rooms
python3 capture_take_verify.py takes
python3 live_compose_verify.py compose
python3 live_record_verify.py recordings
python3 timed_text_verify.py captions
python3 access_services_verify.py access
python3 live_metering_verify.py metering
python3 energy_steering_verify.py steering
python3 live_moderation_verify.py moderation
python3 live_ads_verify.py ads
python3 ad_presentation_verify.py presentation
python3 e2ee_verify.py e2ee
python3 live_messaging_verify.py messaging
python3 live_watermark_verify.py watermark
python3 c2pa_live_verify.py c2pa-live
python3 synthesis_verify.py synthesis
python3 synthesis_mark_verify.py synthesis-mark
python3 upscale_verify.py upscale
python3 avatar_face_verify.py avatar-face
python3 ai_usage_verify.py usage
python3 contribution_verify.py contribution
python3 settlement_verify.py settlement
python3 stream_audit_verify.py audit
python3 native_sink_verify.py native-sink
python3 browser_sink_verify.py browser
python3 takedown_verify.py takedown
python3 co_performance_verify.py coperformance
python3 age_assurance_verify.py age
python3 influence_verify.py influence
python3 direction_verify.py direction
python3 exploration_verify.py exploration
python3 co_watch_verify.py cowatch
python3 dred_verify.py dred <weights-file>
python3 telemetry_aggregate_verify.py aggregate
python3 tonemap_verify.py tonemap
python3 robustness_verify.py robustness
python3 splat_exact_verify.py splat
python3 stream_termination_verify.py termination
python3 key_release_verify.py keys
python3 live_contribution_verify.py links
python3 remote_desktop_verify.py remote
python3 live_worlds_verify.py worlds