wai/wai-int-module is one WebAssembly module with the interface of waism §5 and nothing else: no import, one memory with a declared maximum, and every allocation trapping where memory cannot grow (R13). It decodes the integer payloads (WIV1, WIH1, WIA1, WIS1), int_synth, int_mlicpp, opus.dred.int and avatar.face through wai-rs's integer decoders, whose networks run on wai-ops/1; networks and weights arrive as each capability's set. - record/: the scalar and SIMD128 builds (7,099 vector instructions), named by SHA-256 in manifest.json, each held at the integer level by the Rust checker and check-module.mjs. build.sh builds both with the machine's paths remapped and checks both with both checkers. A build on another host has other bytes (the compiler's crate hashes take in each path dependency's absolute path and the host) and gives every case the same outcome. - corpus.json (corpus.py): every committed vector and refusal fixture of those capabilities, 120 cases, from the committed corpora. - host/ (wasmtime 50.0.1 Cranelift and Winch, Wasmi 2.0.0 with floats off), run-node.mjs and browser/run-browser.mjs run every case as a sink does and print one run digest; every run, on Linux x86_64, Linux arm64 and macOS arm64, gives the same. - plant.py plants a float or a relaxed vector instruction in a module, for the checkers. - waism §5, The set: one file as its bytes, several as their file sequence. avatars §6 names generator.wfg and identity.wfi; avatars §7.8, opus-dred §4.8 and determinism-tiers §5 state the module as a fabric. Co-Authored-By: Claude Opus 5.5 <[email protected]>
28 lines
1.1 KiB
TOML
28 lines
1.1 KiB
TOML
# The engines the module of record is held on natively: wasmtime with each of its two
|
|
# compilers, Cranelift and Winch, and Wasmi, an interpreter. Each runs every case of the
|
|
# module corpus (`../corpus.json`) through the module as a sink does (waism §5, §6 checks
|
|
# 11 to 13, §7), and holds every output to the corpus.
|
|
[package]
|
|
name = "wai-int-module-host"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
publish = false
|
|
|
|
[[bin]]
|
|
name = "wai-int-module-host"
|
|
path = "src/main.rs"
|
|
|
|
[dependencies]
|
|
# Pinned exactly: the engines are what the run states it held the module on.
|
|
wasmtime = { version = "=50.0.1", features = ["winch"] }
|
|
# Wasmi with WebAssembly's 128-bit vectors (`simd`), for the module's SIMD128 build.
|
|
wasmi = { version = "=2.0.0", features = ["simd"] }
|
|
serde_json = "1"
|
|
sha2 = "0.10"
|
|
# `--count`: the module's instructions, and how many are 128-bit vector instructions. The
|
|
# release wasmtime 50.0.1 reads with.
|
|
wasmparser = { version = "=0.261.0", default-features = false, features = ["std", "simd", "validate"] }
|
|
|
|
[profile.release]
|
|
debug = false
|