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
4.4 KiB
JSON
1 line
No EOL
4.4 KiB
JSON
{"layers":[{"in_ch":3,"out_ch":8,"k":4,"stride":2,"pad":0,"out_pad":0,"weight":[-7,-4,5,3,-6,0,-13,1,-17,-14,-16,-11,-5,-15,-12,-7,-15,3,-17,-8,-2,-11,-6,-17,6,-12,-17,6,-14,-5,-8,-17,-17,-12,-3,-17,-2,1,-12,2,-6,-3,-15,-4,-4,-6,-3,-10,-6,-11,2,-5,1,-12,-12,-17,-18,-12,-3,-8,-8,-4,-4,0,1,-6,0,-10,-2,5,-18,0,-16,-2,-17,-15,-8,-13,-13,-12,2,-6,-9,1,-14,-16,-15,4,-17,-12,-8,-8,0,3,-4,-14,-11,-17,-7,-8,-7,-9,4,-17,-4,-5,0,-1,-14,6,-18,-13,-8,-15,-9,-6,2,-3,-1,-17,1,6,-15,-7,-10,-7,-13,-7,-4,-9,-9,-13,1,-10,6,-1,-15,-5,-3,-7,-17,3,-3,5,-6,-2,-4,-11,-5,-14,4,3,-14,-10,-9,-3,0,-17,-18,4,-14,5,3,-16,-17,2,-13,-8,-17,-8,-1,-6,-14,-2,-3,-7,-18,-14,-3,3,-11,-7,1,4,-1,3,-3,-17,-10,-17,-1,1,-15,-2,-16,-1,-13,4,-1,-12,-14,6,-13,5,-12,-18,-7,-3,-3,-3,-11,-5,-1,-18,0,5,5,-11,4,-17,-3,-10,-6,1,3,1,-1,-17,0,-8,-10,-13,-10,-15,-10,-6,-3,-17,-7,-2,-18,-1,5,-14,-7,2,-1,2,-5,0,5,-3,-6,6,-3,-8,-13,2,-2,0,-7,-6,-2,-14,-18,-1,4,-5,-3,-14,1,-4,-3,-8,-5,0,-3,1,-14,6,-5,-5,-3,-17,-13,-18,-18,-11,-5,-6,-15,-12,-15,-6,-16,-8,-12,-8,-17,-15,3,5,0,-15,-17,0,-10,2,2,5,-4,4,-18,-2,3,-2,-4,2,-10,-6,-6,-1,-4,-9,-15,-3,-16,0,-17,-10,-13,-10,-17,2,-6,6,-16,-12,4,-1,-17,0,4,-15,-14,-11,-5,-4,-14,-8,-10,3,-17,-18,-5,1,-6,-8,0,-6,-16,3,-7,-16,-8,-9,-5,-16,-6,2,-1,-6,3,4,5,2,-1,-6,-3,-3,-8,6,-13,-12],"bias":[14,-51,-156,-34,-191,58,-92,55],"shift":4,"relu":true},{"in_ch":8,"out_ch":6,"k":4,"stride":2,"pad":0,"out_pad":0,"weight":[1,-10,-15,-10,-3,-8,3,6,-4,-1,-13,3,5,5,-1,2,0,3,1,-6,-12,-4,-6,-9,-5,-3,3,-14,-1,-9,-13,0,6,-14,-9,-5,-2,-17,6,1,-12,-16,-13,-8,-18,-8,0,-1,-6,-14,-3,5,2,-6,3,3,3,1,-9,-7,4,-4,-11,-17,-5,-1,2,-9,-5,5,-12,2,-12,-2,3,-4,-16,-7,-15,6,-16,-6,-12,-5,-11,2,-9,-14,-9,5,-15,-5,-6,-18,2,-17,-7,-6,-17,-2,-4,4,-16,-10,-18,2,-14,0,-14,-16,-3,-11,0,-13,1,-3,-3,3,-11,0,-16,-7,-10,-17,0,2,-3,-6,5,5,-13,-9,-5,2,-11,-7,-8,-3,-13,-18,-15,-16,-7,5,-4,-17,-7,-1,-10,6,-15,-18,-12,-1,-6,1,-2,-9,2,2,1,-16,-1,-12,-10,-14,-8,-9,-3,2,-18,-6,4,-17,1,1,-16,4,-11,5,-5,-6,-14,-8,-18,-17,6,-8,-10,-6,-3,-2,-10,3,-5,-10,-14,-17,-3,4,-6,1,0,-12,-7,-15,6,-15,4,-16,-18,-11,-4,1,-3,6,-18,-6,-5,-4,-3,-15,-10,-7,-16,-18,4,-17,-2,-13,-6,3,-6,5,-7,-6,-3,-2,-1,-15,6,3,1,-6,-3,-13,6,-13,6,3,-16,-18,-15,-12,-10,-17,-15,-17,6,-6,-17,-11,-16,-6,-10,1,-10,-1,4,4,-10,-13,-11,-7,-3,6,-13,-9,-7,1,-18,-4,-11,-3,-6,-13,6,-2,-1,-13,-14,-17,-13,-4,-13,-6,-11,-14,-9,-6,-10,-13,-4,-16,-3,-6,-17,-4,6,-2,-14,5,-1,-13,-16,0,5,-12,-4,-9,-1,-12,1,-15,-8,-8,-7,-18,-17,-5,-16,-5,-16,2,-18,-5,0,2,0,-13,-16,-18,0,-13,-5,4,-8,-10,4,4,-8,5,-15,1,-9,-16,-7,-10,0,1,-1,-18,1,-10,-6,-6,3,2,-15,-2,-2,-13,-13,-6,-17,-6,-9,-2,-10,-8,-16,-4,-3,4,-18,2,-15,-10,-5,-17,-7,-4,-18,-16,-12,-16,0,-4,-8,-2,6,-6,6,-5,-5,1,6,-17,1,0,-18,4,-6,-15,-6,2,5,-8,-3,-3,-12,-7,0,-7,-3,-10,2,-6,-12,-2,-1,-18,-2,6,-10,-2,-14,-13,-16,1,-13,1,-12,3,-3,-2,0,5,-15,-3,-12,-4,-4,-16,-2,2,6,-6,-11,-1,3,-10,-18,0,-18,-3,5,3,-13,-9,-18,5,-4,-9,4,-1,-3,-3,3,-16,-18,-10,4,5,-8,-15,-8,4,4,-9,-7,-18,-16,-18,-8,-12,1,-14,-17,2,-14,-10,0,-8,0,2,-9,6,-4,-14,-6,-4,-14,-16,-15,-13,-3,0,-2,2,-17,-12,0,3,-12,-11,1,-14,-4,-5,-6,4,-8,1,0,-4,-7,-2,-5,-10,-14,6,-2,-2,-12,-18,-1,-7,-8,-12,3,-18,-1,-14,-1,-14,-7,4,-11,-18,6,-11,5,-10,-17,-15,-13,-5,-3,-7,-3,-7,-16,5,2,6,-9,2,-6,-4,6,-6,-2,5,-17,-3,-1,-11,-11,-9,4,-7,0,-4,-12,1,5,-13,-17,-1,-1,-17,6,5,-15,3,-16,-10,-16,0,-1,6,6,-2,-12,-6,2,-9,-13,-7,-8,-9,-10,2,-14,-14,-2,-11,-7,-7,-6,6,-8,6,6,-3,-12,-2,-3,-18,-10,-1,-6,1,6,-5,-17,-12,-12,-1,-6,4,-16,-7,-3,-16,-10,-11,-13,2,3,1,3,-6,5,-6,-7,6,-15,-13,-14,-17,6,-15,-3,2,0,-14,2,3,2,-3,-6,-12,6,-13,-3,2,-15,-5,2,-4,-6,-3,0,6,-17,5,-8,-9,-10,2,-3,5,-15,-6,-9,-5,-8,-11,-4,2,1,-3,-17,1,-4,-16,-9,-8,-9,-13,-1,-15,1,-6,0,-15,-1,-13,-6,-16,-7,-16,-11,-2,3,-17,-17,3,-17,-2,2,-6,-3,-13,-15,-15,-6,-18,6,-13,-15,-15,-5,-6,-18,-4,-10,3,-4,-16,-11,-15,-10,6,-14,4],"bias":[13,62,-53,-166,-18,-148],"shift":5,"relu":true},{"in_ch":6,"out_ch":3,"k":3,"stride":1,"pad":0,"out_pad":0,"weight":[-12,-13,-6,-16,-12,-6,-17,-12,-16,-2,0,-1,1,-4,-14,-2,-6,-15,2,-2,-11,-7,-8,-8,-12,-15,-8,-14,-7,-16,-1,0,-13,1,-13,-2,-10,4,-17,-7,4,-8,-16,-15,-8,-15,0,-10,-3,3,5,5,-18,4,0,3,-15,-7,1,0,-4,4,5,4,-3,-7,-10,-9,-6,4,-18,6,-9,-2,-6,-12,-8,-1,1,4,3,-13,-8,-8,-4,-4,-15,-7,-2,-6,-17,-8,-4,2,-6,-9,-10,-13,6,-15,-15,-14,-14,-2,-18,-3,-18,-9,-6,-18,0,2,6,-17,-16,2,-17,-17,-2,-8,-11,-9,-7,-2,-15,-5,-7,2,-11,1,-6,-1,-17,-10,-10,-9,-11,0,-13,5,-15,-5,-1,-3,5,-18,-14,-9,-6,-2,-1,0,3,-4,4,-6,-17,-14,-5,6,-18,-7],"bias":[-100,-107,-15],"shift":4,"relu":false}]} |