open-standards/wai/live-conformance
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 4d0a6251fb wai conform sink: the native sink through the conformance runner, and wai verify --conformant admits a result only for a run that passed
conformance-results §4.1: a relying party that admits an implementation on a
conform-result/1 record requires the record accepted, its run passed (not_conformant), its
suite one whose corpus the party holds (suite_unknown), and its corpus digest that corpus's
(corpus_mismatch). wai verify --conformant [--root <wai-dir>] applies the rules against a
checkout; without it a record of a run that did not pass verifies as before. A sink kind:
wai conform sink --suite native-sink gives a sink each session of
live-conformance/native-sink/ with its answers withheld, and each configuration the corpus
states a session refuses; wai_native_sink_vectors answers [--c-abi] is the reference sink,
through its module or through the C interface the platform integrations link.

wai-breaking.yml's runner job runs the native sink both ways and the score decoder, each
record admitted against the checkout's corpus, and a planted sink that presents an object
whose digest does not match: its run must exit 1 with tampered-fragment failed, and
admission must refuse its record at rule 2. tests/cli_conform_sinks.rs holds the same, and
corpus_mismatch and suite_unknown; it has its [[test]] entry with its required features,
so check-tests-in-ci.py passes. The binaries are built with the test step's features, so
cargo reuses what that step built. The browser sink has no sink suite, and §7 says that
§4.1 has only this reference implementation, with no admission vectors.

