The integer-synthesis decoder (wai.neural.int_synth) is the one neural path that can make WAI's promise — bit-identical output on every machine, no tolerance — because it is pure i64 arithmetic, not float ONNX. It had a constructed-in-test golden but no committed fixtures and was not in the pure-Rust conformance matrix (it was buried in the ort-gated `neural` module, so it couldn't build without ONNX Runtime). Extract it to the crate root behind a light `neural_int` feature (serde_json + blake3, no ort): self-contained IntSynthError/IntImage, identical i64 decode. `neural` now pulls neural_int in and keeps a thin shim mapping onto its DecodedImage/DecodeError, so the ort-backed dispatch is unchanged. The byte-exact-conformance crate's #[path] include follows the move (its independent constructed golden still holds — a second implementation path). Add wai_int_synth_vectors (gen/verify) + a committed neural-conformance/ corpus: three realistic multi-layer decoders (distinct shapes, integer-ReLU stacks), authored from a fixed SplitMix64 sequence, each frozen to a domain-prefixed BLAKE3 of its decoded RGB. The wai-conformance workflow runs the verify on the four-platform matrix (x86-64 + arm64 across Linux, macOS, Windows) with no ONNX Runtime present — the integer-exact contract proven on real silicon, every push. The float decoders are deliberately excluded: their ONNX synthesis is float, so a byte-equality corpus would be a false promise for them. Co-Authored-By: Claude Opus 4.8 <[email protected]>
1 line
No EOL
2.7 KiB
JSON
1 line
No EOL
2.7 KiB
JSON
{"layers":[{"in_ch":8,"out_ch":3,"k":6,"stride":4,"pad":0,"out_pad":0,"weight":[-1,1,-6,-10,6,-17,-4,2,-8,-16,-15,-6,-10,1,-7,6,-4,-12,-4,4,3,2,0,1,-15,-8,2,-18,1,-9,-13,-11,-6,-11,-11,-18,-2,-6,-11,6,-7,4,1,-8,-9,-6,2,-11,-2,0,-13,-14,-11,-6,3,-8,-1,-10,-8,-12,-8,0,5,-2,-8,-18,-11,-6,-1,5,-2,-1,-1,-7,-7,-1,3,-3,4,-9,-6,-6,-12,-6,-6,0,-16,-13,-14,-6,4,-17,-11,-6,-10,-8,-15,6,-8,-10,2,2,-16,-8,3,0,0,-5,-14,-6,-6,-2,6,-4,-15,-18,-15,-5,6,5,1,-8,4,-14,1,-15,-6,1,-9,-16,-6,-10,-13,-7,-6,3,-1,-6,-6,-8,4,1,-1,3,2,-8,-10,-2,3,-12,-16,-17,-11,2,-4,3,-18,-2,-14,-9,-6,2,-1,1,-6,-7,-6,-7,-17,-8,-7,5,-4,-4,6,0,-4,1,-7,0,-10,-9,5,5,2,-10,-3,-11,-5,-2,-2,-8,-14,-6,5,-8,5,-7,-14,-9,0,-7,-6,-12,-12,-16,-6,3,-12,-7,2,0,-15,5,0,1,-7,-2,-17,-10,0,1,-17,3,1,-10,-3,5,-18,-2,6,-14,-6,-4,1,-16,2,5,-15,-12,-9,1,1,-15,-18,3,-10,-13,-4,6,-11,-13,-5,-11,-8,-11,-17,0,-6,1,-13,-14,1,6,-15,-15,-5,1,-11,-14,-2,-11,3,-7,-4,-14,-15,-7,-18,-5,-1,-18,-16,-8,-16,-14,3,0,-6,4,0,2,-17,0,-7,4,-9,4,-6,-7,5,2,4,4,3,-11,-8,-13,-5,-13,-9,-4,2,2,-12,-16,-3,-3,2,-2,-15,4,-1,5,-12,-15,-18,1,-10,-9,-3,4,-6,-7,-14,-6,1,-1,-2,-2,-15,5,-6,-10,1,-1,1,-9,6,4,-3,2,3,3,-6,-1,-2,-6,-6,-13,-16,-14,-1,-17,-1,-9,-12,-4,4,4,-13,-4,-6,-12,-13,-7,-16,-14,-11,3,1,-5,4,-4,-7,4,-11,-11,-11,-10,2,-8,0,-4,-8,-14,-4,-14,-7,-6,-2,-16,-18,1,-18,1,-17,-6,-9,-17,5,-9,-7,-16,1,6,-7,1,-9,0,3,1,-9,3,5,0,-9,-17,-14,-9,-3,-17,-9,-17,5,-2,-3,-10,-14,-5,-11,-6,-15,-10,-11,-4,-1,3,-14,5,-12,-17,-5,2,6,-18,-5,-18,4,-12,-6,-5,-15,6,-17,-6,4,-11,-7,4,4,0,-4,0,1,-17,-13,-1,2,-1,-9,-15,-5,-14,3,-10,-6,-6,-8,1,-1,-18,-18,-6,-7,3,5,-16,-9,-13,-12,-8,-8,-12,6,-3,-13,-1,-3,-7,-7,2,-6,-2,-3,-3,-3,-14,6,-1,-14,-14,0,-1,3,-16,-9,-2,-17,-14,-14,-3,-12,-5,-8,-17,-7,-2,-3,3,-8,-16,-6,-14,2,6,-16,-7,-2,-3,-10,-16,6,1,3,-1,6,-11,-11,-11,-11,-17,-7,-9,-13,-11,0,-6,-16,1,3,4,-1,-6,4,-9,-10,-4,1,-9,-14,-10,-17,6,3,-14,-8,0,-12,-13,-2,-13,-3,-15,-6,6,6,1,-6,-3,5,-2,4,-1,-13,-14,-18,-4,-6,-11,-12,-16,-13,-9,-6,-9,-9,6,6,-7,-1,-7,4,-16,-4,-2,-13,-7,-16,-4,-15,-7,-14,4,-7,-6,-12,-5,0,-11,4,-8,-13,-9,4,-1,-7,-4,-6,-12,0,-15,-15,5,-6,-6,-3,-3,4,2,-13,-6,-16,-4,-3,-9,-1,-11,-2,-18,-5,-4,-17,-2,2,-3,-5,1,-14,2,-7,-1,-1,-16,-12,1,-9,4,-10,-8,-17,-13,-8,-13,-8,-15,-3,2,-4,-6,-4,-18,-2,3,-11,-5,4,4,-2,-16,-9,-4,1,-7,-6,5,-16,-2,-2,-6,-2,-10,-8,-12,-18,-18,-9,5,1,-7,-2,-8,-13,-15,-5,-1,-17,2,-1,-6,-6,-5,1,0,6,-7,3,5,-5,-5,6,-16,-11,-10,-7,-17,-2,-11,-11,-9,4,-5,-14,-16,-7,-2,-14,0,0,-1,-14,-6,-11,-15,0,-8,-9,1,1,-3,-11,1,6,-3,-13,6,0,-13,-1,-6,-6,-14,-11,-9,-15,-18,-16,4,-16,-7,-4,-18,-6,-15,3,1,-10,0,-13,4,2,-10,-14,5,-15,1,2,-14,-3,0,-3,-15,5,-4,-11,-1,-1,-5,-11,3,-7,-17,-9,-18,4,-4,-6,-14,-10,-11,-7,-9,-11,1,-6,6,-18,-7,1,-14,-2,-10,-6,0,3,-9,6,0,-12,-16,-14,3,-17,-1],"bias":[-170,-97,-180],"shift":6,"relu":false}]} |