open-standards/.github
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 79a94d3d94
All checks were successful
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 21s
wai-ledger service / does this change touch it (push) Successful in 11s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 22s
wai-audit collector and player integration / does this change touch it (push) Successful in 24s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 37s
WAI operation catalogue / does this change touch it (push) Successful in 23s
wai-quantum for JavaScript / does this change touch it (push) Successful in 16s
wai-quantum for Python / does this change touch it (push) Successful in 26s
wai-quantum studio and desktop / does this change touch it (push) Successful in 25s
wai-quantum views in agent hosts / does this change touch it (push) Successful in 25s
wai-sink-android native sink library / does this change touch it (push) Successful in 16s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 1m26s
wai-sink-swift native sink package / does this change touch it (push) Successful in 27s
WAI Studio / does this change touch it (push) Successful in 29s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 1m29s
wai-app and Create / wai-app · does this change touch it (push) Successful in 1m29s
wai-quantum editors / does this change touch it (push) Successful in 1m19s
wai-quantum command line / does this change touch it (push) Successful in 1m20s
wai-fleet service / does this change touch it (push) Successful in 1m20s
wai-quantum contract / does this change touch it (push) Successful in 1m21s
wai-quantum docs, course and locales / does this change touch it (push) Successful in 1m20s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m51s
wai-ledger service / service · macos (push) Successful in 1m59s
wai-ledger service / service · linux (push) Successful in 2m13s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m28s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 1m12s
wai-quantum for Python / python · macos (push) Successful in 2m52s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 53s
wai-quantum for JavaScript / javascript · linux (push) Successful in 3m46s
wai-audit collector and player integration / collector · linux (push) Successful in 4m15s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 32s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 6m2s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 5m1s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 5m53s
wai-quantum views in agent hosts / views · the page and its engine (push) Successful in 4m17s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Successful in 7s
joule-moq-room room service / joule-moq-room, every target (push) Successful in 6m20s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 5m51s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 5m49s
wai-quantum views in agent hosts / views · a scripted host (push) Successful in 4m52s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 1m43s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 6m58s
wai-quantum editors / editors · macos (push) Successful in 1m28s
wai-quantum for Python / python · linux (push) Successful in 7m31s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 8m20s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Successful in 10s
wai-fleet service / service · macos (push) Successful in 36s
wai-quantum studio and desktop / studio · browser (push) Successful in 8m5s
wai-quantum command line / command line · macos (push) Successful in 3m7s
wai-fleet service / service · linux (push) Successful in 2m20s
wai-quantum contract / API compatibility · linux (push) Successful in 5m10s
wai-quantum editors / editors · linux (push) Successful in 3m37s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 6m28s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 10m45s
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Successful in 3m50s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 11m58s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 13m1s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 11m2s
wai-quantum contract / schemas and the committed tool lists · linux (push) Successful in 7m43s
WAI Studio / Studio in WebKit · linux (push) Successful in 12m22s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 16m5s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 17m44s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 16m14s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 16m24s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Successful in 17m39s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 11m45s
wai-quantum command line / command line · linux (push) Successful in 33m47s
wai_pq_vectors fits Windows' 1 MiB main-thread stack: the hybrid key's ML-DSA key on the heap, and the conformance leg's 8 MiB link flag gone
wai_pq_vectors verify, in the debug build the conformance workflow runs, stopped with
STATUS_STACK_OVERFLOW on Windows (6ca202b8a), and the corpus step's Windows leg was linked with
an 8 MiB main-thread stack to pass. The cause is in wai's own code, not in RustCrypto's: a
pq_sig::HybridKey held its ExpandedSigningKey<MlDsa65> by value, about 47 KiB (the matrix and
vectors in the NTT domain), and an unoptimised build gives every key a function makes or moves
a slot of its own. corpus::logs makes and moves dozens; under ulimit -s on the Framework the tool
needed more than 3.3 MiB of main-thread stack, and gdb at the overflow found that one frame past
1 MiB on its own. The key now holds the expanded key in a Box: logs' frame is 32 KiB, and the
tool needs about 0.75 MiB, most of it ML-DSA's key generation in the crate's own unoptimised
frames (SigningKey::from_seed, 270 KiB), which wai cannot shrink. The keys, the signatures and
the corpus are the same bytes: wai_pq_vectors verify regenerates vectors.json byte for byte and
every case reaches its verdict at ulimit -s 1024, and the pq_sig library tests and
tests/pq_signatures.rs pass. A thread with a stack of its own would have hidden the frame, not
removed it, and left every other caller of the library with it.

The 8 MiB link flag comes out of wai-conformance.yml. It was a stand-in for this fix, and kept, it
would hide from the Windows leg any other tool or test that outgrows the 1 MiB a user's build of
it gets on Windows, which is what that leg is there to see; it also gave the corpus step rustc
flags no other step has, so cargo compiled every crate of the step again. The workflow's comment
now says the tools run on each platform's own main-thread stack.

tests/pq_signatures.rs ran its generation and verification on a 64 MiB thread. It now gives them
1 MiB, what Windows gives a main thread, so an unoptimised build that outgrows it fails on every
leg, not on Windows alone. With the key planted back by value, that test fails (stack overflow).

On cbio-device-0000 (Windows x86_64, pwsh 7, debug builds linked with the platform's default
1 MiB main-thread stack, no RUSTFLAGS): main's wai_pq_vectors verify stops with
STATUS_STACK_OVERFLOW (0xC00000FD); with this change it passes, and with its stack reserve set
lower by editbin it still passes at 768 KiB and stops at 704 KiB, as under ulimit on Linux. The
corpus step as the workflow runs it (wai-conformance-lists.py corpora --verify, python3 from a
venv as the leg makes it), without the flag, passes every corpus there, pq-signatures among
them. On the Framework, the pq_sig library tests, synthesis::pq_tests and tests/pq_signatures.rs
pass as the hybrid-signatures step runs them; wai breaking against main finds no break.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-10 03:20:49 -05:00
..
wai-conformance wai: sink-evaluated predicates and per-session ad tracks — targeting and frequency caps decided on the sink from its own state, and a session's own ad bound into a room's ad frame 2026-11-09 21:15:45 -05:00
workflows wai_pq_vectors fits Windows' 1 MiB main-thread stack: the hybrid key's ML-DSA key on the heap, and the conformance leg's 8 MiB link flag gone 2026-11-10 03:20:49 -05:00