| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 26s
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 25s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 17s
wai-audit collector and player integration / does this change touch it (push) Successful in 22s
wai-ledger service / does this change touch it (push) Successful in 13s
wai-quantum for JavaScript / does this change touch it (push) Successful in 28s
wai-quantum studio and desktop / does this change touch it (push) Successful in 26s
wai-app and Create / wai-app · does this change touch it (push) Successful in 4m16s
wai-fleet service / does this change touch it (push) Successful in 4m4s
WAI operation catalogue / does this change touch it (push) Successful in 4m10s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 4m30s
wai-sink-swift native sink package / does this change touch it (push) Successful in 4m21s
WAI Studio / does this change touch it (push) Successful in 4m36s
wai-sink-android native sink library / does this change touch it (push) Successful in 4m40s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 6m36s
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Successful in 1m47s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 2m35s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 9s
joule-moq-room room service / joule-moq-room, every target (push) Failing after 5m51s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 5m33s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 39s
wai-quantum for JavaScript / javascript · linux (push) Successful in 2m40s
wai-audit collector and player integration / collector · linux (push) Successful in 3m38s
wai-ledger service / service · linux (push) Successful in 3m37s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m10s
wai-quantum studio and desktop / studio · browser (push) Successful in 4m34s
wai-fleet service / service · linux (push) Successful in 2m19s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 8m21s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m41s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 14m48s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 6m7s
WAI Studio / Studio in WebKit · linux (push) Successful in 18m41s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 10m39s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 56s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m7s
wai-ledger service / service · macos (push) Successful in 1m9s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 4m49s
wai-fleet service / service · macos (push) Successful in 38s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 8m2s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 15m45s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 7m1s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 10m29s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 16m4s
The two corpora landed with a list each of the checks no case exercised: 39 of the 71 of audience_scte224_verify.py, shown there by documents the script made itself, and 14 of the 61 of ad_signalling_verify.py. Both lists are empty now, and are gone from the scripts: a second implementation with any one check switched off no longer passes its corpus, and a check with no case fails the run. - live-conformance/audience-scte224/: 59 more documents and one more predicate, written by tests/audience_scte224.rs. Each limit has a document at it, which imports, and one past it (1,048,576 bytes, 64 elements deep, audiences 8 deep, 8,192 regions, 4,096 media points, 256 blackouts, six digits of a fraction, the first instant of 1970, the last instant a decision carries); a document near a limit is stated by its pieces (document_parts), so the file holds no megabyte of spaces. The rest are the single rules the first cases stated only together with another. - live-conformance/ad-signalling/: 17 more records and two more stitching cases, written by live_ads::signalling_corpus, and a key of another curve in the key set. Writing the cases found five places where the reference and the second implementation disagreed, each settled by the text: an attribute on a Region, an action:Content or an Alternate is scte224_not_carried (the reference said malformed and action_unmappable); a Remove that holds a policy's definition is scte224_malformed (the reference imported it; audience-decision §10.5 now states the reason); audiences nested past 8 are scte224_not_carried (the second implementation said malformed); a number's 15 significant digits are counted as written (live-ads §13.3 now says so; the reference read 123456789012345.0); a pod with no slots member is not carried (§13.2 now says so; the second implementation carried it). Left as found, not in either list: a creative's listing with a Group of no Object is refused by the second implementation (stitch_listing_malformed) and composed by the reference; the corpus states its creatives once for every case, so no case reaches it. Regenerated on the Framework (x86_64) and checked byte for byte on Thor (aarch64). Co-Authored-By: Claude <[email protected]> |
||
| .. | ||
| README.md | ||
| vectors.json | ||
live-conformance/audience-scte224 — SCTE 224 documents as blackouts
The corpus of extensions/audience-decision.md §10.
vectors.json holds:
documents:Mediadocuments, each with theprogrammeandspansit imports to (a span is a decision'sstart,endandblackouts), or the one reason it isrefused. Each refused document is one edit from a document that imports. A limit (1,048,576 bytes, 64 elements deep, audiences 8 deep, 8,192 regions, 4,096 media points, 256 blackouts) has a document at it, which imports, and one past it. A document near a limit is stated by its pieces,document_parts, written one after another: a string;{"repeat": s, "times": n}, the stringntimes; or{"counted": s, "times": n}, the string once for each count from 0 ton− 1 with its{n}replaced by the count in three digits of base 36 (0to9, thenAtoZ).decisionsandpredicates: a signed audience decision or sink predicate (text), the name of thedocumentit is held to, thelocationof the session or the sink, and its outcome:consistentwith the verdict and the programme shown in place, or the reason it isrefused.keys: the public keys, for a reader. Every key is from a fixed seed and attests nothing; every region is a user-assigned code and names no place.
Written by tests/audience_scte224.rs (WAI_AUDIENCE_SCTE224_WRITE=1 cargo test --features sink_predicate --test audience_scte224), which declares each outcome by hand and requires the
reference to reach it. The second implementation, written from the text:
python3 -I live-conformance/audience_scte224_verify.py live-conformance/audience-scte224
It imports every document with a reader of its own, writes the exported document again byte for byte, holds each decision and predicate to its document, requires every changed copy of the corpus to fail, and switches off each of its own checks in turn: the corpus catches every one.