wai: the carousel schedule — when each object passes on a bearer with no return path, and when a receiver holds it #592

Closed
dcharlot wants to merge 5 commits from wai/carousel-schedule into main
Owner

Stacked on #589 (wai identify): both change the CHANGELOG head and the same lines of the conformance workflow, so this branch carries #589's commit and merges after it. Until #589 lands, the diff here shows both commits; this PR's own commit is the last one.

On a bearer with no return path (broadcast, satellite, one-way multicast), a receiver can't ask for what it missed. It holds an object only if the passes it heard carried enough encoding symbols. WAI could declare such a transmission (bearer-receipts) and reconcile it afterwards, but it had no signed statement of the plan in between: when each object passes, and with what forward error correction. Without one, a one-way bearer can't promise a deadline that anyone can check, and a receiver can't plan when to listen.

This adds wai.bearer.carousel (extensions/carousel.md) with the jwp-receipts claim class schedule (§2.4.16).

The claim

  • What it is: a publisher's signed plan, beside the group receipt and the instance's transmission claim, naming the group by its link hash.
  • What each object's entry states:
    • its code: RaptorQ (RFC 6330 with its verified erratum 5548) or Compact No-Code (RFC 5445);
    • that code's object transmission information;
    • the repair symbols each pass adds;
    • whether later passes repeat their ESIs or send new ones;
    • the first pass's instant, the period, the duration and the count of passes.
  • Step 4 holds each code's parameters to its bounds:
    • F up to 942,574,504,275;
    • T a multiple of Al, Z from 1 to 255, and N up to T/Al;
    • at most 56,403 source symbols per block, with RFC 6330's Partition[];
    • RFC 5052 §9.1 blocking within RFC 5445's 16-bit fields;
    • ESIs within their fields, passes that don't overlap, and at most 2^53 − 1 octets sent.
  • Step 6 checks each entry against the group: subject, signer, range, first pass not before group_start, content hash, and length where the bytes are held.

What a verifier derives

  • The pass after which an object is held, for a loss bound in parts per million. The answer holds for every pattern of loss within the bound.
    • A RaptorQ block counts as held at K′ + h distinct symbols, the count RFC 6330 §5.8 states its 10⁻² / 10⁻⁴ / 10⁻⁶ decoding-failure bounds at.
    • A symbol that a repeating pass missed is counted as missed again, so repeat and Compact No-Code never count on a second pass.
    • This is the deadline a one-way bearer can promise, checked with no receiver.
  • Statements that an object or a whole group is held by an instant: holds, availability_after_deadline, availability_not_within_schedule or object_not_scheduled.
  • Schedules set aside when they contradict each other, or when their instance is undeclared or two-way.
  • A receiver's listening plan: the passes that add symbols it is certain to keep, when it holds the object, and how long its radio must be on.

How it is checked

  • Corpus (live-conformance/carousel/):
    • 33 verdict cases;
    • 50 claim cases, covering every reachable bound of both codes, both met and passed;
    • 16 plans.
  • tests/carousel.rs, against an independent RFC 6330 implementation (the Apache-2.0 raptorq crate, added as a dev-dependency only):
    • K′ and Partition[] agree for every block size from 1 to 56,403;
    • every RaptorQ object a case holds available decodes from what a receiver within the case's loss bound holds by the end of that pass. In each pass the first ⌊L·m/10⁶⌋ symbols of each block are dropped, which in the first pass are source symbols, so the decoder must really decode.
  • Second implementation: carousel_verify.py, written from the text.
    • It agrees on all 99 cases.
    • It catches 10 of 10 mutated copies of the corpus.
    • All 14 versions of it with one check removed are caught by the corpus.
  • Claims: claim_verify.py carousel agrees with wai-rs on all 134 claims through steps 1–4. Its own corpus (636 vectors) and the bearer corpus (72 claims) still pass.
  • Independent expectations: the corpus states its expected passes by hand and computes the octets sent by a different formula from the module's, never copying either from the module.
  • HTTP delivery: a receipt index now checks a schedule claim against its group and listed objects, instead of accepting it after step 5. The rule is in http-delivery's text, in wai-rs and in http_receipts.py. The HTTP corpus has no schedule claim yet, so that branch is exercised only by compiling it.

