| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 20s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 26s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 24s
WAI operation catalogue / does this change touch it (pull_request) Successful in 13s
wai cross-architecture byte-equality / does this change touch it (pull_request) Successful in 21s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (pull_request) Successful in 46s
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 29s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 18s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 34s
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 29s
WAI conformance / does this change touch it (pull_request) Successful in 16s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 8s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 12s
wai-key-proxy / does this change touch it (pull_request) Successful in 13s
WAI neural sink gates / does this change touch it (pull_request) Successful in 12s
wai-ledger service / does this change touch it (pull_request) Successful in 14s
WAI neural decoders end-to-end / does this change touch it (pull_request) Successful in 14s
wai-ops integer operators / does this change touch it (pull_request) Successful in 6s
WAI JPEG-AI whole decode (pinned inputs, required) / does this change touch it (pull_request) Successful in 17s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 6s
wai-quantum command line / does this change touch it (pull_request) Successful in 5s
wai-quantum contract / does this change touch it (pull_request) Successful in 5s
wai-fleet service / does this change touch it (pull_request) Successful in 21s
WAI energy receipts / does this change touch it (pull_request) Successful in 24s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 20s
wai-quantum docs, course and locales / does this change touch it (pull_request) Successful in 5s
wai-quantum CUDA member / does this change touch it (pull_request) Successful in 7s
wai-quantum dataflow member / does this change touch it (pull_request) Successful in 8s
wai-quantum signal processor / does this change touch it (pull_request) Successful in 8s
wai-quantum editors / does this change touch it (pull_request) Successful in 6s
wai-quantum resource estimation / does this change touch it (pull_request) Successful in 7s
wai-quantum FPGA member / does this change touch it (pull_request) Successful in 6s
wai-quantum OpenQASM reader / does this change touch it (pull_request) Successful in 7s
wai-quantum Metal member / does this change touch it (pull_request) Successful in 7s
wai-quantum npu-cores member / does this change touch it (pull_request) Successful in 9s
wai-quantum OpenCL member / does this change touch it (pull_request) Successful in 7s
wai-quantum neural-processor member / does this change touch it (pull_request) Successful in 10s
wai cross-architecture byte-equality / macos-arm64 (reference) (pull_request) Successful in 36s
wai-quantum HIP member / does this change touch it (pull_request) Successful in 17s
wai-quantum for JavaScript / does this change touch it (pull_request) Successful in 20s
wai-quantum other formats / does this change touch it (pull_request) Successful in 22s
wai-quantum pulse and dynamics / does this change touch it (pull_request) Successful in 11s
wai-quantum for Python / does this change touch it (pull_request) Successful in 10s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 1m20s
wai-quantum error correction and mitigation / does this change touch it (pull_request) Successful in 10s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 2m14s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 21s
wai-quantum-qpu / does this change touch it (pull_request) Successful in 10s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 1m48s
wai-quantum extension points / does this change touch it (pull_request) Successful in 11s
wai-quantum service / does this change touch it (pull_request) Successful in 11s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 1m58s
wai cross-architecture byte-equality / linux-aarch64 (pull_request) Successful in 34s
wai-quantum matrix-extension member / does this change touch it (pull_request) Successful in 10s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 10s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 1m58s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 58s
wai-quantum tensor-engine member / does this change touch it (pull_request) Successful in 9s
wai-quantum portable tensor program / does this change touch it (pull_request) Successful in 9s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 34s
wai-quantum CUDA member / member · CUDA (thor) (pull_request) Successful in 2m20s
wai-quantum variational and algorithm library / does this change touch it (pull_request) Successful in 9s
wai-quantum on every processor / emulated · armv7-unknown-linux-gnueabihf (pull_request) Successful in 2m25s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 2m57s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 3m49s
wai-quantum CPU vector units / does this change touch it (pull_request) Successful in 10s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 38s
wai-quantum verdicts and repairs / does this change touch it (pull_request) Successful in 5s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 5s
wai-quantum views in agent hosts / does this change touch it (pull_request) Successful in 10s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 5s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 5s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 10s
WAI Studio / does this change touch it (pull_request) Successful in 5s
wai-vector vector graphics / does this change touch it (pull_request) Successful in 9s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 5s
wai-web wasm32 / does this change touch it (pull_request) Successful in 5s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Successful in 4m34s
wai-quantum on every processor / emulated · loongarch64-unknown-linux-gnu (pull_request) Successful in 3m12s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (thor) (pull_request) Successful in 1m2s
wai-quantum npu-cores member / member · npu-cores, neural processor (framework-128gb silicon) (pull_request) Successful in 1m17s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 4m30s
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m36s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 1m1s
wai-quantum OpenCL member / member · OpenCL GPU (framework-128gb) (pull_request) Successful in 25s
wai cross-architecture byte-equality / linux-x86_64 (pull_request) Successful in 28s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 34s
wai-ledger service / service · macos (pull_request) Successful in 49s
wai-quantum on every processor / emulated · s390x-unknown-linux-gnu (pull_request) Successful in 5m3s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 2m2s
wai-quantum HIP member / member · HIP (framework-128gb) (pull_request) Successful in 1m7s
wai-quantum on every processor / emulated · riscv64gc-unknown-linux-gnu (pull_request) Successful in 5m24s
wai-quantum portable tensor program / tensor program · integrated GPU (framework-128gb) (pull_request) Successful in 13s
wai-ops integer operators / macos-arm64 (pull_request) Successful in 48s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 7m0s
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Successful in 19s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 20s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 36s
wai-quantum on every processor / emulated · powerpc64-unknown-linux-gnu (pull_request) Successful in 6m9s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 3m10s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Successful in 5s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 32s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 47s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m50s
wai-key-proxy / proxy · linux (pull_request) Successful in 1m13s
wai-pack / wai-pack · macos (pull_request) Successful in 2m42s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m35s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 2m11s
WAI neural sink gates / the exact JPEG-AI decoder reports its path (pinned inputs, required) (pull_request) Successful in 2m12s
wai-ledger service / service · linux (pull_request) Successful in 1m47s
wai-quantum on every processor / emulated · powerpc64le-unknown-linux-gnu (pull_request) Successful in 9m29s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m46s
wai-quantum command line / command line · macos (pull_request) Successful in 1m17s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 8m26s
wai-ops integer operators / wasm32 under Node (pull_request) Successful in 30s
wai-ops integer operators / wasm32-wasip2 (wasmtime) (pull_request) Successful in 36s
WAI neural decoders end-to-end / synthetic fixtures → Rust decode → reference (±4) (pull_request) Successful in 1m32s
wai-ops integer operators / linux-x86_64 (pull_request) Successful in 1m2s
wai-ops integer operators / independent checker (Python) (pull_request) Successful in 14s
wai-quantum on every processor / emulated · sparc64-unknown-linux-gnu (pull_request) Successful in 10m23s
wai-quantum contract / the policy is linked, and the deprecations page reads (pull_request) Successful in 7s
wai-fleet service / service · macos (pull_request) Successful in 54s
wai-quantum on every processor / emulated · aarch64-unknown-linux-gnu (pull_request) Successful in 12m16s
wai-pack / wai-pack · linux (pull_request) Successful in 2m6s
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 13m3s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 10m18s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 11m27s
wai-quantum command line / command line · linux (pull_request) Successful in 3m18s
wai-quantum dataflow member / member · dataflow device absent (macos) (pull_request) Successful in 21s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 8m28s
wai-fleet service / service · linux (pull_request) Successful in 2m21s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 9m18s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 6m39s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 8s
wai-quantum contract / API compatibility · linux (pull_request) Successful in 5m21s
wai-quantum editors / editors · macos (pull_request) Successful in 2m8s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 3m53s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 2m18s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 14m36s
wai-quantum contract / schemas and the committed tool lists · linux (pull_request) Successful in 6m46s
wai-quantum FPGA member / member · FPGA datapath, simulated (macos) (pull_request) Successful in 1m25s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 18m0s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 1m45s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 4m6s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 23s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 8m20s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 33s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 50s
wai-quantum on every processor / emulated · i686-unknown-linux-gnu (pull_request) Successful in 18m7s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 26s
wai-quantum editors / editors · linux (pull_request) Successful in 2m28s
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 1m19s
wai-quantum resource estimation / estimation and calibration · linux, release (pull_request) Successful in 1m54s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 18m56s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 50s
wai-quantum OpenQASM reader / reader and corpus · linux (pull_request) Successful in 1m47s
wai-quantum pulse and dynamics / the same bits · macos (pull_request) Successful in 1m7s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m52s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 4m13s
wai-quantum-qpu / credentials in the keychain (macos) (pull_request) Successful in 52s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (pull_request) Successful in 52s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m38s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 34s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 10m58s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 16m0s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 8m6s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 46s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (pull_request) Successful in 56s
wai-quantum for Python / python · macos (pull_request) Successful in 2m59s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 20s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 26s
wai-quantum other formats / readers, writers and the set · linux (pull_request) Successful in 3m42s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 3m28s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 21m22s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (pull_request) Successful in 2m41s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 4m40s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 35s
wai-quantum extension points / the registry and the example · linux (pull_request) Successful in 2m36s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 10m41s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 40s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 12m33s
wai-quantum service / service · macos (pull_request) Successful in 4m1s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 23s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (pull_request) Successful in 4m41s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 37s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 11s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 7m28s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 26s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 2m7s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (pull_request) Successful in 1m59s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 10s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 1m18s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m30s
wai-quantum service / service · linux (pull_request) Successful in 4m43s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 5m17s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m51s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 21m17s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m51s
wai-vector vector graphics / macos-arm64 (pull_request) Successful in 2m7s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (pull_request) Successful in 2m30s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 1m48s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m55s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 5m59s
wai-quantum for Python / python · linux (pull_request) Successful in 9m4s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 1m0s
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Successful in 3m13s
wai-vector vector graphics / wasm32-wasip2 (wasmtime) (pull_request) Successful in 50s
wai-vector vector graphics / wasm32 under Node (pull_request) Successful in 25s
wai-vector vector graphics / fuzz, peak allocation, comparison count (pull_request) Successful in 16s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 7m38s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Successful in 5m54s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 7m4s
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 4m8s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 15m47s
wai-vector vector graphics / wasm32 in three browser engines (pull_request) Successful in 2m35s
wai-vector vector graphics / independent checker (Python) (pull_request) Successful in 3m0s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 3m54s
wai-vector vector graphics / linux-x86_64 (pull_request) Successful in 5m37s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 9m14s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 21m22s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 7m27s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 10m15s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 11m59s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Successful in 6m48s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 6m44s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 9m5s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 33m23s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Successful in 7m11s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 18m7s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Successful in 2m19s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Successful in 1m20s
wai-ops integer operators / linux-aarch64 (pull_request) Successful in 1m2s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m45s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Successful in 32m36s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 32s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 16s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 7m5s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 27s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 58s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Successful in 39m55s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 1m24s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Successful in 40m34s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 20s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 2m40s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 2m39s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 4m1s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 11m3s
wai-vector vector graphics / linux-aarch64 (pull_request) Successful in 4m17s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h10m6s
The watch-together example failed twice on the macOS runner for #616, on a loaded host (load
average about 50, then about 30). Each time the first page in the browser, Ada's, signed its
first presentation statement after its join, at 3.83 s and then 3.44 s on the room clock, and
then none in the slots from 4 s and 5 s (and 6 s the second time), while it was still entering
(begin()): it followed the log from 7.49 s, then 8.49 s, 3.7 s and 5.0 s after its first
statement, where Ben's page took 1.2 s and 1.0 s. Ada's page was silent at least 2.17 s, then
at least 3.56 s, with nothing refused, and was never taken for gone. What held it on the runner
was not measured.
What was measured:
- On the CI host, with CI jobs running (load average 30 to 39), in a browser launched as the
example's test launches it (headless, the same flags, at nice 10), on a blank page with
nothing else in it: the first audio context in a fresh browser held its page's thread 172 to
192 ms (3 runs), for the constructor call alone; a second page's took 3.8 to 4.0 ms; neither
page's thread had a gap over 60 ms in the 1.5 s after. That is a tenth or less of Ada's
silences. Moving the context before the join takes about 0.2 s, as measured there, out of the
stretch in which the page must state; what held Ada's page for the rest is unexplained. The
rest of begin() (its audio worklet, its relay session, its WebAssembly, its first draws, the
camera and microphone) was not measured there, nor an audio context made beside that work.
- On a laptop, in 25 runs of the example: the first page's audio context 94 to 128 ms, the
second's 0.8 to 1.4 ms.
- On a laptop, on main, two injected faults each leave empty the slots just after the first
page's first statement, as in CI: the audio-context call held 2.5 s (a busy wait in it; the
slots from 1 s and 2 s, 1 run), and the first page's renderer process stopped 2.5 s from its
join (SIGSTOP; the slot from 2 s, 2 of 2 runs). Neither was measured on the CI host.
This change is not shown to make the example pass on the CI host. If what held Ada's page there
was the page's own work on its thread, or the host running the page's other threads and not
that one, the check below still fails (its heartbeat ticking), and what it prints does not tell
those two apart.
1. The page makes the composition's audio context before it enters the co-watch log (app.js
enter(), the new Compositor.openAudio()), since from that join it states in every slot
(co-watch §7.3), so that hold is not in the stretch in which it must state. The rest of the
entry (begin()) still runs after the join. begin() takes the compositor the entry made; in
any other room it makes one, as before. The snapshot carries when the context was made, on
the room clock, and how long making it held the thread (cowatch.audio_open).
2. A compositor made for an entry that failed is closed when the next entry makes its own
(Compositor.close(): its mix timer, its worklet node, its drawing, its frames and its audio
context). Before, it stayed, its audio context open and its mix timer running.
3. The statement loop records its stalls (cowatch.js run(), snapshot().stalls): each gap over
half a slot between two of its passes, `{ from, to }` on the page's estimate of the room
clock, with how long its wait and its signing took in it, on that clock (`timer_us`,
`signing_us`); the rest of a stall is the loop's own work. It states every half slot while
it runs, so it leaves a slot empty only inside such a stall. Its wait is a method (`wait`),
and roomTime(ms) gives the room clock at an instant of the page's clock. The snapshot
carries the loop's wait (`pass_ms`) and the page's clock beside the room clock (`wall_ms`).
The co-watch rule and §7.3 are unchanged.
4. The example's slot check (co-watch §7.3: a statement in every slot while present) sets an
empty slot apart only if the machine ran nothing of the page in the slot's second half: a
stall of the loop spans that half; a heartbeat worker that the test starts in each page,
ticking every 20 ms, did not tick in it either (to within a pass at each end); and the stall
is the loop's wait and its signing but for at most one pass of its own work. Otherwise the
check fails and says why: no stall of the loop (a statement lost); the heartbeat ticking (the
page's thread did not run its loop while the worker ran: the page's own work holding the
thread, or the host running the worker and not the page's thread, which the check does not
tell apart); or more than a pass of the loop's own work (its own code, an await outside its
measures, or the thread taken off the processor inside it). On a host that runs the page's
threads unevenly, the check can fail in these ways with no defect in the page. Pass or fail,
it prints each page's audio-context time, its loop's stalls and its heartbeat's silences over
100 ms. They show whether the page's thread or the whole page was held, not what held it.
Unit tests (cowatch.test.mjs) run the loop on a room clock the test moves: no stall and every
slot held while it runs; a thread held while the loop waited, recorded once with all of the
stall its wait, and the only empty slots those it spans; a gap just over half a slot recorded
and one of half a slot not; a stall in a pass's own work recorded with a wait of one pass, the
rest neither wait nor signing.
Verified on a laptop with this change on main (
|
||
| .. | ||
| android-app | ||
| apple-app | ||
| encoder-ingest | ||
| messaging | ||
| package-and-deliver | ||
| remote-desktop | ||
| verify-receipts | ||
| video-room | ||
| watch-together | ||
| README.md | ||
WAI examples
Small projects that each do one thing with WAI, and each run on your own machine with the open
reference software alone. Every one is a template of wai create:
wai create my-room --template video-room
cd my-room
wai dev
| Template | What it shows | Runs with |
|---|---|---|
video-room |
Your own page with a live room in it: camera, microphone, every object checked against its receipt | wai dev, a browser |
watch-together |
Everyone in a room watching one file in sync: play, pause and seek at one instant for all | wai dev, a browser |
messaging |
An end-to-end encrypted conversation, and a call placed, rung and answered | wai dev, a browser |
encoder-ingest |
An SRT encoder's stream published into a room, each group signed at the first hop and checked at the relay and the subscriber | cargo |
package-and-deliver |
A title packed by policy, its package verified, its standard floor played in a page | wai-pack, wai dev, a browser |
verify-receipts |
The receipts beside an object checked offline by the reference implementation (Rust) and by a second one (Python, standard library only) | wai hello, cargo, python3 |
apple-app |
The native sink in a SwiftUI app, and a recorded playback session replayed through it | Xcode, the wai-sink-swift package |
android-app |
The native sink's Kotlin API, the one an Android app's player session calls | a JDK 17, the wai-sink-android project |
remote-desktop |
One machine's screen shared into a room, with control handed over and every input signed | wai dev, wai-remote-host, a browser |
Every example is Apache-2.0, and carries the license's text as LICENSE, which a project
wai create makes from it receives with the rest.
Each example's test/ directory holds the check that it works; it is not part of the project
wai create writes. bash ../quickstart/test/run-examples.sh portable|browser|apple|android
runs them, as .github/workflows/wai-examples.yml does.