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
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]>
35 lines
3.6 KiB
Text
35 lines
3.6 KiB
Text
91b8aba2292191f2046eb841fe6fcb7b214826cecd9e06a3c193a68e7089e144 dash/classic.mpd
|
|
a3aa7658db9b85a9d9a1fed977825189f75c5adad0f5fdfcd70ebd604824c138 dash/mobile.mpd
|
|
3f520749a6d2f231cddfd17804ee3629439f3678515e424c44e36cff54d89de9 dash/tv.mpd
|
|
04c948608aaa7b5d78ad5355042a2ff65b0f75d9d4b1ad78f3ebffb886a74be6 floor/v/04c948608aaa7b5d78ad5355042a2ff65b0f75d9d4b1ad78f3ebffb886a74be6.m4s
|
|
06d5cd79ba3860cccdc252fe915de0902f941a3c6a000295714f7cab193aa6cf floor/v/06d5cd79ba3860cccdc252fe915de0902f941a3c6a000295714f7cab193aa6cf.m4s
|
|
2f93f0ad449f9cc881b7816c6ab33fd445037d6538b445bcc76431f9c9f91c5b floor/v/2f93f0ad449f9cc881b7816c6ab33fd445037d6538b445bcc76431f9c9f91c5b.m4s
|
|
420ae4c941bba6e12a6c7fdb7d01dc69170ecb4240dffd2e86808ddf87baa12a floor/v/420ae4c941bba6e12a6c7fdb7d01dc69170ecb4240dffd2e86808ddf87baa12a.m4s
|
|
99a24de04f7be9fc21097e69d2d61b222e458b1f93b8082026a9874aeb9f4c15 floor/v/99a24de04f7be9fc21097e69d2d61b222e458b1f93b8082026a9874aeb9f4c15.m4s
|
|
58c598174eed554cd0d1bc8abedca8c9d51d992c8e3b963bcb7574da4983ed9f floor/v/init.mp4
|
|
289bfcb09eb25124ac19597bc624371c34bea00aa1011ced9372d96b5e14b2bd hls/classic/floor-v.m3u8
|
|
3026d7f11005e34ff66298175777ee6806d649cf9d5c1467aaa4fb00ac5987e6 hls/classic/master.m3u8
|
|
3026d7f11005e34ff66298175777ee6806d649cf9d5c1467aaa4fb00ac5987e6 hls/legacy/master.m3u8
|
|
c5902f61ffaf77f940c4d3dc6e850340aaaeb3f433e4541f935c32443c50b341 hls/mobile/master.m3u8
|
|
c4044eca76959c9f87230484a2b207fb12c0bcaedb8d921eab806014fca53cb8 hls/mobile/wai-v.m3u8
|
|
60a6378f46afc9308dc4ac4d138602b16568577616ea0bf4526b142d86899151 hls/mobile/wai.m3u8
|
|
c5902f61ffaf77f940c4d3dc6e850340aaaeb3f433e4541f935c32443c50b341 hls/tv/master.m3u8
|
|
ff4edf2929e380d205c1c74156621185feec53d593ffa968b8dfaf0d05448bcd hls/tv/wai-v.m3u8
|
|
5d42147b308330913c3d9c8a868ca83ce4d3f3e460da8d84c84014eb24aaf9d7 hls/tv/wai.m3u8
|
|
1cfc2a0d1b54f1a6ec47ebec95de9bc1cba3a9df40dbc3868d684ffa1f33db8d index-v.wsix
|
|
16b667cd0b82323c8930c79a143c9ba9a3d7bf9be47eec0a0f3e797f658b7c78 moq/catalog.json
|
|
07e98fb9ef9ff3fa6bf04f9078da2a3d2423e586feea1061256131a1d1fbb943 objects/24761a434c91c627f11abd6265371966b50573602a200dd7bb04e0d90889326d.wai
|
|
4d583d03292b77f9d46b02f2c80a774b1cda1b07df38243d18fe586b82eaca60 objects/35c7a45323b7afe979c123fa885f35cc55fabd2a1954759aebe4b95dbc76361f.wai
|
|
cfb71256ef44758ea279846a8938823994d321abce83ef73afd2ed269a8e0259 objects/618e0a89be8c7e556b380326b219c2f6fbfc5a0cb97754e871c1c23a99bdb481.wai
|
|
f3eedf9eb2870c0160801397412e7a4c3aca4a6e16f1a69a276e1356d38c9220 objects/61c7c3b7ccab07ed01df5b0d7ca0240598b914dbf2cabe545aa001e8de12d365.wai
|
|
9fdf29f5c9536d1f7701c791328d656ef725ba9b8cb3760bdb00f5a503c69338 objects/761c4649427c51796a2b699568775765b209ee80d2f4fc1cf040838c6724aa2d.wai
|
|
a3135205d3139b39409d4e4e2aafed2c042797d293a9f9fc8664467165336e25 objects/7cc2b824ad6105abfccae27093190311b6a2348842e571684b021a213341b94a.wai
|
|
3c66c0b25b759cd1fe6245d282ba928441b873d62e4ac62c95260e45a80fff77 objects/8f748dc64787b5c5ece081270c8559277f926322dd6ddc345306b8231f2d1752.wai
|
|
b2a40a9a8cec3dcaf6c92a07d6765203c412c57ec879b7e33a52eabb2e74609d objects/c2ce1907255a041c388afd06ccd007436368e8d20467fdec2a1eebbb84b03bf2.wai
|
|
525299655740d52443a7dc6fe458b919d6dccff5839f558af9613ba033126f4f package.receipt.json
|
|
517630d9bee1f5559baff3bb3e642f6aa7b5276226f6e3bdba4f3f9724794859 plan-v.txt
|
|
3b3d12c696539b1fe8099ec0dc611b9d0c3c8a1451c874c1db32d5a1b395e29d policy.json
|
|
5c346838b58b5ec1f2b63df839cfb8c2f614ca6f793195313048db69a313e27d policy.toml
|
|
0883e453d1e03e220182e479b88e0a8b89e9db77e1c51ed913cb13644a19b6d6 stages/legacy.json
|
|
45076638940f5e4c9990a2c9e49654ab574567ca71df2fbecc3fe967659ea022 stages/mobile.json
|
|
5d4a3354c58daf39fdb64b24f2b6400ac135ccaf1e2c6a2e480675a828843cd5 stages/tv.json
|