| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 8s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 18s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 45s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m34s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 3m27s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 3m57s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m44s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 5m26s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 5m29s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 6m26s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 6m51s
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-quantum docs, course and locales / does this change touch it (push) Has been cancelled
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Has been cancelled
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Has been cancelled
wai-quantum docs, course and locales / the Studio's words in every locale · linux (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-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 9m33s
wai release binaries build on Windows / the seven release binaries · windows (push) Successful in 12m21s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 12m37s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 14m48s
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-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-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-int-module WAISM module of record / does this change touch it (push) Successful in 11s
wai-int-module WAISM module of record / the module of record in Chromium (push) Successful in 10s
wai-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 9m8s
wai-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 6m56s
wai command line release / the tag is the crate's version (push) Successful in 16s
wai command line release / the room client and WAI Studio (push) Successful in 3m21s
wai command line release / macOS · aarch64-apple-darwin (push) Successful in 9m15s
wai command line release / Linux · x86_64-unknown-linux-musl (push) Successful in 12m56s
wai command line release / Linux · aarch64-unknown-linux-musl (push) Successful in 13m24s
wai command line release / macOS · x86_64-apple-darwin (push) Successful in 21m33s
wai command line release / Windows · x86_64-pc-windows-msvc (push) Successful in 28m22s
wai command line release / Homebrew formula and Scoop manifest (push) Successful in 9s
The crate's version for the release wai-v0.6.0, version only: wai/wai-rs/Cargo.toml and the `wai` entry of the eighteen lockfiles that hold it; the installer's default (wai/quickstart/install.sh), which the release's first job requires to be the tag's version; the catalogue export, whose `toolchain` is the crate's version, and WAI Studio's actions generated from it (node scripts/actions.mjs). The changelog's entries under wai/changes/ are assembled into it (scripts/changelog-assemble.py --write) and become v0.6.0, under an Unreleased heading for what comes next. Fixtures and recorded measurements keep the version they name. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| browser | ||
| host | ||
| record | ||
| src | ||
| build.rs | ||
| build.sh | ||
| Cargo.lock | ||
| Cargo.toml | ||
| cases.mjs | ||
| corpus.json | ||
| corpus.py | ||
| node-worker.mjs | ||
| plant.py | ||
| README.md | ||
| run-node.mjs | ||
| sink.mjs | ||
wai-int-module — the operator-set module
The first module of record of WA²ISM™'s integer level
(extensions/waism.md, waism/1-int): one WebAssembly module, with
the interface of waism §5 and nothing else, that decodes WAI's integer capabilities. Its decoders
are wai-rs's, whose networks run on the integer operator set (wai-ops/1,
integer-operators). The networks and their weights are not
in the module: each arrives as its capability's parameter set, data a sink holds to its digest,
so one checked module serves every capability below.
| capability | payload | set | output |
|---|---|---|---|
wai.neural.int_hyper |
WIH1 |
the file sequence of entropy.json, g_s.whm, h_s.whm |
RGB8 |
wai.video.int_hyper |
WIV1, keyframe 1 |
the same | each frame's SHA-256, in order |
wai.video.int_motion |
WIV1, keyframe 0 |
none | each frame's SHA-256, in order |
wai.audio.int_codec |
WIA1 |
model.wam |
int16 PCM, little-endian |
wai.splat.int_codec |
WIS1 |
g_s.whm |
the attribute tensor |
wai.neural.int_synth |
the latent | int_synth.json |
RGB8 |
wai.neural.int_mlicpp |
the coded image | model.wmb |
RGB8 |
wai.audio.opus.dred.int |
an Opus packet | the draft's weights file | the feature rows, i32 little-endian; none for a packet with no DRED |
wai.avatar.face |
WFK1 |
the file sequence of generator.wfg, identity.wfi |
the frames' RGB8, one after another |
Each output is the capability's canonical buffer (waism §5 step 5): for video, a per-frame hash,
whose SHA-256 is the clip digest the integer-payload corpus states. A refusal is the capability's
own code, with wai_run returning 1. A set of one file is that file's bytes; a set of several is
their file sequence (waism §5, The set).
What holds it
- No floating point, no import, a fixed interface. Both of the profile's checkers
(
../wai-module-check), the Rust checker andcheck-module.mjs, hold each build at the integer level. Every allocation traps where memory cannot grow, so a failedmemory.growinsidewai_runends in a trap and never in an output (R13);wai_allocalone returns 0. - The module corpus.
corpus.json, written bycorpus.pyfrom the committed corpora: every vector and refusal fixture of the capabilities above, 120 cases, each with its capability, payload, set and the SHA-256 of the output or the refusal code. Its sources areint-payload-conformance/,neural-conformance/,wai-rs/tests/vectors/int_mlicpp/,live-conformance/dred/(whose weights filelive-conformance/dred/fetch.shfetches and checks) andlive-conformance/avatar-face/(each frame vector as a segment of one frame). - The engines. Each runner decodes every case on an instance of its own, as waism §5 and §6 checks 11 to 13 state, holds every output to the corpus, and prints a run digest: the SHA-256 of one line a case, its name and its outcome. Every run gives the same run digest.
| runner | engine |
|---|---|
host/ |
wasmtime 50.0.1 with Cranelift, and with Winch; Wasmi 2.0.0 with its floating point turned off |
run-node.mjs |
Node, each module in a worker under a wall-clock limit |
browser/run-browser.mjs |
Chromium, headless: each case in a page's worker, each output sent back as bytes and held to the corpus outside the page |
The modules of record
record/ holds two builds of this crate for wasm32-unknown-unknown, named by their
SHA-256 in record/manifest.json:
| file | build | instructions | of them 128-bit vector instructions |
|---|---|---|---|
wai_int.wasm |
scalar | 314,437 | 0 |
wai_int.simd128.wasm |
SIMD128 | 313,155 | 7,099 |
The SIMD128 build is the same source, which the compiler lowers to WebAssembly's integer vector instructions where it can. Its output is the scalar build's: every case gives the same outcome in both, on every engine.
Each module of record gave every case of the corpus its stated outcome, with run digest
0098ef57a0c75c4563b842e8969778b7744a258872ae7ae48917fb1a93b3aaf5, on these (macOS arm64:
the build of this source made over wai 0.4.0, before its version moved to 0.5.0, with
SHA-256 80e64e02…1441 and f0f9e1df…1fc1):
| host | wasmtime 50.0.1, Cranelift | wasmtime 50.0.1, Winch | Wasmi 2.0.0 | Node | Chromium, headless |
|---|---|---|---|---|---|
| Linux x86_64 | yes | yes | yes | 22.23.4 | 148.0.7778.96 |
| Linux arm64 | yes | yes | yes | 24.22.2 | |
| macOS arm64 | 26.13.0 | 156.0.8078.4 |
The module is the same source on every host, and its bytes are not: the compiler's crate hashes
take in the absolute path of each path dependency and the host it runs on, and they order what it
emits. Linux arm64's build of this source has other bytes (765,514 and 773,603), and on wasmtime
with both compilers, Wasmi and Node there it gave every case the same outcome, the same run
digest. So record/ is named by its SHA-256, and a build is held to the corpus, not to record/'s
bytes.
Building and running
bash build.sh [--out DIR] # both builds, each held by both checkers
bash ../live-conformance/dred/fetch.sh DRED # the weights file the corpus names
(cd host && cargo run --release -- --external DRED ../corpus.json ../record/wai_int.wasm ../record/wai_int.simd128.wasm)
node run-node.mjs --external DRED corpus.json record/wai_int.wasm record/wai_int.simd128.wasm
node browser/run-browser.mjs --browser PATH --external DRED corpus.json record/wai_int.wasm
python3 -I corpus.py --check # corpus.json is the committed corpora's
python3 -I plant.py float|relaxed IN OUT # a rule-breaking instruction, for the checkers
build.sh names no path of the machine that runs it in the module: the checkout, the Cargo home
and the toolchain are remapped.
CI: .github/wai-conformance/verifiers/module-check.sh holds record/ to its manifest and both
builds at the integer level by both checkers, and refuses the module of record with a float
instruction planted, and with a relaxed vector instruction, at the rule and offset the plant
gives; .github/workflows/wai-int-module.yml runs the engines.