The change of wai/one-way-delivery (f1258784d..987625394, 28 commits), on the fix branch: its changelog entries as files of wai/changes/, its wai-conformance.yml edits as step files, corpus files and test tags, and every other file as the branch has it. - 25240c4f0 wai: timeliness — when each object of a group is of use, and whether each holder held it in time - c84992362 wai: timeliness_verify.py — the timeliness corpus's second implementation - 44036fcdc wai: timeliness in the registry, SPEC §5, the changelog and CI; http_receipts.py checks its claims - 27ce6754c wai: claim_verify.py lists not-held-by-deadline, and the claim corpus holds a session that switches for it - 73d8d8eb9 wai: timeliness corpus — each holder's own line in key order, a holder's earliest fallback, and §7.2–§7.3's unreached plan rules - 64c735f0c wai: the files timeliness changes are clippy-clean — a let chain, and the fetch callback's type allowed - b72dc36bf wai: rung price — what delivering a rung costs, by bearer and direction, and which option a comparer takes - 4e905e213 wai: rung_price_verify.py — the rung price corpus's second implementation - 711fa6126 wai: rung price in the registry, SPEC §5, the changelog and CI - 8ab70654e wai: rung price corpus — a refusal for every form rule 1 and §6.1 set, and the neighbour order a plan gives - 1bc465959 wai: rung price ranks energy by checked evidence — a class counts only on the seller's own per-hop records, current and under a confirmed key - 9e97997d9 wai: rung_price — the evidence text bound at its exact sizes, and a key confirmed for another class confirming nothing - 8f1168683 wai: rung price corpus — a key confirmed for another class, the uncertainty product, each edge and order of the evidence verdict, and the evidence a plan read - 7330e26ff wai: rung price — §6.1 links jwp-receipts at its first mention, and §10 says a record's age is its room's word - 12c099457 wai: cache authority — who served what a node holds, and on whose authority - f8f5d3e09 wai: cache_authority_verify.py — the cache authority corpus's second implementation - 354146619 wai: cache authority in the registry, SPEC §5, the changelog and CI; its corpus holds what §12 states - 55c7f3031 wai: timeliness §6 reads holdings records alone; cache-authority §9 derives the lines that read every kind - b8fc6f02b wai: cache authority's lines read records as timeliness does, its deadline claim meets the envelopes held, and its corpus fixes each order and instant - 91c5291cf wai: the files cache authority changes are clippy-clean — a boxed envelope, the base's names named once, slices borrowed - 8e479daff wai: a held envelope boxes both its forms, so neither outweighs the other - 3ec8da807 wai: impression aggregates — ad presentations counted over a bearer with no return path - 0433a35c3 wai: impression_aggregate_verify.py — the impression aggregates corpus's second implementation - 7d8e150e4 wai: impression aggregates in the registry, SPEC §5, the changelog and CI; its corpus states each receipt whole and a control for every malformed file - d5e8ace02 wai: impression aggregates' size bounds are checked at their edge, and §4.3's decides no outcome - 4bc8e13bd wai: impression aggregates' table totals are exact, and a receipt given twice is checked when either occurrence was - 3c9f20524 wai: key_log's two result enums keep their public form, and say so to clippy - 987625394 wai: Item::with_authority and Count::instance_received build only with the feature that calls each Co-Authored-By: Claude Opus 5.5 <[email protected]>
13 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 |
timeliness/ |
timeliness (wai.delivery.timeliness) |
wai_timeliness_vectors gen |
timeliness_verify.py |
prices/ |
rung-price (wai.delivery.rung_price) |
wai_rung_price_vectors gen |
rung_price_verify.py |
cache-authority/ |
cache-authority (wai.delivery.cache) |
wai_cache_authority_vectors gen |
cache_authority_verify.py |
impressions/ |
impression-aggregates (wai.delivery.impressions) |
wai_impression_aggregate_vectors gen |
impression_aggregate_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