The catalogue's receipt.verify (the new options, and the envelopes the pin-by-default commit
added) and conformance.run (the sink kind, the {case} placeholder) are exported again, and
Studio's actions regenerated from the export: actions.mjs --check had failed since that
commit. c_abi::take reads and frees no null buffer.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 12:29:01 -05:00
..
access wai.access.services: registry entry and export, SPEC §5, CHANGELOG, CI step, corpus README; timed-text's scope points to it 2026-10-21 12:27:36 -04:00
ads live-conformance/ads: a control for each other rule of the break receipt (format, work, figure without class, resolution floor, its own ceiling) 2026-10-20 08:47:53 -04:00
age age × co: the room's own service is not held to the serving rule 2026-10-22 07:08:25 -04:00
aggregate wai.telemetry.aggregate: QoE measures aggregated under DAP, signed statements and aggregate receipts 2026-10-22 03:03:40 -04:00
audit wai: an unnamed acknowledgement refused, the collector's port, the stitched form 2026-10-25 22:05:49 -04:00
avatar-face avatar-face corpus: the mask's table pinned by its digest and entries 2026-10-22 12:35:35 -04:00
bearers wai: bearer receipts corpus, second implementation, HTTP index step 6, registry, SPEC §5, CHANGELOG, CI step 2026-10-21 12:56:01 -04:00
browser wai: the energy order inside browser-sink's routing, gated on a sink-metered figure; no parallel budget 2026-10-26 08:31:35 -04:00
c2pa-live wai: live provenance text, CHANGELOG, SPEC §5 and the corpus README brought to the dynamic packaging and repository receipt work 2026-10-21 05:02:07 -04:00
captions wai: live-conformance/captions regenerated: every IMSC1 document carries ttp:profile 2026-10-17 11:32:42 -04:00
carousel wai: the carousel schedule — when each object passes on a bearer with no return path, and when a receiver holds it 2026-11-04 05:20:31 -05:00
channels wai: the corpus's SCTE-35 sections, five bytes of pts_adjustment 2026-10-29 17:35:12 -04:00
compose wai: stitched presentation — player-signed claims of stitched and interstitial ads, the signed pod-input record, ad frames in live-compose 2026-10-25 21:34:50 -04:00
contribution wai.media.contribution: a control for the second site of each check 2026-10-21 13:11:59 -04:00
coperformance co-performance: the commitment's magic is WPK1, not WPC1 (taken by ad-presentation) 2026-10-22 04:11:30 -04:00
cowatch wai.live.cowatch: registry entry and export, SPEC §5, CHANGELOG, corpus README and CI step 2026-10-22 03:16:48 -04:00
direction direction: measure probes exactly at each row and column bound 2026-10-21 16:07:53 -04:00
dred wai: register wai.audio.opus.dred and .dred.int; extension opus-dred, corpus, second implementation, CI 2026-10-22 04:34:29 -04:00
e2ee confidentiality.md: the commit and Add rules as built; the e2ee corpus's README and listing 2026-10-19 20:54:09 -04:00
ertmp joule-moq-ingest: a local encoder as the test client; STREAMINFO-only FLAC; empty coded frames 2026-10-25 22:57:53 -04:00
events live rooms: AI participants are marked in their grant, and chat and reactions state their origin 2026-10-21 05:17:43 -04:00
exploration exploration corpus: a generation whose orientation truncates toward zero, so a floored restatement of Appendix A fails 2026-10-21 13:55:42 -04:00
fleet wai.delivery.fleet: an organisation's nodes enrolled by their keys, their records verified, and a report signed for a period 2026-10-27 15:22:20 -04:00
holdings wai: holdings — which objects of which groups a node holds now, for its neighbours 2026-11-04 05:20:31 -05:00
influence wai: influence corpus README, independent Python verifier, and settlement_verify reads attribution lines 2026-10-21 20:04:39 -04:00
injection wai: cue-injection, SCTE 104 to SCTE 35 to signed cues, and injection_verify.py 2026-10-25 22:47:25 -04:00
keys wai: key release corpus, a grant of a licence never forwarded 2026-10-25 21:48:51 -04:00
ledger receipt-ledger: tariff version 6 prices an endpoint and a third party's usage, and bills an upscale and a tone mapping by what re-derives them 2026-11-02 22:40:02 -05:00
links live-contribution: the link record's magic is WLK1, no longer the clip record's WCL1 2026-11-04 05:19:53 -05:00
loc LOC corpus: the second-layer vector appends an SPS of layer 1, so only the base-layer rule refuses it 2026-10-22 10:51:18 -04:00
messaging live messaging: regenerate the corpus, a removed member's held-back message 2026-10-26 11:38:21 -04:00
metering receipt-ledger: bill what the work spends; live-metering: a receipt of version 2 prices bytes out 2026-10-31 10:34:57 -04:00
moderation wai.live.moderation: registry, SPEC §5, CI step and paths, corpus README, CHANGELOG, cross-references 2026-10-19 07:46:32 -04:00
native-sink wai conform sink: the native sink through the conformance runner, and wai verify --conformant admits a result only for a run that passed 2026-11-04 12:29:01 -05:00
opportunity wai: opportunity_report_verify.py, the opportunity report's second implementation 2026-10-29 18:19:39 -04:00
presentation wai ad-presentation: name RFC 9578's vector by its place, not a count 2026-10-21 12:28:47 -04:00
prior-forms wai: prior-forms corpus — README, independent Python verifier, and the NNC subset measured against an open implementation 2026-10-22 07:27:56 -04:00
recordings live-recording: a record with the link record's magic, WLK1, is not a clip record 2026-11-04 05:19:53 -05:00
remote live-conformance/remote: the sealed vectors, the opened level and the seal seeds, described 2026-10-26 10:49:59 -04:00
robustness wai.media.robustness: CI step, registry entry and export, SPEC §5, CHANGELOG, READMEs 2026-10-22 03:49:50 -04:00
rooms live rooms: AI participants are marked in their grant, and chat and reactions state their origin 2026-10-21 05:17:43 -04:00
routes route-record §6.2: every form and bound of the third-party hop record has its control 2026-11-02 08:03:16 -05:00
scene scene corpus: a transform operation the layer's order does not list is refused too 2026-10-22 10:39:41 -04:00
settlement wai: influence corpus README, independent Python verifier, and settlement_verify reads attribution lines 2026-10-21 20:04:39 -04:00
share wai: the revenue share (wai.delivery.revenue_share): share contract, statement, corpus 2026-10-29 17:00:45 -04:00
sink-energy sink-energy: the measured decode table of the 20-core Linux reference sink 2026-10-25 03:56:40 -04:00
splat wai: register wai.splat.exact — registry, wire identifiers, SPEC §5, CHANGELOG, the corpus README and the CI step 2026-10-22 03:33:47 -04:00
steering wai: steering's RFC 9651 parsers refuse a byte sequence that is not base64 2026-10-18 20:41:05 -04:00
stitched wai: stitched presentation — a verification states each record's ad region and share 2026-10-25 21:50:17 -04:00
synthesis wai: regenerate the synthesis and exact-upscale corpora and the registry export after the merge 2026-10-22 03:04:14 -04:00
synthesis-mark tent64s corpus: each detect vector states stage 2's trace 2026-10-21 20:55:47 -04:00
takedown takedown corpus: regenerated with the sink-samples claim 2026-10-22 04:46:17 -04:00
takes wai: capture-binding.md, its corpus README, registry, SPEC §5, CI and CHANGELOG 2026-10-17 04:38:35 -04:00
termination wai: stream termination — SPEC §5, CHANGELOG, conformance READMEs, CI steps 2026-10-22 13:47:44 -04:00
tonemap tonemap: digests of L2, E2 and tan over whole ranges in the corpus 2026-10-22 03:43:06 -04:00
upscale wai: regenerate the synthesis and exact-upscale corpora and the registry export after the merge 2026-10-22 03:04:14 -04:00
usage wai.ai.usage: changelog, the live-conformance directory description, and plain wording for the gate's window 2026-10-21 05:25:43 -04:00
watermark wai.live.watermark: the corpus, its second implementation, the CI step and the changelog 2026-10-20 08:40:15 -04:00
worlds wai.live.world: the independent verifier, and the text made exact where it read two ways 2026-10-25 23:17:33 -04:00
_int_motion_receipt.py receipt-ledger: media jobs under a tariff of version 2 2026-10-29 20:49:57 -04:00
_int_sr.py wai: exact upscale — integer super-resolution derivations, the upscale record, the presentation statement (work in progress) 2026-10-21 14:41:56 -04:00
_wai_mark.py tent64s corpus: each detect vector states stage 2's trace 2026-10-21 20:55:47 -04:00
access_services_verify.py access_services_verify.py: the access-services corpus's second implementation 2026-10-21 12:22:21 -04:00
ad_presentation_verify.py wai ad-presentation: name RFC 9578's vector by its place, not a count 2026-10-21 12:28:47 -04:00
age_assurance_verify.py age × co: the room's own service is not held to the serving rule 2026-10-22 07:08:25 -04:00
ai_usage_verify.py wai.ai.usage: the class in jwp-receipts, the room and HTTP and MoQ bindings, registry, CI and the second implementation 2026-10-21 05:23:29 -04:00
avatar_face_verify.py avatar-face corpus: the mask's table pinned by its digest and entries 2026-10-22 12:35:35 -04:00
bearer_verify.py wai: bearer receipts corpus, second implementation, HTTP index step 6, registry, SPEC §5, CHANGELOG, CI step 2026-10-21 12:56:01 -04:00
browser_sink_verify.py wai: the energy order inside browser-sink's routing, gated on a sink-metered figure; no parallel budget 2026-10-26 08:31:35 -04:00
c2pa_live_verify.py wai: live provenance, the update manifest's ingredient states the parent's validation results 2026-10-21 04:54:01 -04:00
capture_take_verify.py wai: live-conformance/takes from fixed seeds, capture_take_verify.py, and the rooms corpus with the recording policy's timing 2026-10-17 04:34:23 -04:00
carousel_verify.py wai: the carousel schedule — when each object passes on a bearer with no return path, and when a receiver holds it 2026-11-04 05:20:31 -05:00
channel_lineup_verify.py wai: one JSON carriage for the channel receipt, revenue-share §4.1's 2026-10-29 19:49:28 -04:00
co_performance_verify.py co-performance: the commitment's magic is WPK1, not WPC1 (taken by ad-presentation) 2026-10-22 04:11:30 -04:00
co_watch_verify.py co_watch_verify.py: the co-watch corpus's second implementation, written from the extension's text 2026-10-22 03:14:35 -04:00
contribution_verify.py wai.media.contribution: the corpus's second implementation, contribution_verify.py 2026-10-21 12:53:12 -04:00
direction_verify.py direction: the framing measure and the interpolations as corpus sections of their own 2026-10-21 16:04:21 -04:00
dred_verify.py wai: register wai.audio.opus.dred and .dred.int; extension opus-dred, corpus, second implementation, CI 2026-10-22 04:34:29 -04:00
e2ee_verify.py live-conformance/e2ee: every epoch's keys used; e2ee_verify.py, the corpus's second implementation 2026-10-19 20:53:06 -04:00
energy_steering_verify.py wai: steering's RFC 9651 parsers refuse a byte sequence that is not base64 2026-10-18 20:41:05 -04:00
ertmp_verify.py wai: register wai.live.injection; SPEC §5, CHANGELOG, the crate's README; CI 2026-10-25 23:02:04 -04:00
exploration_verify.py wai.media.exploration: descriptors, archives that replay, default-distance, collection statements, taste priors, rankings and picks (CO2, CO3) 2026-10-21 13:41:14 -04:00
fleet_verify.py fleet_verify.py: §10 names every reason the corpus raises 2026-10-27 16:09:41 -04:00
holdings_verify.py wai: holdings — which objects of which groups a node holds now, for its neighbours 2026-11-04 05:20:31 -05:00
influence_verify.py wai: influence — the report's checks in the order they run, and a reference with no terms checked against nothing 2026-10-21 20:15:44 -04:00
injection_verify.py wai: register wai.live.injection; SPEC §5, CHANGELOG, the crate's README; CI 2026-10-25 23:02:04 -04:00
key_release_verify.py wai: key_release_verify.py, the key-release corpus's second implementation 2026-10-25 21:33:10 -04:00
live_ads_verify.py wai: the ad-presentation extension, its corpus README and an independent verifier 2026-10-21 12:18:44 -04:00
live_compose_verify.py wai: stitched presentation — player-signed claims of stitched and interstitial ads, the signed pod-input record, ad frames in live-compose 2026-10-25 21:34:50 -04:00
live_contribution_verify.py live-contribution: the link record's magic is WLK1, no longer the clip record's WCL1 2026-11-04 05:19:53 -05:00
live_events_verify.py live rooms: AI participants are marked in their grant, and chat and reactions state their origin 2026-10-21 05:17:43 -04:00
live_messaging_verify.py live-messaging: the independent verifier, written from the extension's text 2026-10-26 10:48:48 -04:00
live_metering_verify.py receipt-ledger: bill what the work spends; live-metering: a receipt of version 2 prices bytes out 2026-10-31 10:34:57 -04:00
live_moderation_verify.py live_moderation_verify.py: the corpus's second implementation, from the extension's text 2026-10-19 07:43:27 -04:00
live_record_verify.py live-recording: a record with the link record's magic, WLK1, is not a clip record 2026-11-04 05:19:53 -05:00
live_rooms_verify.py live rooms: AI participants are marked in their grant, and chat and reactions state their origin 2026-10-21 05:17:43 -04:00
live_watermark_verify.py wai.live.watermark: the corpus, its second implementation, the CI step and the changelog 2026-10-20 08:40:15 -04:00
live_worlds_verify.py wai.live.world: the independent verifier, and the text made exact where it read two ways 2026-10-25 23:17:33 -04:00
loc_verify.py LOC carriage: WAI envelopes on LOC objects, a writer and reader in joule-moq, the corpus live-conformance/loc 2026-10-22 10:43:34 -04:00
native_sink_verify.py wai: the Swift package of the native sink, and a log that keeps its order 2026-10-25 22:55:08 -04:00
opportunity_report_verify.py opportunity_report_verify.py: every refusal of the corpus accounted for by §13, its reused codes or a delegated text 2026-10-29 18:45:03 -04:00
prior_forms_verify.py wai: prior-forms corpus — README, independent Python verifier, and the NNC subset measured against an open implementation 2026-10-22 07:27:56 -04:00
README.md wai: holdings — which objects of which groups a node holds now, for its neighbours 2026-11-04 05:20:31 -05:00
receipt_ledger_verify.py receipt-ledger: tariff version 6 prices an endpoint and a third party's usage, and bills an upscale and a tone mapping by what re-derives them 2026-11-02 22:40:02 -05:00
remote_desktop_verify.py wai.live.remote: key, text and clipboard actions sealed to the host; the commitment level and the opened level 2026-10-26 10:30:56 -04:00
revenue_share_verify.py wai: revenue_share_verify.py, the revenue share's second implementation 2026-10-29 17:08:53 -04:00
robustness_verify.py wai.media.robustness: robustness records anyone recomputes bit for bit, and claims held to them 2026-10-22 03:40:50 -04:00
route_record_verify.py route-record §6.2: every form and bound of the third-party hop record has its control 2026-11-02 08:03:16 -05:00
scene_verify.py wai: scene-carriage text, corpus README and independent Python verifier 2026-10-22 07:51:03 -04:00
settlement_verify.py wai: influence corpus README, independent Python verifier, and settlement_verify reads attribution lines 2026-10-21 20:04:39 -04:00
sink_energy_verify.py sink_energy_verify.py: the measured tables are required 2026-10-24 20:26:51 -04:00
splat_exact_verify.py splat-exact: the extension text, the draft schema, and corpus cases that separate every check 2026-10-22 03:22:48 -04:00
stitched_presentation_verify.py wai: stitched presentation — a verification states each record's ad region and share 2026-10-25 21:50:17 -04:00
stream_audit_verify.py wai: an unnamed acknowledgement refused, the collector's port, the stitched form 2026-10-25 22:05:49 -04:00
stream_termination_verify.py wai: the termination verifier remembers each signature it checked 2026-10-22 13:43:56 -04:00
synthesis_mark_verify.py synthesis_mark_verify.py: the tiled scheme's cases hold no exact-upscale prior 2026-10-22 06:48:35 -04:00
synthesis_verify.py Merge SPLAT #431 (wai.splat.exact) into train/wai-c 2026-10-22 07:44:15 -04:00
takedown_verify.py train: a takedown claim over a sink's samples adds nothing to the closure 2026-10-22 04:44:39 -04:00
telemetry_aggregate_verify.py telemetry_aggregate_verify.py: the aggregation corpus's second implementation 2026-10-22 03:13:23 -04:00
timed_text_verify.py wai: IMSC1 documents carry ttp:profile on tt (IMSC 1.0.1 §6.9) beside conformsToStandard 2026-10-17 11:32:11 -04:00
tonemap_verify.py tonemap: digests of L2, E2 and tan over whole ranges in the corpus 2026-10-22 03:43:06 -04:00
upscale_verify.py Merge origin/main into wai/exact-upscale (wai-mark:tent64, contribution, settlement, access, ad presentation, exploration, shared lists) 2026-10-22 03:02:57 -04:00

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