open-standards/joule-code/joule-code-rs/crates/joule-moq-relay/Cargo.toml
Transaction Science 5265541915
Some checks failed
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Waiting to run
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
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (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 (push) Waiting to run
wai-av2 / decoder · linux-arm64 (push) Waiting to run
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Waiting to run
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Blocked by required conditions
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Blocked by required conditions
WAI conformance / does this change touch it (push) Has been skipped
WAI conformance / a push to main · corpus provenance and sidecars, signer ids, the registry export (push) Waiting to run
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
WAI examples / WAI examples · does this change touch them (push) Waiting to run
WAI examples / WAI examples · portable · linux (push) Blocked by required conditions
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (push) Blocked by required conditions
WAI examples / WAI examples · android-app · linux-arm64 (push) Blocked by required conditions
wai-ffmpeg / wai-ffmpeg · the series on FFmpeg 9.0.2, checked and fuzzed (push) Waiting to run
wai-ffmpeg / wai-ffmpeg · VLC 3.0.24 on the patched FFmpeg, playing the corpora (push) Waiting to run
wai-gstreamer / wai-gstreamer · the plugin on a distribution's GStreamer (push) Waiting to run
wai protected floor in browsers / the protected floor in Chromium, Firefox and WebKit · macos (push) Waiting to run
wai-quantum resource estimation / estimation and calibration · linux, release (push) Blocked by required conditions
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Blocked by required conditions
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Blocked by required conditions
wai-quantum landscape energy to solution / does this change touch it (push) Waiting to run
wai-quantum landscape energy to solution / the small tier, to the byte · linux (push) Blocked by required conditions
wai-quantum landscape energy to solution / the small tier, to the byte · macos (push) Blocked by required conditions
wai-quantum landscape stage 0, the sampler against the exact law / does this change touch it (push) Waiting to run
wai-quantum landscape stage 0, the sampler against the exact law / the small tier, to the byte · linux (push) Blocked by required conditions
wai-quantum landscape stage 0, the sampler against the exact law / the small tier, to the byte · macos (push) Blocked by required conditions
wai-quantum energy-landscape jobs / does this change touch it (push) Waiting to run
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Blocked by required conditions
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Blocked by required conditions
wai-quantum energy-landscape jobs / the same bits · macos (push) Blocked by required conditions
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Blocked by required conditions
wai-quantum OpenQASM reader / reader and corpus · linux (push) Blocked by required conditions
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Blocked by required conditions
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Blocked by required conditions
wai-quantum pulse and dynamics / the same bits · macos (push) Blocked by required conditions
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-quantum for Python / python · linux (push) Blocked by required conditions
wai-quantum for Python / python · macos (push) Blocked by required conditions
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Blocked by required conditions
wai-quantum qudit jobs / the module, the job, the conformance set, the referee and the verb · linux (push) Blocked by required conditions
wai-quantum qudit jobs / the same bits · macos (push) Blocked by required conditions
wai-quantum qudit jobs / the module and the conformance set under wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-quantum extension points / the registry and the example · linux (push) Blocked by required conditions
wai-quantum extension points / the registry and the example · linux-arm64 (push) Blocked by required conditions
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-quantum wasmQ / does this change touch it (push) Waiting to run
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · linux (push) Blocked by required conditions
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · macos (push) Blocked by required conditions
wai-quantum wasmQ / the reference modules rebuild to their modules of record · linux (push) Blocked by required conditions
wai-quantum wasmQ / interpreter and vectors under wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-quantum on Windows / engine · windows (push) Blocked by required conditions
wai-quantum on Windows / command line · windows (push) Blocked by required conditions
wai-quantum on Windows / job service · windows (push) Blocked by required conditions
wai-quantum on Windows / python · windows (push) Blocked by required conditions
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Blocked by required conditions
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Blocked by required conditions
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Blocked by required conditions
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Blocked by required conditions
WAI Studio / Studio in Chromium and Firefox · macos (push) Blocked by required conditions
WAI Studio / Studio in WebKit · linux (push) Blocked by required conditions
wai tv web application / the tv application, built to its baseline and checked · linux (push) Waiting to run
wai tv web application / the tv application in Chromium, Firefox and WebKit · macos (push) Waiting to run
wai-vector vector graphics / does this change touch it (push) Waiting to run
wai-vector vector graphics / linux-aarch64 (push) Blocked by required conditions
wai-vector vector graphics / linux-x86_64 (push) Blocked by required conditions
wai-vector vector graphics / macos-arm64 (push) Blocked by required conditions
wai-vector vector graphics / wasm32-wasip2 (wasmtime) (push) Blocked by required conditions
wai-vector vector graphics / wasm32 under Node (push) Blocked by required conditions
wai-vector vector graphics / wasm32 in three browser engines (push) Blocked by required conditions
wai-vector vector graphics / fuzz, peak allocation, comparison count (push) Blocked by required conditions
wai-vector vector graphics / independent checker (Python) (push) Blocked by required conditions
wai-verifier-module / linux · the recipe, the interface, the corpus on wasmtime and the independent verifiers (push) Waiting to run
wai-verifier-module / same-bytes · the Linux and the macOS build of this commit are one module (push) Blocked by required conditions
wai web player plugins / the plugins' core under Node · linux (push) Waiting to run
wai web player plugins / the browser run's room compiles · linux (push) Waiting to run
wai web player plugins / the four players in Chromium, Firefox and WebKit · macos (push) Waiting to run
wai release binaries build on Windows / the seven release binaries · windows (push) Has started running
joule-moq-http in browsers / the egress and the protected room in Chromium, Firefox and WebKit · macos (push) Has started running
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 · both checkers, F1, F2 on wasmtime (Cranelift, Winch, Pulley) and Wasmi, the planted faults (push) Waiting to run
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-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Waiting to run
wai-audit collector and player integration / collector · linux (push) Waiting to run
wai cross-architecture byte-equality / linux-aarch64 (push) Waiting to run
wai cross-architecture byte-equality / linux-x86_64 (push) Waiting to run
wai cross-architecture byte-equality / windows-x86_64 (push) Waiting to run
wai-fleet service / service · linux (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 (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
WAI operation catalogue / the catalogue and every door · linux (push) Waiting to run
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-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has started running
wai peer delivery in browsers / peer delivery in Chromium, Firefox and WebKit · macos (push) Has started running
wai-pack / wai-pack · does this change touch it (push) Successful in 2m33s
wai-pack / wai-pack · linux (push) Waiting to run
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-quantum clippy / clippy, warnings denied, every feature set · linux (push) Waiting to run
wai-quantum command line / command line · linux (push) Waiting to run
wai-quantum contract / API compatibility · linux (push) Waiting to run
wai-quantum contract / schemas and the committed tool lists · linux (push) Waiting to run
wai media golden suite on RISC-V (emulated) / does this change touch it (push) Successful in 2m42s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Waiting to run
wai-quantum resource estimation / does this change touch it (push) Has started running
wai media golden suite on RISC-V (emulated) / golden suite · riscv64 (emulated) (push) Waiting to run
wai-int-module WAISM module of record / does this change touch it (push) Successful in 2m47s
wai-quantum-landscape-fpga reference design / does this change touch it (push) Has started running
wai-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Waiting to run
wai-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Waiting to run
wai-int-module WAISM module of record / the module of record in Chromium (push) Waiting to run
wai formal verification (integer core) / does this change touch it (push) Successful in 2m50s
wai formal verification (integer core) / every harness in one shard (push) Waiting to run
wai formal verification (integer core) / kani (arith) (push) Waiting to run
wai formal verification (integer core) / kani (plan) (push) Waiting to run
wai formal verification (integer core) / kani (sound) (push) Waiting to run
wai formal verification (integer core) / kani (isqrt512) (push) Has started running
wai formal verification (integer core) / kani (stage) (push) Waiting to run
wai formal verification (integer core) / kani (rans64-t2) (push) Waiting to run
wai formal verification (integer core) / kani (stage-long) (push) Waiting to run
wai-quantum OpenQASM reader / does this change touch it (push) Has started running
wai formal verification (integer core) / kani (integer-core) (push) Waiting to run
wai-ops integer operators / does this change touch it (push) Successful in 2m49s
wai-ops integer operators / linux-aarch64 (push) Waiting to run
wai-quantum pulse and dynamics / does this change touch it (push) Has started running
wai-ops integer operators / linux-x86_64 (push) Waiting to run
wai-ops integer operators / wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-ops integer operators / wasm32 under Node (push) Waiting to run
wai-ops integer operators / independent checker (Python) (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-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (push) Waiting to run
wai-ledger service / service · linux (push) Waiting to run
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (push) Waiting to run
wai-ledger service / service · macos (push) Waiting to run
wai-key-proxy / does this change touch it (push) Successful in 3m1s
wai-quantum for Python / does this change touch it (push) Has started running
wai-quantum error correction and mitigation / does this change touch it (push) Has started running
wai-key-proxy / proxy · linux (push) Waiting to run
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (framework-128gb) (push) Has started running
wai-quantum qudit jobs / does this change touch it (push) Has started running
wai key · Windows / does this change touch it (push) Successful in 3m5s
wai key · Windows / wai key and the toolchain's tests · windows (push) Waiting to run
wai-quantum extension points / does this change touch it (push) Has started running
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-quantum docs, course and locales / every command and snippet in the docs · linux (push) Waiting to run
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Waiting to run
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Waiting to run
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 for JavaScript / javascript · linux (push) Waiting to run
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-quantum service / service · linux (push) Waiting to run
wai-quantum service / service · macos (push) Waiting to run
wai-quantum service / service energy · linux packages (push) Has started running
wai-quantum other formats / readers, writers and the set · linux (push) Waiting to run
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-quantum editors / editors · linux (push) Waiting to run
wai-quantum editors / editors · macos (push) Waiting to run
wai-fleet service / service · macos (push) Successful in 44s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has started running
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 55s
wai-pack / wai-pack · macos (push) Has started running
wai-quantum command line / command line · macos (push) Has started running
wai-ops integer operators / macos-arm64 (push) Has started running
wai-quantum verdicts and repairs / does this change touch it (push) Successful in 1m11s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (push) Waiting to run
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (push) Waiting to run
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 on Windows / does this change touch it (push) Has started running
wai-quantum studio and desktop / studio · browser (push) Waiting to run
wai-sink-android native sink library / does this change touch it (push) Has started running
wai-quantum studio and desktop / desktop app · macos (push) Waiting to run
wai-quantum studio and desktop / desktop app · linux (push) Waiting to run
wai-sink-swift native sink package / does this change touch it (push) Has started running
wai-quantum studio and desktop / desktop app · windows (push) Waiting to run
WAI Studio / does this change touch it (push) Has started running
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (push) Waiting to run
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (push) Waiting to run
wai-quantum views in agent hosts / views · the page and its engine (push) Waiting to run
wai-quantum views in agent hosts / views · a scripted host (push) Waiting to run
Dependencies: every workspace on its dependencies' current releases
`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]>
2026-11-13 18:49:06 -05:00

75 lines
3.8 KiB
TOML

[package]
name = "joule-moq-relay"
version = "0.1.0"
description = "A MOQT relay for draft-ietf-moq-transport-22 (and -18 and -16, bridged): native QUIC and WebTransport over HTTP/3 on one UDP port, a WebSocket fallback, priority-ordered fan-out with per-subscriber delivery timeouts, and every object's receipts forwarded whether the object was delivered or dropped."
edition = "2024"
license = "Apache-2.0"
repository = "https://github.com/transaction-science/open-standards"
[lib]
path = "src/lib.rs"
# The binary is `wai-relay`; the crate keeps its name (WAI toolchain decision 11).
[[bin]]
name = "wai-relay"
path = "src/main.rs"
[dependencies]
# `secure-objects` for its Key ID reader alone: the DVR store keeps nothing of a room whose
# objects are sealed (dvr.rs), and the relay never opens one.
joule-moq = { path = "../joule-moq", features = ["secure-objects"] }
quinn = "0.11"
# The per-core UDP sockets (transport::quic::bind_udp_group): SO_REUSEPORT before the bind, and the
# filter that steers a packet to the socket holding its connection.
socket2 = { version = "0.6", features = ["all"] }
libc = "0.2"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
ring = "0.17"
# WebTransport over HTTP/3 (MIT OR Apache-2.0). Its `quinn` feature lets one quinn
# endpoint serve both the native MOQT ALPN and `h3`.
wtransport = { version = "0.7.2", default-features = false, features = ["ring", "self-signed", "quinn"] }
tokio-tungstenite = "0.30"
# TLS under a `wss://` upstream (crate::cascade), with the relay's own verifier: ring, as
# rustls above, and no other provider.
tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] }
# The platform's roots, for an upstream whose front holds a public certificate.
rustls-native-certs = "0.8"
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "time", "net", "io-util", "signal"] }
bytes = "1.12"
futures = "0.3"
async-trait = "0.1"
tracing = "0.1"
tracing-subscriber = "0.3"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1", features = ["raw_value"] }
toml = "1.2"
ed25519-dalek = { version = "3", features = ["alloc", "rand_core"] }
rand_core_06 = { package = "rand_core", version = "0.6", features = ["getrandom"] }
blake3 = "1"
hex = "0.4"
base64 = "0.23"
thiserror = "2"
# GET /metrics on the control listener, in the text exposition format (src/control.rs).
wai-metrics = { path = "../../../../wai/wai-metrics" }
# WebTransport over HTTP/2 (feature `webtransport-h2`): HTTP/2 with extended CONNECT (MIT),
# vendored with settings of identifiers it does not interpret (vendor/h2/VENDORED.md), so a
# workspace that enables the feature patches it in; and the request and response types it takes.
h2 = { version = "0.4.20", optional = true }
http = { version = "1", optional = true }
[features]
# Write each session's MOQT events as a qlog (draft-pardue-moq-qlog-moq-events-08) where
# `monitoring.qlog_dir` names a directory (src/monitoring.rs). Off: the relay holds no qlog
# code and refuses to start with `qlog_dir` set.
qlog = ["joule-moq/qlog"]
# WebTransport over HTTP/2 (`draft-ietf-webtrans-http2-16`) on `webtransport_h2_listen`
# (src/transport/webtransport_h2.rs). Off: the relay holds none of it and refuses to start with
# the listener set. Its test, tests/relay_webtransport_h2.rs, runs with the feature alone.
webtransport-h2 = ["dep:h2", "dep:http"]
[[test]]
name = "relay_webtransport_h2"
required-features = ["webtransport-h2"]
[dev-dependencies]
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }