Some checks failed
joule-code conformance gate / joule-moq-relay, every target (push) Waiting to run
joule-code conformance gate / joule-moq-ingest, every target (push) Waiting to run
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Waiting to run
wai-av2 / decoder · linux-arm64 (push) Waiting to run
WAI conformance / does this change touch it (push) Has been skipped
WAI conformance / cargo-class corpora · linux (push) Has been skipped
WAI conformance / cargo-class corpora · linux-arm64 (push) Has been skipped
WAI conformance / cargo-class corpora · macos (push) Has been skipped
WAI conformance / cargo-class corpora · windows (push) Has been skipped
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (push) Has been skipped
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (push) Has been skipped
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (push) Has been skipped
WAI conformance / v2 vocabulary · manifests validate as stated (push) Has been skipped
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (push) Has been skipped
WAI conformance / independent verifiers · every verifier step, each corpus's Rust side (push) Has been skipped
WAI conformance / each feature of the independent verifiers' steps compiles alone (push) Has been skipped
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (push) Has been skipped
WAI conformance / cross-arch byte-equality · linux (push) Has been skipped
WAI conformance / cross-arch byte-equality · linux-arm64 (push) Has been skipped
WAI conformance / cross-arch byte-equality · macos (push) Has been skipped
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (push) Has been skipped
WAI conformance / C2PA manifest emission · signed, read back, validated (push) Has been skipped
WAI conformance / independent verifiers · each needs= is what a run without packages shows (nightly) (push) Has been skipped
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 1m5s
wai-det-jpegai WAISM float-level module of record / does this change touch it (push) Successful in 4m27s
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 4m45s
wai-app and Create / wai-app · does this change touch it (push) Successful in 4m38s
wai-det-jpegai WAISM float-level module of record / linux-arm64 · both checkers, F1, F2 on wasmtime (Cranelift, Winch, Pulley) and Wasmi, the planted faults (push) Waiting to run
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Waiting to run
wai-audit collector and player integration / does this change touch it (push) Successful in 4m38s
wai cross-architecture byte-equality / does this change touch it (push) Successful in 4m32s
wai-fleet service / does this change touch it (push) Successful in 4m26s
wai cross-architecture byte-equality / linux-aarch64 (push) Waiting to run
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 4m43s
joule-moq-room room service / joule-moq-room, every target (push) Waiting to run
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 4m44s
wai-av1 / does this change touch it (push) Successful in 4m40s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 4m45s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Waiting to run
wai-av1 / decoder · linux-arm64 (push) Waiting to run
WAI operation catalogue / does this change touch it (push) Successful in 4m38s
joule-moq-agent AI participants / joule-moq-agent · does this change touch it (push) Successful in 4m56s
joule-moq-agent AI participants / joule-moq-agent, every target (push) Waiting to run
joule-moq-interop-nightly / joule-moq-interop · today's passing cells against the pinned peers (push) Successful in 5m7s
energy meters on real hardware / RAPL and NVML on jetson-hub (push) Failing after 5m18s
wai-verifier-module / macos · the recipe on macOS arm64, and the interface (push) Successful in 2m9s
energy meters on real hardware / sink decode table · per-task energy and the GPU rail on macOS (push) Successful in 3m53s
wai-pack / wai-pack · does this change touch it (push) Successful in 2m33s
wai-pack / wai-pack · linux-arm64 (push) Waiting to run
wai-pack / wai-pack · independent verifier (Python) (push) Waiting to run
wai-pack / wai-pack · the floor through a media prober (push) Waiting to run
wai-pack / wai-pack · dependency licences (push) Waiting to run
wai-quantum clippy / does this change touch it (push) Successful in 2m36s
wai-quantum command line / does this change touch it (push) Successful in 2m37s
wai-quantum contract / does this change touch it (push) Successful in 2m35s
wai media golden suite on RISC-V (emulated) / does this change touch it (push) Successful in 2m42s
wai-int-module WAISM module of record / does this change touch it (push) Successful in 2m47s
wai-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Waiting to run
wai formal verification (integer core) / does this change touch it (push) Successful in 2m50s
wai-ops integer operators / does this change touch it (push) Successful in 2m49s
wai-ops integer operators / linux-aarch64 (push) Waiting to run
wai-ops-gpu integer operators on GPUs / does this change touch it (push) Successful in 2m58s
wai-ledger service / does this change touch it (push) Successful in 3m0s
wai-key-proxy / does this change touch it (push) Successful in 3m1s
wai key · Windows / does this change touch it (push) Successful in 3m5s
energy meters on real hardware / sink decode table · RAPL on jetson-hub (NVML surveyed) (push) Successful in 5m45s
wai-quantum docs, course and locales / does this change touch it (push) Successful in 3m37s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m13s
wai cross-architecture byte-equality / macos-arm64 (reference) (push) Successful in 26s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (jetson-hub) (push) Failing after 1m19s
wai-quantum for JavaScript / does this change touch it (push) Successful in 4m51s
wai-quantum other formats / does this change touch it (push) Successful in 4m52s
wai-quantum editors / does this change touch it (push) Successful in 4m54s
wai-quantum service / does this change touch it (push) Successful in 1m20s
wai-fleet service / service · macos (push) Successful in 44s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 55s
wai-quantum verdicts and repairs / does this change touch it (push) Successful in 1m11s
wai-quantum studio and desktop / does this change touch it (push) Successful in 1m16s
wai-quantum variational and algorithm library / does this change touch it (push) Successful in 1m14s
wai-quantum views in agent hosts / does this change touch it (push) Successful in 1m13s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (push) Waiting to run
wai-sink-swift native sink package / does this change touch it (push) Successful in 1m7s
wai-quantum on Windows / does this change touch it (push) Successful in 1m17s
WAI Studio / does this change touch it (push) Successful in 1m16s
wai-sink-android native sink library / does this change touch it (push) Successful in 1m17s
wai-quantum on Windows / python · windows (push) Waiting to run
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Waiting to run
wai-quantum resource estimation / does this change touch it (push) Successful in 8m7s
wai-quantum pulse and dynamics / does this change touch it (push) Successful in 7m59s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Waiting to run
wai-quantum for Python / does this change touch it (push) Successful in 7m58s
wai-quantum error correction and mitigation / does this change touch it (push) Successful in 8m2s
wai-quantum qudit jobs / does this change touch it (push) Successful in 8m0s
wai-quantum-landscape-fpga reference design / does this change touch it (push) Successful in 8m20s
wai-quantum extension points / does this change touch it (push) Successful in 8m0s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Waiting to run
wai-quantum extension points / the registry and the example · linux-arm64 (push) Waiting to run
wai-quantum OpenQASM reader / does this change touch it (push) Successful in 8m19s
wai-quantum command line / command line · macos (push) Successful in 2m42s
joule-moq-http in browsers / the egress and the protected room in Chromium, Firefox and WebKit · macos (push) Successful in 13m55s
wai peer delivery in browsers / peer delivery in Chromium, Firefox and WebKit · macos (push) Successful in 9m45s
wai-ledger service / service · macos (push) Successful in 1m9s
wai-vector vector graphics / does this change touch it (push) Successful in 2m10s
wai-vector vector graphics / linux-aarch64 (push) Waiting to run
wai-ops integer operators / macos-arm64 (push) Successful in 3m34s
wai-pack / wai-pack · macos (push) Successful in 4m2s
wai-quantum service / service energy · linux packages (push) Successful in 6m5s
wai protected floor in browsers / the protected floor in Chromium, Firefox and WebKit · macos (push) Successful in 2m29s
wai release binaries build on Windows / the seven release binaries · windows (push) Successful in 19m14s
wai-quantum editors / editors · macos (push) Successful in 3m50s
wai cross-architecture byte-equality / windows-x86_64 (push) Successful in 1m12s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 16m43s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 5m37s
wai key · Windows / wai key and the toolchain's tests · windows (push) Successful in 2m24s
wai-quantum pulse and dynamics / the same bits · macos (push) Successful in 1m33s
wai-quantum service / service · macos (push) Successful in 7m59s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (framework-128gb) (push) Successful in 17m15s
wai tv web application / the tv application in Chromium, Firefox and WebKit · macos (push) Successful in 9m48s
wai-quantum qudit jobs / the same bits · macos (push) Successful in 2m4s
wai-av2 / decoder · linux (push) Successful in 44s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 13s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Waiting to run
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Waiting to run
WAI examples / WAI examples · does this change touch them (push) Successful in 9s
WAI examples / WAI examples · portable · linux (push) Waiting to run
WAI examples / WAI examples · android-app · linux-arm64 (push) Waiting to run
wai-quantum for Python / python · macos (push) Successful in 3m42s
WAI conformance / a push to main · corpus provenance and sidecars, signer ids, the registry export (push) Successful in 1m0s
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (push) Successful in 2m10s
wai-vector vector graphics / macos-arm64 (push) Successful in 2m24s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 14s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Waiting to run
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Waiting to run
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Waiting to run
wai-quantum wasmQ / does this change touch it (push) Successful in 11s
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · linux (push) Waiting to run
wai-quantum wasmQ / the reference modules rebuild to their modules of record · linux (push) Waiting to run
wai-quantum wasmQ / interpreter and vectors under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-det-jpegai WAISM float-level module of record / linux · both checkers, F1, F2 on wasmtime (Cranelift, Winch, Pulley) and Wasmi, the planted faults (push) Has started running
wai web player plugins / the four players in Chromium, Firefox and WebKit · macos (push) Failing after 13m1s
wai web player plugins / the browser run's room compiles · linux (push) Successful in 1m29s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 8m44s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 21m22s
wai-gstreamer / wai-gstreamer · the plugin on a distribution's GStreamer (push) Successful in 6m1s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (push) Successful in 18m51s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 11m48s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 44s
wai-quantum landscape energy to solution / does this change touch it (push) Successful in 6m49s
wai-quantum landscape energy to solution / the small tier, to the byte · linux (push) Waiting to run
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 13m9s
wai tv web application / the tv application, built to its baseline and checked · linux (push) Successful in 5m43s
wai cross-architecture byte-equality / linux-x86_64 (push) Successful in 51s
wai-quantum command line / command line · linux (push) Has started running
wai-ffmpeg / wai-ffmpeg · VLC 3.0.24 on the patched FFmpeg, playing the corpora (push) Successful in 8m37s
wai web player plugins / the plugins' core under Node · linux (push) Successful in 5m47s
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · macos (push) Failing after 1m39s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Successful in 17s
wai-quantum landscape stage 0, the sampler against the exact law / does this change touch it (push) Successful in 9m27s
wai-quantum landscape stage 0, the sampler against the exact law / the small tier, to the byte · linux (push) Waiting to run
wai-audit collector and player integration / collector · linux (push) Successful in 3m53s
wai-fleet service / service · linux (push) Successful in 3m27s
wai-int-module WAISM module of record / the module of record in Chromium (push) Successful in 20s
wai formal verification (integer core) / every harness in one shard (push) Successful in 35s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 18m35s
wai-quantum landscape energy to solution / the small tier, to the byte · macos (push) Successful in 1m49s
wai media golden suite on RISC-V (emulated) / golden suite · riscv64 (emulated) (push) Failing after 2m1s
wai formal verification (integer core) / kani (stage-long) (push) Has started running
wai-quantum landscape stage 0, the sampler against the exact law / the small tier, to the byte · macos (push) Successful in 47s
wai-pack / wai-pack · linux (push) Successful in 5m7s
wai-av1 / decoder · linux (push) Successful in 5m15s
wai formal verification (integer core) / kani (isqrt512) (push) Successful in 33m30s
wai-quantum clippy / clippy, warnings denied, every feature set · linux (push) Failing after 6m45s
wai-ffmpeg / wai-ffmpeg · the series on FFmpeg 9.0.2, checked and fuzzed (push) Successful in 15m47s
wai-ops integer operators / independent checker (Python) (push) Successful in 32s
wai-ops integer operators / wasm32 under Node (push) Successful in 42s
wai-ops integer operators / linux-x86_64 (push) Successful in 3m23s
wai-ops integer operators / wasm32-wasip2 (wasmtime) (push) Successful in 1m8s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Has started running
wai formal verification (integer core) / kani (stage) (push) Successful in 6m28s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 27m20s
wai-quantum contract / API compatibility · linux (push) Successful in 11m24s
wai-key-proxy / proxy · linux (push) Successful in 3m45s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Successful in 26s
wai-ledger service / service · linux (push) Successful in 4m26s
wai formal verification (integer core) / kani (plan) (push) Successful in 10m27s
wai-verifier-module / linux · the recipe, the interface, the corpus on wasmtime and the independent verifiers (push) Successful in 19m40s
wai-verifier-module / same-bytes · the Linux and the macOS build of this commit are one module (push) Successful in 2s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (push) Successful in 17m14s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (push) Successful in 4m16s
wai formal verification (integer core) / kani (integer-core) (push) Successful in 12m5s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 17m8s
wai-quantum on Windows / engine · windows (push) Successful in 17m34s
wai-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Successful in 15m49s
wai-quantum contract / schemas and the committed tool lists · linux (push) Successful in 17m47s
wai formal verification (integer core) / kani (rans64-t2) (push) Successful in 13m43s
wai formal verification (integer core) / kani (arith) (push) Successful in 15m55s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (push) Successful in 2m52s
wai-quantum other formats / readers, writers and the set · linux (push) Successful in 7m48s
wai-quantum editors / editors · linux (push) Successful in 6m2s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (push) Successful in 4m13s
WAI Studio / Studio in WebKit · linux (push) Has started running
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (push) Successful in 3m16s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m42s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 24m29s
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Successful in 13m33s
wai-quantum for Python / python · linux (push) Has started running
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (push) Successful in 16m56s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Has started running
wai-quantum on Windows / command line · windows (push) Successful in 8m40s
wai-quantum on Windows / job service · windows (push) Has started running
wai-quantum views in agent hosts / views · the page and its engine (push) Successful in 6m26s
wai-quantum qudit jobs / the module, the job, the conformance set, the referee and the verb · linux (push) Has started running
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Successful in 3m2s
wai-quantum service / service · linux (push) Successful in 12m59s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Has started running
wai-quantum views in agent hosts / views · a scripted host (push) Successful in 7m5s
wai-quantum extension points / the registry and the example · linux (push) Has started running
wai-quantum studio and desktop / desktop app · linux (push) Successful in 9m42s
wai-quantum qudit jobs / the module and the conformance set under wasm32-wasip2 (wasmtime) (push) Successful in 2m21s
wai-quantum for JavaScript / javascript · linux (push) Successful in 17m34s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Successful in 5m58s
wai formal verification (integer core) / kani (sound) (push) Successful in 26m15s
wai-vector vector graphics / linux-x86_64 (push) Has started running
wai-quantum studio and desktop / studio · browser (push) Successful in 12m29s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Successful in 2m18s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Successful in 4m17s
wai-vector vector graphics / wasm32 in three browser engines (push) Has started running
wai-quantum resource estimation / estimation and calibration · linux, release (push) Successful in 10m4s
wai-vector vector graphics / wasm32-wasip2 (wasmtime) (push) Successful in 1m50s
wai-vector vector graphics / independent checker (Python) (push) Has started running
wai-vector vector graphics / wasm32 under Node (push) Successful in 1m0s
wai-quantum OpenQASM reader / reader and corpus · linux (push) Successful in 4m21s
wai-vector vector graphics / fuzz, peak allocation, comparison count (push) Successful in 29s
`cargo upgrade --incompatible allow` and `cargo update` in the 79 workspaces
with a lockfile of their own (the vendored crates' upstream locks and
sandbox's JavaScript guest left alone, below): 67 lockfiles move, 582 crates
take a new version. Every lockfile is current (scripts/check-lockfiles.sh).
Majors taken: aes 0.8->0.9; aes-gcm 0.10->0.11; aes-gcm-siv 0.11->0.12;
automerge 0.5->0.12; axum 0.7->0.8; axum-server 0.8->0.9; base64 0.22->0.23;
burn and burn-ndarray 0.17/0.18->0.22; c2pa 0.91->0.92; candle-core, -nn,
-transformers 0.8->0.11; chacha20poly1305 0.10->0.11; cranelift(-jit)
0.116->0.137; criterion 0.5->0.8; ctr 0.9->0.10; cudarc 0.16->0.19; der
0.7->0.8; fancy-regex 0.14->0.20; ffmpeg-next 8->9; frost-ed25519 2->3;
getrandom 0.3->0.4; gpu-allocator 0.27->0.28; hf-hub 0.3->1; hkdf
0.12->0.13; hmac 0.12->0.13; httpmock 0.7->0.9; image 0.24->0.25; iref 3->5;
iroh-blobs 0.104->0.105; jpegxl-rs 0.14->0.16, jpegxl-sys 0.12->0.13;
jsonschema 0.46->0.61; k256 and p256 0.13->0.14; keccak 0.1->0.2; libloading
0.8->0.9; lru 0.12->0.19; lz4_flex
0.13->0.14; md5 0.7->0.8; metal 0.31->0.33; minigraf 1->2; miniz_oxide
0.8->0.9; mlx-rs 0.21->0.34; nalgebra 0.33->0.35; num-bigint 0.4->0.5;
nvml-wrapper 0.10->0.13; opentelemetry, -otlp, _sdk 0.31->0.33; opus
0.3->0.4; parking_lot 0.12->0.13; pyo3 0.28->0.30; rand 0.8/0.9->0.10 and
rand_chacha 0.9->0.10 (joulecontract, jouleclaw); rlp 0.5->0.6; rusqlite
0.41->0.42; safetensors ->0.8; secp256k1 0.31->0.33; sfv 0.15->0.16; sha1
0.10->0.11; sha2 0.10->0.11 everywhere; sha3 0.10->0.12; sketches-ddsketch
0.3->0.4; spki 0.7->0.8; syn 2->3; tokenizers ->0.23; tokio-tungstenite
0.29->0.30; toml ->1 (jouleclaw, joule-code); tower-http ->0.7; tracing-
opentelemetry 0.32->0.34; ureq 2->3 (joulehook, jouledesk); wasmparser and
wit-parser 0.261->0.263; windows-sys 0.59->0.61; x509-cert 0.2->0.3; xorf
0.12->0.13; yrs 0.18->0.28.
What the code needed:
- RustCrypto's 0.11 generation (cipher 0.5, digest 0.11, aead 0.6): block
ciphers through BlockCipherEncrypt/Decrypt (wai-pack's CENC, wai-rs's prior
carriage, joule-contrib); HMAC keyed through KeyInit; nonces and keys built
from arrays, not the deprecated from_slice; SHA-256 printed byte by byte
(hybrid-array has no LowerHex); a file hashed by reading it into the hasher
(digest 0.11's hashers are not io::Write); random nonces and keys by
`Generate` (op-vault, the wallets, smart-byte-didcomm).
- wai-rs: sha2's aarch64-only `asm` block removed (0.11 detects the SHA-2
instructions at run time by itself); TurboSHAKE128 through keccak 0.2's
`with_p1600::<12>`; dcvc-drift builds its ONNX sessions in wai's
environment (ort rc.15) and its ort pin follows wai-rs's lock to rc.15.
- sandbox-tee: x509-cert 0.3 keeps a certificate's fields private, so the
verifiers read them through accessors and the tests assemble their chains
as DER; 52 tests pass with amd-kds,intel-pcs.
- openpay: k256/p256 0.14 (sec1 points, infallible prehash signing, keys by
Generate); httpmock 0.9's renamed matchers.
- jouleclaw (hf-hub 1's HFClient, syn 3, safetensors 0.8, rand 0.10, axum
0.8's {param} routes), jouledesk-github (ureq 3, an HTTP status read as a
response; its TagOutcome::Blocked match fails on main as well and is left),
joulehook (ureq 3, likewise), smart-byte (secp256k1 0.33's context-free
calls, aead 0.6 nonces).
Held, each with its reason beside the requirement:
- bincode 1: 3.0.0 is a compile_error tombstone.
- sandbox/sandbox-rs/guests/js (boa_engine 0.20, getrandom 0.2): its module
of record is pinned by SHA-256 in sandbox-exec-wasm; new deps mean a new
module of record.
- quick-xml 0.41 (openpay, jouleclaw): 0.42 decodes names, keys, text and
entity references as str; op-iso20022's serde round trip and op-screening's
sanctions-list reader need re-proving against their feeds.
- ureq 2 (openpay's five rail clients): 3 returns a status as an error
without its body and exposes another Agent; the clients' outcomes and their
operators' mTLS agents are built on 2.
- smart-byte: rand 0.8, rand_chacha 0.3, curve25519-dalek 4.1 (bulletproofs),
aes 0.8/cbc 0.1 (nostr's cipher 0.4 API), bls12_381 0.8 with ff/group 0.13
and pairing 0.23 (0.9 hashes over digest 0.10 and draws from rand_core 0.10;
BBS+ keys, generators and proofs would move with it).
- frost-ed25519 3 is still on rand_core 0.6: jcp-threshold keeps rand_core
0.6 and rand_chacha 0.3, as do jcp-conformance and joule-code-collab.
- livekit 0.7 and livekit-api 0.5 (jouledesk's optional `livekit` feature):
the vendored libwebrtc patch answers 0.7's release skew, and 0.10's build
of the feature was not verified.
- wai-pack's toml 0.8 (reads TOML 1.0 only; a policy must not use 1.1);
jni 0.21 (op-ffi-jni's own note); serde_yml 0.0.12 in jouleclaw (0.0.13
parses with noyalib 0.0.5, RUSTSEC-2026-0333); wai-web's
wasm-bindgen-futures 0.4.77 and every `=`-pinned requirement (the
wasm-bindgen family stays with the CLI CI installs).
Byte equality: wai-rs's conformance builds and library tests (1054 passed),
byte-exact-conformance's goldens (119), the HPKE, TurboSHAKE and live-
messaging corpora, joule-code's conformance (1151), smart-byte's BBS+ and
signature vectors (708) and openpay's suites (2163) are as before. The wasmQ
modules of record and the views page are rebuilt (only the modules' lockfile
digest and the page's engine move). scripts/check-advisories.py: the zip and
zstd-safe copies left are lock-only under burn's optional libtorch backend,
and the pyo3, h2 and older zip entries no longer match anything.
Verified with Rust 1.100.0 on the build hosts, baseline (main's lockfile)
against this tree: `cargo clippy --workspace --all-targets` and `cargo test
--workspace` in each workspace, 9761 passed / 10 failed before, 9767 / 6
after, every failure a load-timed test that failed before or passes alone
(joule-moq-room's stitched and ads sessions, jcp-energy's RAPL tickers,
wai-quantum-service's bounded readings); jouleclaw on arm64 with +fp16 as CI
runs it, 4957 passed both; the CI clippy -D warnings gates of wai-rs
(conformance, union and catalogue builds), openpay, joulespec, the joule-moq
crates, joule-code's jwp/joule-moq/relay sets, wai-pack (and gpu), the
release-profile wai gates, and standards-build's macOS lint step; the
sandbox-tee, jcp-energy and mesh feature tests; `wai breaking` (the wasmQ
modules' breaks acknowledged in the change note, rust API unchanged).
Not run: the GPU, NPU, CUDA and Windows legs, wasm32 runs under Node or
wasmtime, gstreamer (no GStreamer on the hosts), the fuzz job.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
159 lines
6.9 KiB
TOML
159 lines
6.9 KiB
TOML
[package]
|
|
name = "joule-moq-ingest"
|
|
version = "0.1.0"
|
|
description = "An ingest and egress gateway for WAI rooms: WHIP (RFC 9725) and Enhanced RTMP v2 into MoQ room tracks, where it is the tracks' publisher and signs every group's receipts as the first hop; WHEP (draft-ietf-wish-whep-05) out of them, verifying every object's receipt before it forwards it; and SCTE 104 automation translated to SCTE 35 and signed as the room's cues."
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
repository = "https://github.com/transaction-science/open-standards"
|
|
|
|
[lib]
|
|
path = "src/lib.rs"
|
|
|
|
# The binary is `wai-ingest`; the crate keeps its name (WAI toolchain decision 11).
|
|
[[bin]]
|
|
name = "wai-ingest"
|
|
path = "src/main.rs"
|
|
|
|
# The link records' conformance corpus, wai/live-conformance/links/.
|
|
[[bin]]
|
|
name = "joule-moq-ingest-link-vectors"
|
|
path = "src/bin/link_vectors.rs"
|
|
|
|
# The corpus of uncompressed essence over RTP, wai/live-conformance/st2110/.
|
|
[[bin]]
|
|
name = "joule-moq-ingest-st2110-vectors"
|
|
path = "src/bin/st2110_vectors.rs"
|
|
|
|
# The telephony bridge's corpus, wai/live-conformance/telephony/.
|
|
[[bin]]
|
|
name = "joule-moq-ingest-telephony-vectors"
|
|
path = "src/bin/telephony_vectors.rs"
|
|
|
|
[features]
|
|
default = []
|
|
# RIST (VSF TR-06-1, TR-06-2) contribution, from joule-contrib. Off by default: see
|
|
# joule-contrib's README, "Patents".
|
|
rist = ["joule-contrib/rist"]
|
|
# Uncompressed essence over RTP (SMPTE ST 2110) into a room's tracks: the session and its
|
|
# encode stage onto the video floor. Off by default: the readers of `st2110` and their corpus
|
|
# are built without it, and only the session brings the stage and the encoder it links.
|
|
st2110 = ["dep:rav1e", "dep:libc"]
|
|
# A telephony bridge (SIP and RTP, extensions/telephony-bridge.md): callers on a SIP trunk or a
|
|
# PBX into a room as audio participants, and the room's mix back to them. Off by default: the
|
|
# readers of `telephony` and their corpus are built without it; only the bridge needs it.
|
|
telephony = []
|
|
|
|
[dependencies]
|
|
joule-moq = { path = "../joule-moq" }
|
|
joule-moq-relay = { path = "../joule-moq-relay" }
|
|
# SRT and RIST, and the MPEG-TS demultiplexer (this workspace, Apache-2.0).
|
|
joule-contrib = { path = "../joule-contrib" }
|
|
# AV1 encode for the video floor, pure Rust without its assembly (BSD-2-Clause): the same
|
|
# crate and features wai-rs writes AV1 with. Only the `st2110` feature compiles it. It is the
|
|
# essence session's fallback encoder: the real-time ones are loaded at run time, not linked.
|
|
rav1e = { version = "0.8", default-features = false, features = ["threading"], optional = true }
|
|
# WebRTC, sans-IO (MIT OR Apache-2.0), with its pure-Rust crypto backend: DTLS by its own
|
|
# `dimpl`, SRTP and the rest on RustCrypto. No C library is linked.
|
|
str0m = { version = "=0.25.0", default-features = false, features = ["rust-crypto"] }
|
|
# The WHIP and WHEP resources (MIT).
|
|
hyper = { version = "=1.11.1", features = ["server", "http1"] }
|
|
hyper-util = { version = "=0.1.20", default-features = false, features = ["tokio"] }
|
|
http-body-util = "=0.1.5"
|
|
quinn = "0.11"
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
|
# RTMPS: the Enhanced RTMP listener over TLS, on the same rustls and ring (MIT OR Apache-2.0).
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] }
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util", "signal"] }
|
|
bytes = "1"
|
|
futures = "0.3"
|
|
tracing = "0.1"
|
|
tracing-subscriber = "0.3"
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_json = "1"
|
|
toml = "1.2"
|
|
ed25519-dalek = { version = "3", features = ["alloc", "rand_core"] }
|
|
rand_core_06 = { package = "rand_core", version = "0.6", features = ["getrandom"] }
|
|
sha2 = "0.11"
|
|
blake3 = "1"
|
|
hex = "0.4"
|
|
base64 = "0.23"
|
|
thiserror = "2"
|
|
# GET /metrics, in the text exposition format (no dependencies of its own).
|
|
wai-metrics = { path = "../../../../wai/wai-metrics" }
|
|
|
|
[dev-dependencies]
|
|
# `process`: tests/ertmp_ffmpeg.rs runs a local encoder as a test client.
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "process"] }
|
|
# The tests' HTTP client.
|
|
hyper = { version = "=1.11.1", features = ["client", "http1"] }
|
|
# The video floor's own decoder (this repository's, Apache-2.0, no dependencies), written
|
|
# from the specification's text: the second decoder tests/essence_rt.rs holds an encoder's
|
|
# stream to, beside the host's libdav1d.
|
|
wai-av1 = { path = "../../../../wai/wai-av1" }
|
|
|
|
# The telephony tests' callers read each packet's arrival as the kernel stamped it
|
|
# (`SO_TIMESTAMPNS`), not when their task next ran (MIT OR Apache-2.0; already a dependency).
|
|
[target.'cfg(target_os = "linux")'.dev-dependencies]
|
|
libc = "0.2"
|
|
|
|
# The essence session's receive path and its test sender's writes (`st2110::sock`): the
|
|
# system calls that read and write several datagrams a call, with their kernels' structures
|
|
# (MIT OR Apache-2.0; already in the tree through joule-moq-relay). Only `st2110` compiles it.
|
|
[target.'cfg(unix)'.dependencies]
|
|
libc = { version = "0.2", optional = true }
|
|
|
|
# Uncompressed essence into a room needs the feature that carries its session.
|
|
[[test]]
|
|
name = "essence_st2110"
|
|
path = "tests/essence_st2110.rs"
|
|
required-features = ["st2110"]
|
|
|
|
# A session held to its frame rate at broadcast sizes with the real-time encoders the host
|
|
# has: ignored unless asked for, on a quiet host.
|
|
[[test]]
|
|
name = "essence_rt"
|
|
path = "tests/essence_rt.rs"
|
|
required-features = ["st2110"]
|
|
|
|
# The essence session's way in held to broadcast datagram rates: ignored unless asked for.
|
|
[[test]]
|
|
name = "essence_rx"
|
|
path = "tests/essence_rx.rs"
|
|
required-features = ["st2110"]
|
|
|
|
# What the DTV caption channel's decoder costs a caption channel packet, on the host it is run on.
|
|
[[example]]
|
|
name = "dtvcc_cost"
|
|
path = "examples/dtvcc_cost.rs"
|
|
|
|
# Where a frame's time goes in the essence path, on the host it is run on.
|
|
[[example]]
|
|
name = "st2110_profile"
|
|
path = "examples/st2110_profile.rs"
|
|
required-features = ["st2110"]
|
|
|
|
# The telephony bridge on loopback needs the feature that carries it.
|
|
[[test]]
|
|
name = "telephony_bridge"
|
|
path = "tests/telephony_bridge.rs"
|
|
required-features = ["telephony"]
|
|
|
|
# The telephony bridge held to real time: ignored unless asked for, on a quiet host.
|
|
[[test]]
|
|
name = "telephony_rt"
|
|
path = "tests/telephony_rt.rs"
|
|
required-features = ["telephony"]
|
|
|
|
# The telephony bridge with an outside SIP user agent: ignored unless asked for, run with
|
|
# loopback alone and the agent named by TELEPHONY_BARESIP.
|
|
[[test]]
|
|
name = "telephony_interop"
|
|
path = "tests/telephony_interop.rs"
|
|
required-features = ["telephony"]
|
|
|
|
# Contribution over RIST needs the feature that carries it.
|
|
[[test]]
|
|
name = "contrib_rist"
|
|
path = "tests/contrib_rist.rs"
|
|
required-features = ["rist"]
|
|
|