| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 31s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 18s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Has started running
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Has started running
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Has started running
wai-audit collector and player integration / does this change touch it (push) Successful in 36s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 1m25s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Waiting to run
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Waiting to run
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 2m3s
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 2m13s
wai-app and Create / wai-app · does this change touch it (push) Successful in 1m48s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 1m49s
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Waiting to run
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Waiting to run
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Waiting to run
WAI Studio / does this change touch it (push) Successful in 13s
WAI Studio / Studio in Chromium and Firefox · macos (push) Waiting to run
joule-code conformance gate / joule-moq-relay, every target (push) Has started running
joule-code conformance gate / joule-moq-ingest, every target (push) Has started running
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 38s
wai-fleet service / does this change touch it (push) Successful in 2m32s
wai-quantum studio and desktop / does this change touch it (push) Successful in 2m20s
wai-fleet service / service · macos (push) Waiting to run
wai-quantum studio and desktop / desktop app · macos (push) Waiting to run
wai-ledger service / does this change touch it (push) Successful in 2m25s
wai-quantum studio and desktop / desktop app · windows (push) Waiting to run
wai-key-proxy / does this change touch it (push) Successful in 2m27s
wai-ledger service / service · macos (push) Waiting to run
WAI Studio / Studio in WebKit · linux (push) Has started running
wai-quantum for JavaScript / does this change touch it (push) Successful in 2m23s
wai-sink-swift native sink package / does this change touch it (push) Successful in 1m59s
wai-sink-android native sink library / does this change touch it (push) Successful in 2m1s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Waiting to run
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Waiting to run
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Waiting to run
WAI operation catalogue / does this change touch it (push) Successful in 2m38s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Has started running
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m49s
wai-fleet service / service · linux (push) Has started running
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 3m59s
wai-quantum studio and desktop / studio · browser (push) Has started running
wai-quantum studio and desktop / desktop app · linux (push) Has started running
wai-audit collector and player integration / collector · linux (push) Successful in 3m37s
wai-quantum for JavaScript / javascript · linux (push) Has started running
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 6m36s
WAI operation catalogue / the catalogue and every door · linux (push) Has started running
wai-key-proxy / proxy · linux (push) Failing after 1m8s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Has started running
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has started running
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 7m4s
wai-ledger service / service · linux (push) Successful in 2m22s
joule-moq-room room service / joule-moq-room, every target (push) Has started running
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Has started running
wai-quantum energy-landscape jobs / the same bits · macos (push) Has started running
A group's receipts are signed over all its objects, so a publisher that signs a group when it ends had the group's first part served only then (measured on the Framework: median 1413 ms, against 1 ms with the receipts before the group). live-http-egress §3.5, new, lets such a publisher sign a running receipt for each object as it sends it: the object's content hash, its leaf in the group's tree, the root before it and the root through it. It is not a new signature format and not a receipt kind: it is the payload (WRR1) of a signed meta event of live-events, anchored to the object, on the owner's events track. No track, catalog member, token scope or core text is added, and every existing receipt and digest is unchanged (decision D16, which supersedes D7's "no receipt over part of a group"). An egress holds an object once its group's run covers it and its bytes hash to what the run states, and serves the part beside the run (<part>.running). A running receipt that skips an object, does not continue the run, states a wrong root or restates an object breaks the run, and the group falls back to its receipts. The group's receipts close the run and must agree with it; receipts that contradict it are refused, the parts already held stay, and the group is reported. A trace with a part served that its run does not cover is refused (served_uncovered). wai-rs: live_egress::running, Egress::with_room and Egress::running; the corpus gains ten traces and four fault cases (87 cases in all), and http_egress_verify.py, which takes an event's record and signature from the live-events second implementation, fails all 52 mutated copies and has each of its 85 checks caught when dropped. joule-moq-http subscribes to the owner's events track, gives running receipts to the egress, and, given the room's ad policy (held to the room authority's signature) and the room clock's origin, holds the owner's events to the room's rules and writes the room's breaks into the playlists and the MPD as live-ads renders them, with no caller setting them; a cue signed by another key and a cue the schedule refuses are not written through. Its test publisher signs running receipts; the room service does not yet. Measured on the Framework (Linux x86_64) over loopback on 2026-11-11, sent to served, parts of 200 ms: receipts before each group, median 1 ms; at each group's end, 1413 ms; at each group's end with running receipts, 12 to 14 ms over seven runs. Co-Authored-By: Claude Fable 5.2 <[email protected]> |
||
| .. | ||
| README.md | ||
| vectors.json | ||
live-conformance/http-egress — a live HTTP egress's traces
The corpus of extensions/live-http-egress.md §12, in
one file, vectors.json.
Provenance. Generated here by wai_live_egress_vectors gen (wai-rs, feature
live_egress), from an Ed25519 key on a fixed 32-byte seed (0x17 thirty-two times; one case
signs a group with another, 0x71 thirty-two times, and one a running receipt), a constant clock, and synthetic CMAF: headers
and chunks that hold the boxes an egress reads (§3.1) and a few payload bytes written by the
generator. No media and no input from outside this repository; nothing in it decodes.
tracesare the base traces by name, each in §10.1's form: a room's video (12,800 ticks a second, five objects of 200 ms to a group) and audio (48,000, the same cut), what arrived of them, and a client's requests with what the reference egress answered.casesname a trace, or abaseand theeditsthat plant a fault in it (§12), andexpect:ok, or the reason of §11 a checker refuses it with. A case with nobasealso stateswithheld, each object the egress withheld with its reason of §3.3, andreanchored, how often a receipt chain was anchored again; and, where its trace takes running receipts (it has aroom),running_refused, each running receipt refused with its reason of §3.5.
The base traces plant what a room can send: receipts after their objects, a changed byte, a proof that does not reach its root, receipts missing, signed by another key and unreadable, a skipped group, a missing object, a group that does not start at a sync sample, one that starts early, an object that is not CMAF, a long part, a long group, a short group (off the grid), unlinked receipts, and a room's breaks; and, for a publisher that signs running receipts (§3.5), a run that serves each part as it arrives, receipts that contradict their run, a running receipt that skips an object, one of another group, one that continues another group's leaves, a wrong root, an object stated twice, records that are not the owner's word about the track, a changed byte, and a group whose receipts never come. The fault cases plant what an egress can do wrong: a part listed before it was held, a blocking reload answered early, a withheld object served and listed, a part served before its receipts, a part served that its group's run does not cover, a segment sent ahead and ended while open, and changed playlists, MPDs, bytes and sidecars.
Eleven traces carry a track of WAI envelopes (§4.4) beside the sound: small WAI1 envelopes
the generator writes, of capabilities whose payloads are a few bytes and decode to nothing. One
is served as Mode F; the others plant an envelope changed after signing, half an envelope, a
capability the catalog does not list, another media class, two objects in a group, a track that
states no time (alone and beside a served one), a frame stream and a layer track. Their fault
cases plant a sample that is not the held envelope, an mdat with more than it, and a header,
a playlist and an MPD that are not the state's.
cargo run --no-default-features --features live_egress --bin wai_live_egress_vectors -- verify live-conformance/http-egress
python3 -I live-conformance/http_egress_verify.py live-conformance/http-egress