Some checks failed
wai-det-jpegai WAISM float-level module of record / does this change touch it (push) Successful in 25s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Has been cancelled
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 8s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 50s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 7m10s
wai-det-jpegai WAISM float-level module of record / linux · both checkers, F1, F2 on wasmtime (Cranelift, Winch, Pulley) and Wasmi, the planted faults (push) Successful in 13m54s
wai-det-jpegai WAISM float-level module of record / linux-arm64 · both checkers, F1, F2 on wasmtime (Cranelift, Winch, Pulley) and Wasmi, the planted faults (push) Failing after 14m33s
One WebAssembly module with the interface of waism §5 and nothing else, decoding
wai.image.jpegai through wai-rs's exact decoder, the integer weight bundle arriving as the set
(the file sequence of norm.json and weights/*.json). Refusals are the capability's codes; a
codestream outside the decoder's configuration traps. Both checkers hold it at the float level
and refuse it R3 at the integer level. record/ keeps the module of record, built on Linux
x86_64 over main at 373fe3594 and named by its SHA-256 (53d54e58…, 666,425 bytes).
corpus.json, written by corpus.py from committed files: the reference codestream over the
pinned jpegai/v1 bundle, to the native exact decoder's pinned RGB8 (dbc494a5…), and three
refusal fixtures. host/ runs the probe on each engine first, in the same process (§6 check 10),
then every case on an instance of its own: wasmtime 50.0.1 with Cranelift, Winch and Pulley,
each with its NaN canonicalisation on and off, and Wasmi 2.0.0 built with `deterministic`.
What ran (rb, slot limiter):
- Linux x86_64 (Framework): F1 holds, the probe's bytes on the four engines with the NaN rule
set and other bytes on the three without it; the planted probe fails F1. F2: the module of
record gives every case the corpus's on all four engines, one run digest c7025bbc….
- Linux arm64 (Thor): build.sh with both checkers; F1 holds and the planted probe fails it; F2
on the module of record and on this host's own build (ffb2c94f…, other bytes): eight runs,
the same run digest. module-check.sh in full passes.
- The planted decoder (feature planted-nan-branch) gives the pinned RGB8 on the four engines
the probe holds, another output on the three with the rule unset run past the probe, and the
probe refuses those engines first (module_probe_mismatch), on both hosts.
- wai registry export --check, wai ops export --check and wai breaking against main: clean.
module-check.sh holds record/ to its manifest and both verdicts; wai-det-jpegai.yml runs the
build, F1, F2 and the planted faults on linux and linux-arm64.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
386 lines
7.2 KiB
JSON
386 lines
7.2 KiB
JSON
{
|
|
"format": "waism-module-corpus/1",
|
|
"about": "The module corpus (extensions/waism.md §9.2) of wai-det-jpegai, the JPEG AI exact decoder at WAISM's float level: for each case, the capability, the payload and the set the module is given (waism §5), and the SHA-256 of its output or its refusal code. The vector's digest is the native exact decoder's pinned RGB8 (wai-rs/tests/jpegai_cross_platform.rs, PINNED's rgb). Written by corpus.py; paths are below wai/.",
|
|
"external": {
|
|
"hs_uv.json": {
|
|
"sha256": "f3b325c583c6b7613ccddc2d89bfaa50e0e8314ceecd8d82fc4df7fb159b6083",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"hs_y.json": {
|
|
"sha256": "1d193f15b5d8d1531ef9ffef8676904d76cfedbd1d2df931d581dfb26daa2688",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"hyp_uv.json": {
|
|
"sha256": "2c5f6f12fcf9a36489553e0e02e95684c339d82bab64cb7bae76a4635f9ec56d",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"hyp_y.json": {
|
|
"sha256": "32ab3a153e33ded902b1d8a6c413047634bc39e8b74525dfbb40eded0763433d",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"icci.json": {
|
|
"sha256": "bd3aa0c23294a462895416eda38399468781163858229c386deaba58def5a1c3",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"mcm0_y.json": {
|
|
"sha256": "562740aba18ba4dccdc007b3d54a669ecd18feac9d0bd1fd7a29e66a0ba498ee",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"mcm1_y.json": {
|
|
"sha256": "fbd4b7c05e81cd32df4db4e2f6dfa4d6e3fc2edb6c21150f80ef5ac04765228d",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"mcm2_y.json": {
|
|
"sha256": "b42d6fa96bf865dd2db47955aba14d8d65b9152c941be3ee3e92eae5643834a7",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"mcm3_y.json": {
|
|
"sha256": "e06766d0a7bff16188a0e96297d6e498e28fbaf7850f68b0a29447a9391c9d9d",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"norm.json": {
|
|
"sha256": "5353b76f25e59f52d85adc896c9dc6b4aa8552589e3e4e1d97b8f29692e37b13",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"synth_uv.json": {
|
|
"sha256": "8ddf8fe9dd15569910ad5755a5495526df959835bcf86a259d06ab6445f02b4e",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
},
|
|
"synth_y.json": {
|
|
"sha256": "4f2c9ae807ea22197adaae0263c9d6d4d53ef7d4fccb81848b7bb4da9ef0ea69",
|
|
"fetch": "tools/wai_jpegai_fetch_e2e_inputs.sh"
|
|
}
|
|
},
|
|
"cases": [
|
|
{
|
|
"name": "jpegai/v1/test256",
|
|
"capability": "wai.image.jpegai",
|
|
"payload": {
|
|
"file": "wai-rs/tests/vectors/jpegai/test256.bin"
|
|
},
|
|
"set": [
|
|
[
|
|
"norm.json",
|
|
{
|
|
"external": "norm.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_uv.json",
|
|
{
|
|
"external": "hs_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_y.json",
|
|
{
|
|
"external": "hs_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_uv.json",
|
|
{
|
|
"external": "hyp_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_y.json",
|
|
{
|
|
"external": "hyp_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/icci.json",
|
|
{
|
|
"external": "icci.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm0_y.json",
|
|
{
|
|
"external": "mcm0_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm1_y.json",
|
|
{
|
|
"external": "mcm1_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm2_y.json",
|
|
{
|
|
"external": "mcm2_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm3_y.json",
|
|
{
|
|
"external": "mcm3_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_uv.json",
|
|
{
|
|
"external": "synth_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_y.json",
|
|
{
|
|
"external": "synth_y.json"
|
|
}
|
|
]
|
|
],
|
|
"expect": {
|
|
"sha256": "dbc494a5a670914edf55c07c48afc0dd348cd05d3a82fff293bf384b2bb69ea3"
|
|
}
|
|
},
|
|
{
|
|
"name": "jpegai/v1/refuse/icci-missing",
|
|
"capability": "wai.image.jpegai",
|
|
"payload": {
|
|
"file": "wai-rs/tests/vectors/jpegai/test256.bin"
|
|
},
|
|
"set": [
|
|
[
|
|
"norm.json",
|
|
{
|
|
"external": "norm.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_uv.json",
|
|
{
|
|
"external": "hs_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_y.json",
|
|
{
|
|
"external": "hs_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_uv.json",
|
|
{
|
|
"external": "hyp_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_y.json",
|
|
{
|
|
"external": "hyp_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm0_y.json",
|
|
{
|
|
"external": "mcm0_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm1_y.json",
|
|
{
|
|
"external": "mcm1_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm2_y.json",
|
|
{
|
|
"external": "mcm2_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm3_y.json",
|
|
{
|
|
"external": "mcm3_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_uv.json",
|
|
{
|
|
"external": "synth_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_y.json",
|
|
{
|
|
"external": "synth_y.json"
|
|
}
|
|
]
|
|
],
|
|
"expect": {
|
|
"refuse": "set_incomplete"
|
|
}
|
|
},
|
|
{
|
|
"name": "jpegai/v1/refuse/norm-not-json",
|
|
"capability": "wai.image.jpegai",
|
|
"payload": {
|
|
"file": "wai-rs/tests/vectors/jpegai/test256.bin"
|
|
},
|
|
"set": [
|
|
[
|
|
"norm.json",
|
|
{
|
|
"hex": "7b"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_uv.json",
|
|
{
|
|
"external": "hs_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_y.json",
|
|
{
|
|
"external": "hs_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_uv.json",
|
|
{
|
|
"external": "hyp_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_y.json",
|
|
{
|
|
"external": "hyp_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/icci.json",
|
|
{
|
|
"external": "icci.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm0_y.json",
|
|
{
|
|
"external": "mcm0_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm1_y.json",
|
|
{
|
|
"external": "mcm1_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm2_y.json",
|
|
{
|
|
"external": "mcm2_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm3_y.json",
|
|
{
|
|
"external": "mcm3_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_uv.json",
|
|
{
|
|
"external": "synth_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_y.json",
|
|
{
|
|
"external": "synth_y.json"
|
|
}
|
|
]
|
|
],
|
|
"expect": {
|
|
"refuse": "model_mismatch"
|
|
}
|
|
},
|
|
{
|
|
"name": "jpegai/v1/refuse/icci-not-json",
|
|
"capability": "wai.image.jpegai",
|
|
"payload": {
|
|
"file": "wai-rs/tests/vectors/jpegai/test256.bin"
|
|
},
|
|
"set": [
|
|
[
|
|
"norm.json",
|
|
{
|
|
"external": "norm.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_uv.json",
|
|
{
|
|
"external": "hs_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hs_y.json",
|
|
{
|
|
"external": "hs_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_uv.json",
|
|
{
|
|
"external": "hyp_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/hyp_y.json",
|
|
{
|
|
"external": "hyp_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/icci.json",
|
|
{
|
|
"hex": "7b"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm0_y.json",
|
|
{
|
|
"external": "mcm0_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm1_y.json",
|
|
{
|
|
"external": "mcm1_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm2_y.json",
|
|
{
|
|
"external": "mcm2_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/mcm3_y.json",
|
|
{
|
|
"external": "mcm3_y.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_uv.json",
|
|
{
|
|
"external": "synth_uv.json"
|
|
}
|
|
],
|
|
[
|
|
"weights/synth_y.json",
|
|
{
|
|
"external": "synth_y.json"
|
|
}
|
|
]
|
|
],
|
|
"expect": {
|
|
"refuse": "model_mismatch"
|
|
}
|
|
}
|
|
]
|
|
}
|