open-standards/wai/wai-web/compose/package
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 36f4842a0f
Some checks failed
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 29s
wai-sink-android native sink library / does this change touch it (push) Successful in 32s
wai-sink-swift native sink package / does this change touch it (push) Successful in 34s
wai-quantum for JavaScript / does this change touch it (push) Successful in 34s
wai-fleet service / does this change touch it (push) Successful in 34s
wai-app and Create / wai-app · does this change touch it (push) Successful in 1m29s
wai-quantum studio and desktop / does this change touch it (push) Successful in 1m18s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 1m30s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 1m31s
wai-audit collector and player integration / does this change touch it (push) Successful in 1m20s
WAI operation catalogue / does this change touch it (push) Successful in 1m22s
wai-ledger service / does this change touch it (push) Successful in 1m22s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 13s
WAI Studio / does this change touch it (push) Successful in 2m19s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 3m24s
wai-fleet service / service · linux (push) Successful in 2m46s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 42s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 7m2s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 5m31s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 6m27s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 8m14s
wai-quantum for JavaScript / javascript · linux (push) Successful in 5m37s
wai-audit collector and player integration / collector · linux (push) Successful in 3m29s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Failing after 10m5s
joule-moq-room room service / joule-moq-room, every target (push) Successful in 10m3s
wai-ledger service / service · linux (push) Successful in 3m20s
wai-quantum studio and desktop / studio · browser (push) Successful in 7m58s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 2m54s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 10m7s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m39s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 50s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 13m15s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 11m31s
wai-fleet service / service · macos (push) Successful in 58s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 5m11s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 1m2s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m5s
wai release binaries build on Windows / the seven release binaries · windows (push) Successful in 17m41s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 9m4s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 3m35s
wai-ledger service / service · macos (push) Successful in 1m8s
WAI Studio / Studio in WebKit · linux (push) Successful in 21m29s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 13m3s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 18m13s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 9m57s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 12m33s
Every MoQ catalog we write is MSF's, wai-link is defined, and the catalog check holds MSF's own rules
The deviations from MSF that draft-charlot-moq-wai-packaging-01 listed, and two more the
extended check found, fixed in every writer:

- version: each writer wrote MSF's root version as the number 1; MSF §5.1.1 requires a
  string, "draft-01" for draft-ietf-moq-msf-01, which wai-pack, joule-moq-ingest,
  joule-moq-remote, joule-moq-interop and joule-moq-web now write. No reader compared it.
  The readers of a room's catalogs (the room page, catalogVersionKnown; the gateway's WHEP
  session, catalog::version_known) now refuse a version they do not know (MSF §5.1.1),
  reading "draft-01" and the number 1, which the room deployed at
  wai.transaction.science/room/ (live since 2026-10-19) writes until it is deployed again;
  the interop subscriber requires "draft-01", which its own publisher writes.
- the packager's cmaf floor tracks: isLive false and initRef (the floor name), with the
  floor's initialization segment inline in initDataList (CMSF §3.1, the field name of
  draft-ietf-moq-cmsf-01), after tracks (MSF §5.1.7): moq/catalog.json is RFC 8785
  canonical but for that member, written last (packaging §8.4). FloorView carries the
  init segment's bytes; pack_verify.py writes the same catalog independently;
  catalogs/expected.json names each case's floor by its sequence header OBU and
  timescale, from which both write the init segment.
- event timelines: the room page and the remote host wrote "mimetype" for MSF's mimeType,
  and no depends (MSF §8.2); they write mimeType and depends [] (the events track is the
  only track of its namespace, and MSF §5.2.14 names dependencies in the declaring
  track's namespace). live-events §8.1 says so.
- wai-link: the contribution gateway's link track carries WLK1 link records, signed,
  chained and verified by live_contribution_verify.py: neither envelopes ("wai") nor JSON
  events ("eventtimeline"), and read by a subscriber that verifies a room's tracks. A real
  interop surface, so it is defined rather than mapped: live-contribution §5.4 defines
  it, moq-streaming-format §3 names it, the registry lists it as a catalog wire
  identifier (export regenerated), and the -01 draft defines it in a new §9 (IANA table,
  required fields, correspondence). The gateway writes it as before.

The corpus is regenerated by `wai-pack conformance regen` (pack-conformance/ and the
composed package of wai-web/compose); each other writer's test holds a committed sample
(joule-moq-ingest/tests/catalogs/{whip,contribution}.json,
joule-moq-remote/tests/catalogs/host.json, joule-moq-interop/tests/catalogs/wai-receipts.json,
joule-moq-web/e2e/catalogs/room.json), written by its JOULE_MOQ_*_WRITE_CATALOGS=1 run. The
room page's catalog moves into web/room/catalog.js, tested by catalog.test.mjs with the
page's other unit tests.

wai/ietf/catalog_check.py reads every writer's catalogs and, under --strict, holds MSF's
and CMSF's own rules: the version string, a name and isLive on every track, an MSF field
in another case, an event timeline's eventType, mimeType and depends, eventType elsewhere,
a cmaf track's initRef naming an inline initDataList entry that follows tracks; wai-link
tracks are held to the draft's §9. The repository checks run it with --strict. 23
catalogs of 6 writers pass with no note; the self-test plants 43 faults (a numeric
version, a cmaf track without isLive, mimetype and an undefined packaging value among
them) and catches each.

The draft stays -01 (the wire meaning of "wai" is unchanged): Implementation Status says
the deviations are fixed. xml2rfc 3.35.0 renders it with no warning; idnits 2.17.1: 0
errors, 0 flaws, 1 warning (no first-submission date on the datatracker).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-10 14:05:27 -05:00
..
dash wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
floor/v wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
hls wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
moq Every MoQ catalog we write is MSF's, wai-link is defined, and the catalog check holds MSF's own rules 2026-11-10 14:05:27 -05:00
objects wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
stages wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
index-f.wsix wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
index-g.wsix wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
index-s.wsix wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
index-t.wsix wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
index-v.wsix wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
LISTING Every MoQ catalog we write is MSF's, wai-link is defined, and the catalog check holds MSF's own rules 2026-11-10 14:05:27 -05:00
package.receipt.json wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
plan-f.txt wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
plan-g.txt wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
plan-s.txt wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
plan-t.txt wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
plan-v.txt wai-pack: packages of several components, and the composing sink's package packed by it 2026-11-09 12:58:33 -05:00
policy.json wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00
policy.toml wai.audio.score: band-limited timbres, a sine and noise, a voice per note, and two channels 2026-11-09 14:21:46 -05:00