open-standards/joule-code/joule-code-rs/crates/joule-moq/tests
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science af4b1529f7
All checks were successful
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 23s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 28s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 19s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 38s
WAI Studio / does this change touch it (push) Successful in 16s
wai-app and Create / wai-app · does this change touch it (push) Successful in 57s
wai-fleet service / does this change touch it (push) Successful in 59s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 24s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 5m34s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 53s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 2m12s
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Successful in 3m2s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 4m19s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 2m9s
wai-fleet service / service · linux (push) Successful in 2m34s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 7m36s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 9m46s
wai release binaries build on Windows / the seven release binaries · windows (push) Successful in 20m23s
joule-moq-room room service / joule-moq-room, every target (push) Successful in 8m53s
WAI Studio / Studio in WebKit · linux (push) Successful in 14m30s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 54s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 6m13s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 52s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 1m0s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 8m6s
wai-fleet service / service · macos (push) Successful in 42s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 10m29s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 16m23s
Relay robustness: denial-of-service limits, HopTime and Sync Support, the DVR store as MoQ files, a load harness with a signed record, and a switch through the relay
The relay is held to draft-englishm-moq-relay-dos-02 consideration by consideration (the
README's table, which also says what is not bounded). New limits: the sessions refused at
SETUP that are held open, in all and by address, the oldest shed first; subscriptions,
published tracks and namespaces a session; requests a second a session, refused
EXCESSIVE_LOAD with a Retry Interval.

What the MoQ timing package left unwired:
- the relay rewrites TEMPO's HopTime as it forwards, for a subscription that carried the
  draft's Sync Support parameter, negotiated by a Setup Option at -23 and -22 (-18 and -16
  carry none; `stamp = "always"` covers them). The draft's code points are unassigned: the
  placeholders are in joule_moq::tempo alone, and [tempo] sets the three property types;
- joule-moq-room's tempo gains a Stamper and a Receiver, and a test publishes stamped
  objects on a session and holds each to the room at a subscriber through the relay;
- the DVR store writes its window as .moq and .dat files, read back and verified against
  the receipts from the files alone, agreeing with a FETCH byte for byte.

A load harness to draft-evens-moq-bench-00's method (joule_moq_relay::bench,
examples/relay_bench.rs): profiles, the draft's messages and metrics, and a signed, dated
measurement record of the host that ran it, used as a regression guard with stated
tolerances; it compares a host only with itself. A subscriber is switched between two
renditions through the relay by joule-moq's switching plan: every frame once, on a Group
boundary.

Planted faults, each caught: a flood of refused SETUPs (and, with the bounds removed, all
held); a session past each count and past its rate (and, with the limit removed, served); a
switch mid-group; timing claims off the instant, past the bound and outside Immutable
Properties; a data file and a .moq file cut short, a data file outside its directory, a
changed payload; a record changed after signing and a run claimed for another host.

Left: the rewind subscription filter (draft-duke-moq-subscribe-rewind-02), probe tracks at
the relay (the library is in joule-moq), TOO_FAR_BEHIND, FEC tracks and V3C publishing.

Co-Authored-By: Claude <[email protected]>
2026-11-10 23:31:46 -05:00
..
catalogs Four MoQ drafts mapped onto what WAI has: playout timing, the FEC catalog binding, MoQ files and V3C tracks 2026-11-10 18:34:23 -05:00
vectors The relay reads the client's SETUP first (Privacy Pass auth -04), and what the draft-23 package left 2026-11-10 17:22:02 -05:00
adaptation_vectors.rs Track switching and probe tracks as library modules of joule-moq, each with a corpus and a second implementation 2026-11-10 23:31:32 -05:00
draft16_vectors.rs joule-moq: -18 and -16 vector corpora with independent decoders; docs for three drafts 2026-10-21 05:48:23 -04:00
draft18_vectors.rs joule-moq: -18 and -16 vector corpora with independent decoders; docs for three drafts 2026-10-21 05:48:23 -04:00
draft22_roundtrip.rs Relay robustness: denial-of-service limits, HopTime and Sync Support, the DVR store as MoQ files, a load harness with a signed record, and a switch through the relay 2026-11-10 23:31:46 -05:00
draft22_vectors.rs joule-moq: clippy's style notes on the draft-22 code 2026-10-16 10:22:34 -04:00
draft23_vectors.rs The relay reads the client's SETUP first (Privacy Pass auth -04), and what the draft-23 package left 2026-11-10 17:22:02 -05:00
loc_vectors.rs 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
oneway_vectors.rs Four MoQ drafts mapped onto what WAI has: playout timing, the FEC catalog binding, MoQ files and V3C tracks 2026-11-10 18:34:23 -05:00
rating_vectors.rs joule-moq rating vectors test: is_multiple_of, as clippy asks 2026-10-22 07:56:41 -04:00
secure_objects_vectors.rs joule-moq: the draft's AAD head checked in its encryption vectors 2026-10-19 20:26:47 -04:00
staged_moq_trace.rs MOQT draft-23 in joule-moq, its relay, the interop client, the ingest gateway and the browser 2026-11-10 16:00:27 -05:00
wai_jwp_corpus.rs Receipts in WAI's binary form (jwp-receipts §2.7) on the receipts track, replacing JSON 2026-10-18 14:43:44 -04:00