| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 6s
WAI conformance / does this change touch it (pull_request) Successful in 25s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 27s
standards workspaces build + test / macOS energy backends (pull_request) Has been skipped
WAI energy receipts / does this change touch it (pull_request) Successful in 13s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 14s
WAI JPEG-AI whole decode (pinned inputs, required) / does this change touch it (pull_request) Successful in 23s
WAI neural sink gates / does this change touch it (pull_request) Successful in 23s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 19s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 16s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 12s
wai-web wasm32 / does this change touch it (pull_request) Successful in 12s
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 1m57s
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 12m4s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 7m32s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m47s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 5m13s
wai-quantum WebGPU member / member · discrete GPU, Vulkan (jetson-hub) (pull_request) Successful in 20m13s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 8m30s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 18s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 41s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 1m38s
wai-pack / wai-pack · macos (pull_request) Successful in 1m2s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m29s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m39s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m3s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 31s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 2m45s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 1m34s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m28s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 11m29s
wai-pack / wai-pack · linux (pull_request) Successful in 1m15s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m7s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m8s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 3m22s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m23s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 16s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 10s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 23s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 49s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 2m2s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 9m35s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 13m39s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Successful in 46m2s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Successful in 44m56s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Successful in 4m45s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Successful in 45m7s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Successful in 3s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Successful in 5m35s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Successful in 3m1s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Successful in 3m31s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Successful in 6m20s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 18s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m16s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m9s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 4m7s
#303 is stacked on #299: this branch now carries main (wai.live.compose, #296) and wai.live.recording. The same lines conflict as in #299's merge: SPEC §5's live-records list and paragraphs, REGISTRY's list, wire table and magics, the registry's capability constants, statuses and wire rows, Cargo features, binaries and tests, the module list, the live-conformance README, the int_kernels_vectors reason and the independent-verifiers job. All are kept, compose, recording, then timed text; the three CI steps stay separate. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| .gitattributes | ||
| check_shapes.py | ||
| README.md | ||
| v1.jsonld | ||
| v1.shapes.ttl | ||
| v1.ttl | ||
| v2.jsonld | ||
| v2.shapes.ttl | ||
| v2.ttl | ||
WAI vocabulary
Stable IRIs for the Web AI Media Transport & Execution open standard, in two versions. A WAI manifest that carries one of the JSON-LD contexts below expands into typed RDF triples for any JSON-LD or SPARQL consumer without changing its wire form. Licence Apache-2.0, matching the reference implementation.
v2 — generated from the registry
Namespace: https://wai.transaction.science/vocab/v2#.
| File | Format | What |
|---|---|---|
v2.ttl |
Turtle (RDF) | One IRI per string SPEC §5 registers, with its kind, status, media class, role, fidelity tier, licence class, replicate class, registering section, edition and registration date (registeredOn); the enumerations as individuals named <class prefix>-<label> (kind-companion, role-companion, media-image, …), so no two terms share an IRI; and the manifest terms the context maps. |
v2.jsonld |
JSON-LD @context |
For a WAI manifest, WAI1 or WAI2, as written on the wire: capability, fallback and a component's companion_of expand to capability IRIs, media to a media-class individual; kind and a component's role are plain strings under terms of their own (payloadKind, componentRole), and target is a JSON literal. prior (conditioning.prior, or a component's) maps its members to the pin terms below. |
v2.shapes.ttl |
SHACL Core | Applies to a manifest with or without an @type (it targets every node with a wai or intent field, and every component of renditions). Checks that a WAI1 names a capability and a WAI2 a component list, never both; the capability and every component's capability against the registered payload and companion capabilities that are not candidates; the fallback and a companion's base against the registered payload capabilities that are not candidates. media is informational and a reader accepts a value it does not know (SPEC §3, §8), so only its form is checked. The shapes check a manifest against this revision's registry: a violation for a capability or fallback this revision does not register means the string is not registered in this revision, not that the envelope fails to conform or cannot be dispatched, since a later MINOR revision may register it (SPEC §4, §8). Also checks every parameter-set pin, wherever the manifest carries one (below). |
The three files are generated by wai registry export from the reference
implementation's registry (wai-rs/src/codecs/registry.rs), together with
../registry/capabilities.json; a library test
and a CI step fail when they drift. check_shapes.py expands
sample manifests, typed and untyped, through the context and validates them
against the shapes, each with the result it must give; CI runs it
(.github/workflows/wai-conformance.yml). Do not edit the generated files by hand —
../REGISTRY.md says how a string is registered. The v2 IRIs
resolve only once the website publishes the files.
v1 — stable
Namespace: https://wai.transaction.science/vocab/v1#. The v1 files
(v1.jsonld, v1.ttl, v1.shapes.ttl)
are stable in this sense: no v1 IRI is removed, and no term changes what it
means, so nothing that already names them breaks. A label or comment may be
corrected, and a term may be added. They cover the first codec menu only (PNG, JPEG, AVIF,
JPEG XL, FLAC, Opus, AV1, zstd, XZ) and model the neural and zeroth paths as
classes; they are not the registry. v1's SHACL shape rejects a manifest that
names any other registered capability, so a validator of current manifests uses
v2.
The parameter-set pin, in both versions
The parameter-set pin (wai:ParameterSetPin, SPEC §3.1) is in v1 as additive terms,
and wai registry export writes the same terms into v2: wai:prior and the members
wai:pinId, wai:pinSha256, wai:pinDeterminism, wai:pinForm, wai:pinTier (a
closed vocabulary: decode-equivalence, entropy-consistency, none) and
wai:pinSupersedes, with a scoped JSON-LD term prior whose members are the
manifest's own names, a ParameterSetPinShape and a SupersedesShape. In v2 the
tier list is generated from the registered tokens (codecs::TIER_TOKENS).
wai:sharedPriorUri and wai:sharedPriorHash (v1 only) describe a located prior
with a BLAKE3 hash; they are not the manifest's pin. A library test in wai-rs
(container::tests::vocab_pin_terms_match_prior_members) reads both v1 and v2 and
holds each scoped term's members equal to the pin's serialized members and each
shape's tier list equal to the registered tokens; check_shapes.py validates
conforming and non-conforming pins against the v2 shapes.