Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 11s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 14s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 1m8s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 2m30s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 2m53s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 4m4s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Failing after 4m26s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 4m5s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 5m14s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 5m51s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 7m59s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 7m41s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 7m57s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 8m58s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai-key-proxy / does this change touch it (push) Has been cancelled
wai-key-proxy / proxy · linux (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
wai cross-architecture byte-equality / does this change touch it (push) Has been cancelled
wai cross-architecture byte-equality / linux-aarch64 (push) Has been cancelled
wai cross-architecture byte-equality / linux-x86_64 (push) Has been cancelled
wai cross-architecture byte-equality / macos-arm64 (reference) (push) Has been cancelled
wai cross-architecture byte-equality / windows-x86_64 (push) Has been cancelled
WAI named two of the DCVC neural video codecs and none of the rest, nothing for the neural-network-based video coding exploration of ITU-T and ISO/IEC, and no lossless frame format for tensors. SPEC §5 registers wai.neural.dcvc, .dcvc_tcm, .dcvc_hem, .dcvc_dc and .dcvc_uf as candidates (neural-float, media class video, patent-pool provisionally: the code is under MIT, which grants no patent licence). Each published decoder takes its latent's entropy parameters from a temporal context as well as the hyperprior, most from a spatial prior of two or four passes too, four decode a motion latent, and DCVC-UF codes a chunk of frames as one latent; none fits the inter-frame route of neural/video_dcvc.rs, whose latent comes from the hyperprior alone, and none pins a bitstream. A new SPEC note says so, and that dcvc_rt and dcvc_fm decode through that route with a sink-supplied temporal decoder. wai.video.nnvc is a candidate too: no standard is published and the reference software's bitstream follows its release. Candidates are refused by dispatch and never picked (SPEC §7.1), which the existing candidate tests now cover for all six. wai.tensor.weft registers one frame of the WeftCodec format 1.0 (WEFTCODEC-FORMAT v1.0.0, WEFT-AI-CODEC v1.3.0, weftcodec 1.2.0) in mode RAW, TENSOR or FLOAT_TENSOR, naming no dependency: lossless, its plaintext bound by a BLAKE3 content hash, so standard-defined; royalty-free (text CC BY 4.0, reference implementation Apache-2.0). Any other mode is UnsupportedMode, as the format requires of a decoder that does not implement a mode. The reference is codecs::weft (feature weft): a decoder that checks a frame in the format's order and refuses it with the format's own class, and writers that give the format's own frames byte for byte. The corpus, tensor-conformance/, holds 77 of the format's frozen vectors with the outcome this capability gives each, and 70 generated frames, five that decode and the rest with one planted defect each, every class and every limit reached. weft_verify.py, its second implementation, agrees on all 147, refuses all 143 changed frames, and requires each of its 77 checks to refuse some vector and to be needed: 72 alone, five (always backed by another check with the same class) together with that check. staged_verify.py's video class names the DCVC candidates as the reference's does. The registry export, REGISTRY.md and wai.h are regenerated. Thirteen faults planted, each failing its tests: DCVC-HEM not a candidate, NNVC royalty-free, DCVC-UF outside the video class, ZSTD admitted, no content hash, no header CRC, a 25-bit code admitted, no exponent range, no table_len check, weft as neural-float, SPEC missing a class (both implementations), and the second verifier without its exponent range. Co-Authored-By: Claude Opus 5.5 <[email protected]>
52 lines
3.3 KiB
Markdown
52 lines
3.3 KiB
Markdown
# `wai.tensor.weft` conformance corpus
|
|
|
|
The vectors of `wai.tensor.weft` (SPEC §5, *WFT1 tensor frames*): frames of the WeftCodec format
|
|
1.0 (WEFTCODEC-FORMAT v1.0.0; WEFT-AI-CODEC v1.3.0 for its tensor modes; as published with
|
|
weftcodec 1.2.0), each with the outcome a sink that advertises the capability gives it: its
|
|
plaintext's length and SHA-256, or the format's error class it is refused with, under the limits
|
|
the vector names.
|
|
|
|
**Provenance.** Two sources. The frames marked `third-party` in `vectors.json` are the format's
|
|
own frozen conformance vectors (`conformance/v1/codec/` of its reference implementation, at
|
|
weftcodec 1.2.0, commit d95fa78c805e, licensed Apache-2.0), copied unchanged by
|
|
`tools/weft_import.py`: every one but the vectors a later vector supersedes and the one-mebibyte
|
|
RAW vector. A frame of a mode the registration admits (`RAW`, `TENSOR`, `FLOAT_TENSOR`) keeps the
|
|
format's expectation; any other is `UnsupportedMode` here. The frames marked `generated` are
|
|
written by `wai-rs/src/codecs/weft/corpus.rs` from fixed integer sequences: five that decode
|
|
(an i8 tensor, fp32 weights, bf16 NaNs, infinities, zeros and subnormals, an fp8 plane of one
|
|
exponent, a RAW frame in three chunks) and frames with one planted defect each, every other field
|
|
written to agree with it, so that only the rule the defect breaks refuses the frame (several are
|
|
built so that a decoder without that rule would hand over a plaintext). `licences.json` records
|
|
each vector's licence and source.
|
|
|
|
| file | what it holds |
|
|
|---|---|
|
|
| `vectors.json` | every vector: its file, the SHA-256 of its frame, its limits, its outcome; a third-party vector also the format's own expectation, a generated one what it plants |
|
|
| `licences.json` | each vector's licence, content and source (`scripts/check-wai-corpus-licences.py`) |
|
|
| `vectors/<name>/frame.wft` | the frame |
|
|
| `weft_verify.py` | the second implementation |
|
|
|
|
Regenerate and check (from `wai/wai-rs/`):
|
|
|
|
```
|
|
cargo run --no-default-features --features weft --bin wai_weft_vectors -- gen ../tensor-conformance
|
|
cargo run --no-default-features --features weft --bin wai_weft_vectors -- verify ../tensor-conformance
|
|
```
|
|
|
|
`weft_verify.py` is written from the format's text and SPEC §5 and shares no code with wai-rs:
|
|
its own frame reader, CRC-32C, canonical structured-value reader, canonical Huffman decoder and
|
|
plane join, and the BLAKE3 of `claim-conformance/_blake3.py`. It requires every frame to have the
|
|
digest `vectors.json` states and every vector its outcome; the classes and modes `vectors.json`
|
|
lists to be SPEC's; every frame it decodes to be refused once any one of several of its bytes
|
|
is changed; and each of its own checks to refuse some vector and to be needed, by dropping each
|
|
in turn and requiring some vector to change its outcome. A check that another always backs with
|
|
the same class, for every frame of an admitted mode (a domain above 1, which the admitted modes'
|
|
domain rule also refuses; a dependency, which no admitted mode names; a RAW frame's chunk
|
|
extents and its chunk sums, each of which implies the other), is kept so that a frame with
|
|
several defects is refused in the format's order, is listed with the check that backs it, and
|
|
is required to change some vector's outcome when dropped together with that check. Standard
|
|
library only:
|
|
|
|
```
|
|
python3 -I tensor-conformance/weft_verify.py tensor-conformance
|
|
```
|