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]>
47 lines
5.2 KiB
Text
47 lines
5.2 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
|
|
0a92230eb175f84408a02f1c2f925a6863c95dfb3cb005fd916bdedbde6fb8c4 index-s.wsix
|
|
2d7010850ac114cb9d7a9543d756f5f157700b6697a7ecd0b98225f0d055ef69 index-v.wsix
|
|
1d2248350d482019fe49eece8b89b57b13c8beb664754e88745871469edb02c3 moq/catalog.json
|
|
bb89ba96bb18d949ae2792c214226a5af105bf8bc554149094c0c9015cd24ede objects/18bd741c063a7fe9d9a8f3ef6bc06def007159ecd72606de5231ee52a64ec6f2.wai
|
|
94b93ddb0cf32c43058d3ea6a5010373c51da54a1de57117481d8a5fc08901a5 objects/1e178f591d961e26558a7ecbd5a2fc2e0378d1bb4228b27d2adc79d0f54bfa92.wai
|
|
07e98fb9ef9ff3fa6bf04f9078da2a3d2423e586feea1061256131a1d1fbb943 objects/24761a434c91c627f11abd6265371966b50573602a200dd7bb04e0d90889326d.wai
|
|
4d583d03292b77f9d46b02f2c80a774b1cda1b07df38243d18fe586b82eaca60 objects/35c7a45323b7afe979c123fa885f35cc55fabd2a1954759aebe4b95dbc76361f.wai
|
|
29440ee40fc9e53780a0d45b42719575cd58dd97ebd140399e35e15e07c6edde objects/38a3f3776a7831ea9ed08e897c5ea71de1452c3fd21de64d6fbc15955d92d9c7.wai
|
|
855a82bed28c487827b8c5f83b8e53f952c826054beab8ed8334b95ff55127a5 objects/48bae8fbd2df6b8bbba37c9180f889efd1de13d9698898a62eb920101b2af7ca.wai
|
|
ae23b4b07e1b255cc0ad9e80b361d28fb8787fb9d61e7469c7e11f75e6843700 objects/4a6751f69041a0f60205f2f89d3e806671f22fafafdec30ea5e314be9892e087.wai
|
|
cfb71256ef44758ea279846a8938823994d321abce83ef73afd2ed269a8e0259 objects/618e0a89be8c7e556b380326b219c2f6fbfc5a0cb97754e871c1c23a99bdb481.wai
|
|
f3eedf9eb2870c0160801397412e7a4c3aca4a6e16f1a69a276e1356d38c9220 objects/61c7c3b7ccab07ed01df5b0d7ca0240598b914dbf2cabe545aa001e8de12d365.wai
|
|
9fdf29f5c9536d1f7701c791328d656ef725ba9b8cb3760bdb00f5a503c69338 objects/761c4649427c51796a2b699568775765b209ee80d2f4fc1cf040838c6724aa2d.wai
|
|
e9945c6517d04cebbbc82529c07df48de63dedf47becf76f809ffdaa87cb9157 objects/7ab5ea3cd8dbbe362416a6bfdaaa2a89a1555d1f76f10d9cff966cf10547bbd8.wai
|
|
a3135205d3139b39409d4e4e2aafed2c042797d293a9f9fc8664467165336e25 objects/7cc2b824ad6105abfccae27093190311b6a2348842e571684b021a213341b94a.wai
|
|
5e6a03eb2f256011c60f46025bbf97aa5681ba3d967cd1905d0af6e56c8b2854 objects/8dc3987353b52aa79a94375403a339e042f3b8127c4198296f7c74840b4c9e7a.wai
|
|
3c66c0b25b759cd1fe6245d282ba928441b873d62e4ac62c95260e45a80fff77 objects/8f748dc64787b5c5ece081270c8559277f926322dd6ddc345306b8231f2d1752.wai
|
|
48e6586f20bd970b75b00e57a78a6454684d3f5a92af494840459e6547bf018f objects/9c39f287cee37f9f277f6fad5091283bd61674af0b18d74c250cd6ceb8f8ebd1.wai
|
|
5af354df23d018062464492e20768941578a7d727cb901edf42902d92d5306b9 objects/a9e10cdef4a1cccc8629710153f897e2bba95c1710aeb7b81ff4514499076428.wai
|
|
b2a40a9a8cec3dcaf6c92a07d6765203c412c57ec879b7e33a52eabb2e74609d objects/c2ce1907255a041c388afd06ccd007436368e8d20467fdec2a1eebbb84b03bf2.wai
|
|
cdeddd7dc9d00ad0c6b6bb8617d61e33f57174fbca234f1d54d567846d8eaaba objects/d070641eedb32f354a4bd0f55a3740c01c779af6e7a2ae5d3d50166596b175f5.wai
|
|
271a29dc7027404f0b37fce635bb7faead0e36a3877848d5a4e7cd438ccca046 package.receipt.json
|
|
8128d1e1e3fd9ec4a2eb6acfe4fb235fc759c777fc3cf3d1a19417176478bbf4 plan-s.txt
|
|
517630d9bee1f5559baff3bb3e642f6aa7b5276226f6e3bdba4f3f9724794859 plan-v.txt
|
|
51ed0f16abfea6e993b97358fe08d86e2467d4e6189453dca3eaeb80cfd8d7cd policy.json
|
|
659be11302d9f6e4bee50e8ad968e2ec8627ddbc9251f0ebc55225f54350d921 policy.toml
|
|
f3b46445db6a09c75ff1fb3b89ef3270488ca5f9fe90a363efb65adddf954bfa stages/legacy.json
|
|
feac0eab09b063a809bc8359a21bd284d9bc63b259b02aef0cc17f3a3252bab7 stages/mobile.json
|
|
7dcd24698cb8da3cc3d1278c10e69426ee3597ce684fae8f3187b832ff62cc1a stages/tv.json
|