Breaking

New variants in ClaimClass, ClaimBody and Reason; each is named in CHANGELOG.

🤖 Generated with Claude Code


Closed: Main moved under it: its CHANGELOG head now conflicts (the tariff version 6 entry of #591), and force-push is refused. Its commits, with those of #592 and #595 stacked on it, go linearly onto current main in one replacement pull request, with the conflict resolved and every check re-run there.

**Stacked on #589** (`wai identify`): both change the CHANGELOG head and the same lines of the conformance workflow, so this branch carries #589's commit and merges after it. Until #589 lands, the diff here shows both commits; this PR's own commit is the last one. On a bearer with no return path (broadcast, satellite, one-way multicast), a receiver can't ask for what it missed. It holds an object only if the passes it heard carried enough encoding symbols. WAI could declare such a transmission (bearer-receipts) and reconcile it afterwards, but it had no signed statement of the plan in between: when each object passes, and with what forward error correction. Without one, a one-way bearer can't promise a deadline that anyone can check, and a receiver can't plan when to listen. This adds `wai.bearer.carousel` (extensions/carousel.md) with the jwp-receipts claim class `schedule` (§2.4.16). ## The claim - **What it is:** a publisher's signed plan, beside the group receipt and the instance's transmission claim, naming the group by its link hash. - **What each object's entry states:** - its code: RaptorQ (RFC 6330 with its verified erratum 5548) or Compact No-Code (RFC 5445); - that code's object transmission information; - the repair symbols each pass adds; - whether later passes repeat their ESIs or send new ones; - the first pass's instant, the period, the duration and the count of passes. - **Step 4** holds each code's parameters to its bounds: - F up to 942,574,504,275; - T a multiple of Al, Z from 1 to 255, and N up to T/Al; - at most 56,403 source symbols per block, with RFC 6330's Partition[]; - RFC 5052 §9.1 blocking within RFC 5445's 16-bit fields; - ESIs within their fields, passes that don't overlap, and at most 2^53 − 1 octets sent. - **Step 6** checks each entry against the group: subject, signer, range, first pass not before `group_start`, content hash, and length where the bytes are held. ## What a verifier derives - **The pass after which an object is held,** for a loss bound in parts per million. The answer holds for every pattern of loss within the bound. - A RaptorQ block counts as held at K′ + h distinct symbols, the count RFC 6330 §5.8 states its 10⁻² / 10⁻⁴ / 10⁻⁶ decoding-failure bounds at. - A symbol that a repeating pass missed is counted as missed again, so `repeat` and Compact No-Code never count on a second pass. - This is the deadline a one-way bearer can promise, checked with no receiver. - **Statements** that an object or a whole group is held by an instant: holds, `availability_after_deadline`, `availability_not_within_schedule` or `object_not_scheduled`. - **Schedules set aside** when they contradict each other, or when their instance is undeclared or two-way. - **A receiver's listening plan:** the passes that add symbols it is certain to keep, when it holds the object, and how long its radio must be on. ## How it is checked - **Corpus** (`live-conformance/carousel/`): - 33 verdict cases; - 50 claim cases, covering every reachable bound of both codes, both met and passed; - 16 plans. - **`tests/carousel.rs`**, against an independent RFC 6330 implementation (the Apache-2.0 `raptorq` crate, added as a dev-dependency only): - K′ and Partition[] agree for every block size from 1 to 56,403; - every RaptorQ object a case holds available decodes from what a receiver within the case's loss bound holds by the end of that pass. In each pass the first ⌊L·m/10⁶⌋ symbols of each block are dropped, which in the first pass are source symbols, so the decoder must really decode. - **Second implementation:** `carousel_verify.py`, written from the text. - It agrees on all 99 cases. - It catches 10 of 10 mutated copies of the corpus. - All 14 versions of it with one check removed are caught by the corpus. - **Claims:** `claim_verify.py carousel` agrees with wai-rs on all 134 claims through steps 1–4. Its own corpus (636 vectors) and the bearer corpus (72 claims) still pass. - **Independent expectations:** the corpus states its expected passes by hand and computes the octets sent by a different formula from the module's, never copying either from the module. - **HTTP delivery:** a receipt index now checks a schedule claim against its group and listed objects, instead of accepting it after step 5. The rule is in http-delivery's text, in wai-rs and in `http_receipts.py`. The HTTP corpus has no schedule claim yet, so that branch is exercised only by compiling it. ## Breaking New variants in `ClaimClass`, `ClaimBody` and `Reason`; each is named in CHANGELOG. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- **Closed:** Main moved under it: its CHANGELOG head now conflicts (the tariff version 6 entry of #591), and force-push is refused. Its commits, with those of #592 and #595 stacked on it, go linearly onto current main in one replacement pull request, with the conflict resolved and every check re-run there.
wai identify: what any file is, from its bytes alone
Some checks failed
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Successful in 38s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 4m29s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 6m36s
wai-pack / wai-pack · macos (pull_request) Successful in 4m24s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 2m38s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Successful in 3m18s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 9s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 10m37s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Successful in 1m48s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 2m6s
wai-pack / wai-pack · linux (pull_request) Successful in 2m17s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 42s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 2m59s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 19m4s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 4m55s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m24s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 11m40s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 17m38s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 4m30s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 2m38s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 7m11s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 5m19s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 54s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 8m1s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 23m0s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 11m28s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 7m39s
WAI Studio / Studio in WebKit · linux (pull_request) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
662803c105
`wai inspect` reads envelopes; most files a toolchain meets are not envelopes, and the
first question about one is what it is. `wai identify <file>` (operation media.inspect,
extensions/media-identify.md) answers it for any file:

- the formats the bytes fit, each with the offsets of the bytes that say so, how far its
  structure was followed and where and why that stopped;
- a container's tracks as it states them: codec, size, channels, rate, protection;
- the registered capabilities they map to, and what a format probe reads of them;
- signatures found inside the file;
- where no format is recognised, measures that still hold: how the byte values are
  spread, uniform windows, and the lags at which the bytes repeat.

The verdict is identified, ambiguous, signature_only or unknown, and there is no
confidence figure: a candidate's strength says what was checked. Nothing is decoded, no
protected track is opened, and unknown stays unknown. Walks cover ISO media, Matroska,
transport streams, Ogg, FLAC, RIFF, MPEG audio, ADTS, PNG, JPEG, GIF, IVF, YUV4MPEG2,
FLV, AV1 OBU and Annex B streams, and HLS and DASH text; 35 more formats are known by
their signature. Every walk is bounded, reads a file where its lengths lead (a large file
is never held whole), and has been given hostile bytes; it builds for wasm32.

The agent door has it as media_inspect, its results marked untrusted_content: a file's
author chooses the strings in it.

identify-conformance/ holds files written by real muxers and encoders from test patterns
and tones, what an independent media prober reads of them (prober.json), and generated
cases sitting on each rule's edge. identify_verify.py is a second implementation written
from the text; it reads the extension's tables, gives every file its whole result, and
holds ext/ to the prober's reading. tests/identify.rs holds the reference's tables to
the extension's.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai: the carousel schedule — when each object passes on a bearer with no return path, and when a receiver holds it
Some checks failed
wai-quantum for JavaScript / javascript · linux (pull_request) Has been cancelled
wai-quantum studio and desktop / does this change touch it (pull_request) Has been cancelled
wai-quantum studio and desktop / studio · browser (pull_request) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (pull_request) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (pull_request) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (pull_request) Has been cancelled
wai-quantum WebGPU member / does this change touch it (pull_request) Has been cancelled
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Has been cancelled
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Has been cancelled
wai-sink-android native sink library / does this change touch it (pull_request) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Has been cancelled
wai-sink-swift native sink package / does this change touch it (pull_request) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Has been cancelled
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Has been cancelled
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Has been cancelled
WAI Studio / does this change touch it (pull_request) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Has been cancelled
WAI Studio / Studio in WebKit · linux (pull_request) Has been cancelled
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Has been cancelled
wai-web wasm32 / does this change touch it (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
cac615830a
On a bearer with no return path a receiver cannot ask for what it missed: it holds an object
only if the passes it heard carried enough encoding symbols. bearer-receipts declares the
transmission and reconciles it afterwards; nothing stated the plan in between.

extensions/carousel.md registers `wai.bearer.carousel` and the jwp-receipts claim class
`schedule` (§2.4.16): a publisher's signed plan, beside the group receipt and the instance's
transmission claim, naming for each object its forward error correction (RaptorQ, RFC 6330 with
its verified erratum 5548; Compact No-Code, RFC 5445) and that code's object transmission
information, the repair symbols each pass adds, whether later passes repeat their ESIs or send
new ones, and the passes' times and count. Step 4 holds each code's parameters to its bounds
and division into source blocks; step 6 holds the entries to the group, its objects' content
hashes and, where the bytes are held, their lengths.

From it a verifier derives, for a loss bound in parts per million, the pass after which a
receiver whose losses stay within it holds each object, for every pattern of loss within the
bound: a RaptorQ block at K' + h distinct symbols, the count RFC 6330 §5.8 states its decoding
failure bound at, and a symbol a repeating pass missed counted as missed again. It checks a
statement that an object or a group is held by an instant, sets aside schedules that contradict
each other or whose instance is undeclared or two-way, and a receiver derives the passes it
must listen to and how long its radio must be on.

The reference is the `carousel` module of wai-rs with the class's body in
`claim_receipt::schedule`; the corpus is live-conformance/carousel/ (33 verdicts, 50 claims, 16
plans) with carousel_verify.py as its second implementation and claim_verify.py's new
`carousel` mode for steps 1-4. tests/carousel.rs checks K' and Partition[] against an
independent RFC 6330 implementation (a dev-dependency) for every block size, and decodes each
RaptorQ object a case holds available from what a receiver within the bound holds. A receipt
index served over HTTP now checks a schedule claim against its group and listed objects.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
int_kernels_vectors: the identify corpus decodes nothing
Some checks failed
WAI conformance / cargo-class corpora · macos (pull_request) Failing after 25m5s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m42s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 6m24s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 9m32s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 1h3m35s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Failing after 33m24s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 24s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Has been cancelled
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Has been cancelled
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Has been cancelled
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Has been cancelled
wai-pack / wai-pack · linux-arm64 (pull_request) Has been cancelled
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been cancelled
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been cancelled
wai-pack / wai-pack · dependency licences (pull_request) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Has been cancelled
9680914bb5
every_decoded_output_states_a_sha256 requires each conformance directory to state its decoded
outputs' SHA-256 or say why it has none. identify-conformance decodes nothing: each vector states
what a file's bytes are read as, and the file's SHA-256 in vectors.json.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai mcp: media_inspect is in the core toolset's list
Some checks failed
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 3m16s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 4m0s
wai-pack / wai-pack · macos (pull_request) Successful in 17m28s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 6m36s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 9m42s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Failing after 43m41s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 1m36s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 4m21s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 4m17s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 7m44s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 31m37s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Failing after 15m31s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 40m28s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 31m31s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h32m28s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 16m38s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Successful in 20m8s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Successful in 39m50s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Successful in 9m18s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Successful in 6s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Successful in 2m53s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Successful in 1m56s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Successful in 20m38s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 2m47s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 30s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 18s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 3m23s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Successful in 1h14m38s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 23m25s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Successful in 1h13m37s
716dfd41d3
The core toolset serves media_inspect after envelope_inspect; tests/cli_mcp.rs and the
README's toolset table now name it in that place.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
carousel §11: the patents disclosed on RaptorQ and Raptor, and no-code as the default
Some checks failed
wai-pack / wai-pack · macos (pull_request) Successful in 2m33s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 18m9s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 8m25s
standards workspaces build + test / macOS energy backends (pull_request) Failing after 1m24s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m14s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 3m49s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Failing after 5m1s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 5m25s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Failing after 10s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Failing after 4s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Failing after 9s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Failing after 10s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Failing after 11s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Failing after 11s
wai-pack / wai-pack · linux-arm64 (pull_request) Failing after 7s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Failing after 10s
wai-pack / wai-pack · the floor through a media prober (pull_request) Failing after 10s
wai-pack / wai-pack · dependency licences (pull_request) Failing after 8s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Failing after 7s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 24m46s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Failing after 6s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Failing after 8m21s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 11m43s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 29m54s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 38m12s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h29m5s
f64d8fb533
The IETF holds disclosures on RaptorQ (RFC 6330; #2554 current, updating #1958) and on Raptor
(RFC 5053; #1957 current, with #1176 the holder's general licence statement). Both current
ones give two terms by product: a licence within the holder's standard terms for a device that
implements a wireless wide-area standard, and a non-assertion, conditional on full
implementation and suspended against a party that asserts, for one that implements none. No
disclosure relates to RFC 5445 or RFC 5052.

§11 cites them by number and states each licence class as disclosed. Since neither code is
royalty-free for every implementer, no-code is the default a tool that writes schedules uses,
as SPEC §5 keeps a capability that is not royalty-free from being a default. The reference
implementation encodes and decodes no symbol; its RFC 6330 decoder is a development dependency.
Security and privacy considerations move to §12; nothing cites them by number.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
dcharlot closed this pull request 2026-11-03 16:46:29 -05:00
Some checks failed
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 14s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 17s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 26s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 27s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 9s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 56s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 1m3s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 6m5s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 10m32s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 11m17s
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 13m18s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 13m47s
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 8s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 7s
WAI operation catalogue / does this change touch it (pull_request) Successful in 8s
WAI conformance / does this change touch it (pull_request) Successful in 8s
WAI energy receipts / does this change touch it (pull_request) Successful in 9s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 7s
wai-fleet service / does this change touch it (pull_request) Successful in 7s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 7s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 37s
WAI JPEG-AI whole decode (pinned inputs, required) / does this change touch it (pull_request) Successful in 8s
wai-key-proxy / does this change touch it (pull_request) Successful in 7s
wai-ledger service / does this change touch it (pull_request) Successful in 7s
WAI neural sink gates / does this change touch it (pull_request) Successful in 7s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 1m33s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 8s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 7s
wai-quantum docs, course and locales / does this change touch it (pull_request) Successful in 7s
wai-quantum for JavaScript / does this change touch it (pull_request) Successful in 8s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 8s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 2m29s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 7s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 8s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 8s
WAI Studio / does this change touch it (pull_request) Successful in 7s
wai-web wasm32 / does this change touch it (pull_request) Successful in 8s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 2m29s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 2m51s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 55s
wai-fleet service / service · linux (pull_request) Successful in 2m20s
wai-key-proxy / proxy · linux (pull_request) Successful in 1m0s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 3m13s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m33s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m34s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 1m59s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m38s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 8s
wai-pack / wai-pack · linux (pull_request) Successful in 1m46s
wai-ledger service / service · linux (pull_request) Successful in 3m58s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 4m45s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 3m55s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 2m57s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 6m57s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m39s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 10m48s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 1m50s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 1m2s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 5m44s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m49s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 10m28s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 11m23s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 8m43s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 2m37s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 56s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 14m26s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m51s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 6m47s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 2m51s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 18m9s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 12m44s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 20s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 10m21s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 11m37s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 13s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 51s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 22m13s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 12m38s
wai-fleet service / service · macos (pull_request) Successful in 40s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 22m45s
wai-ledger service / service · macos (pull_request) Successful in 52s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m41s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m50s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 10m38s
wai-pack / wai-pack · macos (pull_request) Successful in 2m33s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 18m9s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 8m25s
standards workspaces build + test / macOS energy backends (pull_request) Failing after 1m24s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m14s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 3m49s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Failing after 5m1s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 5m25s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Failing after 10s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Failing after 4s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Failing after 9s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Failing after 10s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Failing after 11s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Failing after 11s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Failing after 11s
wai-pack / wai-pack · linux-arm64 (pull_request) Failing after 7s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Failing after 10s
wai-pack / wai-pack · the floor through a media prober (pull_request) Failing after 10s
wai-pack / wai-pack · dependency licences (pull_request) Failing after 8s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Failing after 7s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 24m46s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Failing after 6s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Failing after 8m21s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 11m43s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 29m54s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 38m12s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h29m5s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!592
No description provided.