- wai.live.contribution registered (registry.rs; REGISTRY.md, capabilities.json and v2.ttl regenerated); SPEC §5, CHANGELOG and live-ingest point to the extension. - joule-code-conformance runs joule-contrib with and without rist, joule-moq-ingest with rist, and checks the link corpus regenerates; wai-conformance runs live_contribution_verify.py over live-conformance/links and fires on the extension. - A RIST link's rate is bounded by its 16-bit sequence space: fewer than 32 768 packets within the buffer (§8), refused as bitrate_exceeded above it. - READMEs for joule-contrib and the link corpus. Co-Authored-By: Claude Opus 5.5 <[email protected]>
1.4 KiB
links — the contribution link record, WCL1
The corpus of live-contribution §6: parts of the link record a gateway signs while it receives an SRT or RIST link, and series of them.
vectors.jsonlists every vector: itskind(part, one file;series, several, in order), itsfiles, itsoutcomeand, for a refusal, itsreason(and, in a series,at, the index of the part refused), for an accepted part itsdigestand asummaryof its fields, and anoteon what it shows.hopis the signing key,hop_seedthe seed it is made from, so anyone can sign a new vector the same way.- Each
.wcl1file is one record's bytes.
Accepted vectors cover each protocol and mode, each key length, a session's last part with sequence numbers outstanding, a part whose loss runs are truncated, tracks not yet begun, and series of three parts, one with a track that begins in its second part. Each refused vector breaks one rule of §6.5 or §6.6 and keeps every other; every reason of §7's last list refuses at least one.
Written by joule-moq-ingest-link-vectors --out (crate joule-moq-ingest), from fixed seeds:
--check regenerates it and compares every byte. Read by the crate's tests/link_corpus.rs,
and by ../live_contribution_verify.py, written from the text alone:
python3 -I live-conformance/live_contribution_verify.py live-conformance/links # from wai/