open-standards/wai/live-conformance/README.md
Transaction Science beb4679dc6 Merge #493 (wai/messaging-calls @01f3aac1): wai.live.message and wai.live.call, conversations and calls on live rooms
Merged last, as asked. Conflicts, all adjacent additions, both sides kept:
- joule-moq-room: Cargo.toml's wai features (live_world, remote_desktop and
  live_messaging); lib.rs's modules (messaging, msgstore, remote), Config's
  remote, messaging and call, Service's remote, messaging and calls, the epoch
  through remote::epoch with the conversation and calls opened beside it, and
  settings()'s refusals (#482's world room, #493's conversation and call); the
  README's world, conversation and call sections.
- joule-moq-web: app.js asks a remote room's grant as #489 does and takes a
  given grant as #493 does (a remote page's fallback to viewer only when it
  asked); run.sh runs room.e2e.mjs (now with --remote) and messaging.e2e.mjs,
  each its own --only scenarios; the usage names every scenario.
- workflows: joule-moq-room.yml's and joule-moq-web.yml's accounts;
  wai-conformance.yml's WAI_FEATURES gains live_messaging (#477's union) and
  the first step's test build names live_messaging beside the train's targets.
- wai-live-web's wai features (stream_termination, live_world, live_messaging),
  wai-rs lib.rs's modules, registry.rs's capability list, REGISTRY.md's rows;
  CHANGELOG, #493's entry on top.
- capabilities.json and v2.ttl regenerated (registry export, then --check).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 12:23:34 -04: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
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