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-relay, its own energy on a counter (macos) (push) Waiting to run
joule-code conformance gate / joule-moq-ingest, every target (push) Waiting to run
joule-moq-http in browsers / the egress and the protected room in Chromium, Firefox and WebKit · macos (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 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 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-gstreamer / wai-gstreamer · the plugin on a distribution's GStreamer (push) Waiting to run
wai peer delivery in browsers / peer delivery in Chromium, Firefox and WebKit · macos (push) Waiting to run
wai protected floor in browsers / the protected floor in Chromium, Firefox and WebKit · macos (push) Waiting to run
wai-fleet service / does this change touch it (push) Successful in 26s
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 25s
wai-fleet service / service · linux (push) Waiting to run
wai-fleet service / service · macos (push) Waiting to run
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Waiting to run
WAI operation catalogue / does this change touch it (push) Successful in 27s
WAI operation catalogue / the catalogue and every door · linux (push) Waiting to run
wai-int-module WAISM module of record / does this change touch it (push) Successful in 27s
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-int-module WAISM module of record / linux · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Waiting to run
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-int-module WAISM module of record / linux-arm64 · both checkers, wasmtime (Cranelift, Winch), Wasmi and Node (push) Waiting to run
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-int-module WAISM module of record / the module of record in Chromium (push) Waiting to run
wai-pack / wai-pack · does this change touch it (push) Successful in 18s
wai-quantum command line / does this change touch it (push) Successful in 16s
wai-pack / wai-pack · linux (push) Waiting to run
wai-pack / wai-pack · linux-arm64 (push) Waiting to run
wai-pack / wai-pack · macos (push) Waiting to run
wai-quantum clippy / does this change touch it (push) Successful in 20s
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-pack / wai-pack · independent verifier (Python) (push) Waiting to run
wai-quantum clippy / clippy, warnings denied, every feature set · linux (push) Waiting to run
wai release binaries build on Windows / the seven release binaries · windows (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 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-quantum command line / command line · linux (push) Waiting to run
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 three players in Chromium, Firefox and WebKit · macos (push) Waiting to run
wai-quantum command line / command line · macos (push) Waiting to run
wai-quantum contract / does this change touch it (push) Successful in 26s
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-quantum contract / the policy is linked, and the deprecations page reads (push) Waiting to run
wai-quantum docs, course and locales / does this change touch it (push) Successful in 22s
wai-quantum editors / does this change touch it (push) Successful in 21s
wai-quantum editors / editors · linux (push) Waiting to run
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Waiting to run
wai-quantum editors / editors · macos (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-quantum resource estimation / does this change touch it (push) Successful in 23s
wai-quantum resource estimation / estimation and calibration · linux, release (push) Waiting to run
wai-quantum for JavaScript / does this change touch it (push) Successful in 25s
wai-quantum for JavaScript / javascript · linux (push) Waiting to run
wai-quantum-landscape-fpga reference design / does this change touch it (push) Successful in 24s
wai-quantum other formats / does this change touch it (push) Successful in 28s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Waiting to run
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-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Waiting to run
wai-quantum OpenQASM reader / does this change touch it (push) Successful in 14s
wai-quantum OpenQASM reader / reader and corpus · linux (push) Waiting to run
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-quantum pulse and dynamics / does this change touch it (push) Successful in 18s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Waiting to run
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Waiting to run
wai-quantum pulse and dynamics / the same bits · macos (push) Waiting to run
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-quantum for Python / does this change touch it (push) Successful in 16s
wai-quantum error correction and mitigation / does this change touch it (push) Successful in 21s
wai-quantum for Python / python · linux (push) Waiting to run
wai-quantum for Python / python · macos (push) Waiting to run
wai-quantum qudit jobs / does this change touch it (push) Successful in 16s
wai-quantum qudit jobs / the module, the job, the conformance set, the referee and the verb · linux (push) Waiting to run
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Waiting to run
wai-quantum qudit jobs / the same bits · macos (push) Waiting to run
wai-quantum qudit jobs / the module and the conformance set under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-ledger service / does this change touch it (push) Successful in 3m1s
wai-app and Create / wai-app · does this change touch it (push) Successful in 3m17s
wai-key-proxy / does this change touch it (push) Successful in 3m1s
wai-audit collector and player integration / does this change touch it (push) Successful in 3m12s
wai-ledger service / service · linux (push) Waiting to run
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 3m20s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 3m18s
wai-ledger service / service · macos (push) Waiting to run
wai-ops-gpu integer operators on GPUs / does this change touch it (push) Successful in 2m58s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 3m18s
joule-moq-room room service / joule-moq-room, every target (push) Waiting to run
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (push) Waiting to run
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Waiting to run
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (push) Waiting to run
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Waiting to run
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Waiting to run
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Waiting to run
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Waiting to run
wai-key-proxy / proxy · linux (push) Waiting to run
wai-quantum studio and desktop / does this change touch it (push) Successful in 19s
wai-quantum extension points / does this change touch it (push) Successful in 21s
wai-quantum service / does this change touch it (push) Successful in 18s
wai-quantum extension points / the registry and the example · linux (push) Waiting to run
wai-quantum extension points / the registry and the example · linux-arm64 (push) Waiting to run
wai-quantum studio and desktop / studio · browser (push) Waiting to run
wai-quantum service / service · linux (push) Waiting to run
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Waiting to run
wai-audit collector and player integration / collector · linux (push) Waiting to run
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Waiting to run
wai-quantum service / service · macos (push) Waiting to run
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-quantum variational and algorithm library / does this change touch it (push) Successful in 17s
wai-quantum studio and desktop / desktop app · windows (push) Waiting to run
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 verdicts and repairs / does this change touch it (push) Successful in 55s
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 views in agent hosts / does this change touch it (push) Successful in 2m39s
wai-quantum on Windows / does this change touch it (push) Successful in 2m35s
WAI Studio / does this change touch it (push) Successful in 2m16s
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
wai-quantum on Windows / engine · windows (push) Waiting to run
wai-sink-swift native sink package / does this change touch it (push) Successful in 2m28s
wai-quantum on Windows / command line · windows (push) Waiting to run
wai-quantum on Windows / job service · windows (push) Waiting to run
wai-quantum on Windows / python · windows (push) Waiting to run
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Waiting to run
wai-sink-android native sink library / does this change touch it (push) Successful in 2m38s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Waiting to run
WAI Studio / Studio in Chromium and Firefox · macos (push) Waiting to run
WAI Studio / Studio in WebKit · linux (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-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Waiting to run
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (jetson-hub) (push) Successful in 11m30s
wai-quantum service / service energy · linux packages (push) Failing after 12s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (framework-128gb) (push) Has started running
Every requirement on ed25519-dalek 2, x25519-dalek 2, curve25519-dalek 4 and
signature 2 moves to 3, 3, 5 and 3 (51 in 48 manifests); hpke 0.13 -> 0.15. 52
lockfiles now resolve ed25519-dalek 3.0.0, the released stable. Each 2.x
feature set maps to the 3.x set with the same API: 2's defaults (fast, std,
zeroize) are 3's defaults plus `alloc`, which 3 no longer turns on and which
PKCS#8 encoding and `Signature::to_vec` need; 2's `std` is 3's `alloc`.
Key generation. dalek 3's `generate` takes a rand_core 0.10 RNG, and every
site passed a rand_core 0.6 one. dalek 2's `generate` was fill 32 bytes, then
`from_bytes`; that body is written out at the 50 call sites with the RNG each
already used, so no RNG or dependency changes. op-screening and
joule-code-identity take the 32 bytes from getrandom directly.
- jouleclaw-hpke on hpke 0.15 and rand 0.10. Measured across versions first:
a seed names the same public key under 0.13 + rand 0.9 and 0.15 + rand
0.10; the stored secret is now the clamped scalar of the same X25519 key,
and a secret stored by either version opens what the other sealed. A test
pins the seeded key. The suite is asked for by name (hkdfsha2 is no longer
a default, ML-KEM is and is not used here).
- wai-rs's corpus signs with hazmat::raw_sign over dalek's own Sha512.
HPKE's X25519 and the claim corpus's curve arithmetic are unchanged on 5.
- smart-byte: iroh 1.0.0-rc.0 pinned ed25519-dalek =3.0.0-pre.7; iroh 1 and
iroh-blobs 0.104 take the stable 3. iroh-blobs is not called yet.
- sandbox-tee's amd-kds: c28dd2e46 moved sandbox to sha2 0.11 with rsa 0.9
(digest 0.10) still under it, and the feature has not compiled since; the
nightly-only job that builds it had not run. rsa 0.10 (digest 0.11,
signature 3), and the test chain built field by field and signed over its
DER, so x509-cert's builder and the signature traits it ties RSA to are not
needed. 52 tests pass with amd-kds,intel-pcs.
Left where a third party has not released on the new curve: c2pa (wai-rs),
openmls and frost-ed25519 (joule-code, jcp-threshold), bulletproofs and snow
(smart-byte; smart-byte-zk keeps curve 4.1 because its scalars go into
bulletproofs, and says so), and the libp2p 0.56 and hpke-rs 0.7 lines.
Each is handed bytes, never a key type of ours.
Checked: all 53 workspaces `cargo check --all-targets` with every feature,
or the defaults where every feature fails for a reason the log shows is not
this (CUDA, livekit, an old wasm-bindgen); wai-rs as CI builds it and with
codecs and neural on macOS; gstreamer on Linux; the desktop app after the
Studio. Tests: jcp-rs 755 (one RAPL timing test failed once at load 229 on
the arm64 host, passes alone on main there and in the full run), wai-rs lib
1252, joule-code 694 + 88, smart-byte 183, op-screening 50, sandbox-tee 52,
joulecontract 17, jouleclaw-hpke 12. The wasmQ modules of record rebuild
byte for byte on x86_64 Linux (main's lockfile first, then this one): no
dalek code is in them, so only the lockfile digest moves. The views page's
script and styles are unchanged; its engine moved with its dependencies.
lockfiles current, advisories: nothing new.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
46 lines
2.3 KiB
TOML
46 lines
2.3 KiB
TOML
[package]
|
|
name = "wai-fleet"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
license = "Apache-2.0"
|
|
description = "A WAI fleet as a service: an organisation's nodes enrolled by their signing keys, the session summaries and per-hop records they sign verified and kept append-only, and the fleet report the organisation signs for a period, exported as a bundle that verifies offline."
|
|
repository = "https://git.transaction.science/Transaction-Science/open-standards"
|
|
publish = false
|
|
|
|
# Its own workspace and Cargo.lock, like the other crates beside wai-rs.
|
|
[workspace]
|
|
|
|
# The relay's wtransport, vendored with its WebTransport session close, as the relay's own
|
|
# workspace patches it (joule-code/joule-code-rs/vendor/wtransport/VENDORED.md): the relay is a
|
|
# dev-dependency here, for its own types in the tests.
|
|
[patch.crates-io]
|
|
wtransport = { path = "../../joule-code/joule-code-rs/vendor/wtransport" }
|
|
# quinn 0.11.12 and quinn-proto 0.11.19 with RESET_STREAM_AT and the reset_stream_at transport
|
|
# parameter, which WebTransport over HTTP/3 relies on (vendor/quinn-proto/VENDORED.md).
|
|
quinn = { path = "../../joule-code/joule-code-rs/vendor/quinn" }
|
|
quinn-proto = { path = "../../joule-code/joule-code-rs/vendor/quinn-proto" }
|
|
|
|
[dependencies]
|
|
axum = "0.8"
|
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "net", "sync", "signal", "io-util", "time"] }
|
|
serde_json = { version = "1", features = ["preserve_order"] }
|
|
ed25519-dalek = { version = "3", features = ["alloc"] }
|
|
getrandom = "0.4"
|
|
# `wai-fleet collect` reads a node's published summary file over https: rustls with ring, as the
|
|
# relay's own upstream does, and the platform's roots.
|
|
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
|
tokio-rustls = { version = "0.26", default-features = false, features = ["ring"] }
|
|
rustls-native-certs = "0.8"
|
|
wai = { path = "../wai-rs", default-features = false, features = ["fleet"] }
|
|
# GET /metrics, in the text exposition format.
|
|
wai-metrics = { path = "../wai-metrics" }
|
|
|
|
[profile.release]
|
|
lto = "thin"
|
|
|
|
[dev-dependencies]
|
|
sha2 = "0.10"
|
|
# The reference relay, for its own types: the corpus's summaries read and re-serialised by them,
|
|
# and summaries and per-hop records signed by its own code, collected from a file it would write.
|
|
joule-moq-relay = { path = "../../joule-code/joule-code-rs/crates/joule-moq-relay" }
|
|
hex = "0.4"
|