wai-quantum: the job engine in a browser tab, one job function for every host #361

Closed
dcharlot wants to merge 9 commits from wai/quantum-engine-browser into main
Owner

Stacked on #359, which is stacked on #356. Merge those first. Until then this PR also shows their commits; its own is the last one.

This puts the job service's engine in a browser tab. A page can plan, run and sign a job there exactly as the service and the command line do, and check any job's receipt, the service's included, without asking the server.

What changes

  • engine::job is a job end to end, as every host gives it:

    • run: planned, run, sealed with the host's key, in the service's form;
    • verify;
    • did_of;
    • lint.

    The command line now calls these.

  • engine::draw is the circuit drawer, moved here from the command line.

  • The engine runs on wasm32-unknown-unknown. A tab has no clock std can read, so a result there carries no elapsed_ms. The multi-seed cut-rank order search runs its seeds one after another where there are no threads, and finds the same orders. Every other path was already single-threaded on wasm32.

  • The job's memory margin is counted once for a mid-circuit-measuring program on the state vector, as trajectories already count it. It used to be counted once per state, which left 0 qubits in a 512 MiB tab and made the service refuse a qubit it could hold.

  • wai-web gains a quantum_engine feature. It is off by default, so the main bundle is unchanged, and it is meant for the IDE's bundle. It provides:

    • QuantumEngine, with run, plan, methods and signer_did, signing with the key the page gives;
    • engine_lint, engine_draw and engine_verify.
  • wai-rs gains a quantum_engine feature, which re-exports the engine as wai::engine.

Checked on the build host

  • wai-web with quantum_engine, in wasm32 under Node: 6 passed (the crate's 4, and 2 new):
    • a job runs, verifies, and claims no time;
    • every method a tab holds runs: exact, statevector, stabilizer, mps, pauli, tensor_network, cutrank, density_matrix, trajectories, and a program that measures in the middle.
  • wai-web with quantum_engine, native: 4 passed. Default features: 35, unchanged.
  • The engine's tests: 45. The command line: 6 tests, clippy with warnings as errors, and smoke.sh. The service: 18 tests and clippy.
  • scripts/check-lockfiles.sh.

wai-web-wasm.yml runs the binding's wasm and native tests, each with its count, so a test that stops being compiled fails the run.

Next, on the site: the console's "Run in this browser" and the IDE running any program through this binding, with one result view and receipts checked in the page.

🤖 Generated with Claude Code


Closed: replaced by #363, the same commits cherry-picked onto main (the changelog had diverged), with the assistant added

**Stacked on #359**, which is stacked on #356. Merge those first. Until then this PR also shows their commits; its own is the last one. This puts the job service's engine in a browser tab. A page can plan, run and sign a job there exactly as the service and the command line do, and check any job's receipt, the service's included, without asking the server. **What changes** - **`engine::job`** is a job end to end, as every host gives it: - `run`: planned, run, sealed with the host's key, in the service's form; - `verify`; - `did_of`; - `lint`. The command line now calls these. - **`engine::draw`** is the circuit drawer, moved here from the command line. - **The engine runs on `wasm32-unknown-unknown`.** A tab has no clock std can read, so a result there carries no `elapsed_ms`. The multi-seed cut-rank order search runs its seeds one after another where there are no threads, and finds the same orders. Every other path was already single-threaded on wasm32. - **The job's memory margin is counted once for a mid-circuit-measuring program on the state vector,** as trajectories already count it. It used to be counted once per state, which left 0 qubits in a 512 MiB tab and made the service refuse a qubit it could hold. - **wai-web gains a `quantum_engine` feature.** It is off by default, so the main bundle is unchanged, and it is meant for the IDE's bundle. It provides: - `QuantumEngine`, with `run`, `plan`, `methods` and `signer_did`, signing with the key the page gives; - `engine_lint`, `engine_draw` and `engine_verify`. - **wai-rs gains a `quantum_engine` feature**, which re-exports the engine as `wai::engine`. **Checked on the build host** - wai-web with `quantum_engine`, in wasm32 under Node: 6 passed (the crate's 4, and 2 new): - a job runs, verifies, and claims no time; - every method a tab holds runs: exact, statevector, stabilizer, mps, pauli, tensor_network, cutrank, density_matrix, trajectories, and a program that measures in the middle. - wai-web with `quantum_engine`, native: 4 passed. Default features: 35, unchanged. - The engine's tests: 45. The command line: 6 tests, clippy with warnings as errors, and `smoke.sh`. The service: 18 tests and clippy. - `scripts/check-lockfiles.sh`. `wai-web-wasm.yml` runs the binding's wasm and native tests, each with its count, so a test that stops being compiled fails the run. Next, on the site: the console's "Run in this browser" and the IDE running any program through this binding, with one result view and receipts checked in the page. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- **Closed:** replaced by #363, the same commits cherry-picked onto main (the changelog had diverged), with the assistant added
The OpenQASM reader moves from the service into the library as
wai_quantum::qasm (feature quantum_qasm). The service, `wai-quantum run --qasm`
and the browser IDE's import now read a program the same way and refuse the
same programs: two registers, broadcast gates and comments read as the
service reads them, where the IDE's line reader dropped what it did not know.

- qasm::dyadic_circuit takes a program whose measurements all come at the
  end, and refuses one that measures and then acts, with the reason.
- quantum_toolchain::from_qasm, the older line reader, refuses what it cannot
  take (more than one register, reset, gate definitions, if/while/for, a gate
  after a measurement, two statements on one line) and names the full reader,
  instead of dropping the line.
- wai-web: the IDE binding builds its JSON with serde_json, so a quote or a
  control character in a program or an error no longer breaks the reply.
  set_signing_key, public_key_hex and key_is_demo let a page sign receipts
  with its own key; without one it signs with the published demo key and
  says so.
- The CLI signs with --key FILE, $WAI_QUANTUM_KEY, or this user's key at
  $XDG_CONFIG_HOME/wai/quantum-key (~/.config/wai/quantum-key), made from the
  operating system's random source with mode 0600 on first use. --demo-key
  keeps the published key, with a note that such a receipt shows the result
  is unaltered, not who signed it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The CLI signed every receipt as "did🔑wai-quantum-cli" and the IDE as
"did🔑quantum-ide", labels that name no key. Now that each signs with
its own key, the receipt's signer_id is that key's Ed25519 did:key
(wai::signer_id::did_key), so a verifier reads the signer from the id as
jwp-receipts §7.1 describes. The IDE binding gains signer_did() for the
page to show it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum 0.6.10: the changelog, the qasm module in the README, the version in every lockfile that pins it
Some checks failed
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 25s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 13s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 13m35s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 10s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 13s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 22s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m9s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m8s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Failing after 2m35s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m17s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m58s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 12m45s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m6s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 19s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 44s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 4m23s
wai-pack / wai-pack · macos (pull_request) Successful in 1m3s
wai-quantum dataflow member / member · dataflow device absent (macos) (pull_request) Successful in 14s
wai-quantum FPGA member / member · FPGA datapath, simulated (macos) (pull_request) Successful in 1m8s
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 26s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 5m45s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 21s
wai-quantum service / service · macos (pull_request) Successful in 32s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 10s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 14s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 12s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m13s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m27s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 3m43s
d8b1d5487a
Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-web wasm32 CI: the native unit tests are 35, with the IDE binding's import, JSON and signing-key tests
All checks were successful
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 23s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 29s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 20s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 22s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 20s
wai-quantum service / service · linux (pull_request) Successful in 51s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 19s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 30s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 6m26s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 24s
wai-quantum service / service · macos (pull_request) Successful in 39s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 11s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 14s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m45s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m47s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 8m39s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 25s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 12s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 9s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 14m38s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 13s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 12s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m9s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m7s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 3m16s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m21s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m44s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m26s
38af4dd66e
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The service's planner (catalog), runner (run) and dynamic-circuit walk
(dynamic) move unchanged into wai_quantum::engine, so every host that runs a
job plans and answers it as the service does. The service keeps what is its
own: HTTP, the job queue and its limits, energy metering, its signed
receipts, MCP and its examples.

- The GPU state vector is behind quantum_sv_metal: without it, the plan
  says the build has none, and the build still compiles for any target.
- The feature reads JSON numbers correctly rounded
  (serde_json/float_roundtrip), as the service always has.
- The test of the service's own examples stays with the service; the
  Grover test, which builds its program with the toolchain, runs where
  quantum_toolchain is on.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
- engine::receipt is the service's receipt form, moved: a result sealed over
  the request and the result in their RFC 8785 canonical text, and checked.
  The service keeps its key file and seals with it; the command line seals
  with the user's key in the same form, and one verify checks both. The
  first receipts' form still verifies.
- A job's noise naming a channel the model does not know is refused with
  the channels it knows (catalog::NOISE_CHANNELS). It was read as no noise,
  so a misspelt channel ran the circuit noiseless.
- quantum_receipt::did_key: an Ed25519 key's did:key, held to the W3C
  method's example, for signers that depend on the library alone.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum-cli: the command line on the job service's engine, installable
All checks were successful
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 14s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 12s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 3m44s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 22s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 4m34s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 18s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m24s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 21s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 18s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 20s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 19s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 18s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m40s
wai-quantum service / service · linux (pull_request) Successful in 37s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 8m17s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 31s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 18s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 25s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 12s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 9s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 12s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 11s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 14m3s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m10s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m7s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 3m16s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m12s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 3m47s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m45s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m22s
e06e56a488
A new crate, wai-quantum-cli, whose binary is wai-quantum. It depends on the
wai-quantum library alone, so `cargo install wai-quantum-cli` can install it.

- run: an OpenQASM program planned and run as the service runs it
  (wai_quantum::engine), signed with this user's key; --json prints the job
  as the service returns it. Shots, seed, method, observables, amplitudes,
  noise and method options; an unknown flag or noise channel is an error.
- plan, lint (the line of the first problem), draw (the circuit as text,
  gates packed into columns, conditions in a legend).
- submit: the same job on the service (feature `service`, on by default),
  waiting for a long one.
- verify: a job's receipt from run, submit or the service, and every
  receipt the research tools sign; a changed result is INVALID.
- key: this user's did:key; --key FILE and --demo-key as before.
- methods: each method's reach in a job's memory here.
- mcp: run, plan, lint, draw, verify and the method list for an agent,
  over stdio; runs stay on this machine.
- lab: the earlier wai-quantum command, moved here from wai-rs unchanged
  (wai:: paths now wai_quantum::), its key handling shared with run.
- completions for bash, zsh, fish, elvish and PowerShell.
- Feature `metal`: the GPU state vector on macOS. With no default features
  it builds for wasm32-wasip2.

wai-rs loses the wai-quantum bin and its cli_keys feature. The wai README's
quickstart now uses the new crate. smoke.sh exercises every command, and
.github/workflows/wai-quantum-cli.yml runs the tests, clippy with and
without submit, smoke.sh, and the WASI component against the native build,
byte for byte; on macOS also a run on the GPU.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum engine in a page: one job function for every host, and the engine in the browser
Some checks failed
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum portable tensor program / does this change touch it (pull_request) Has been cancelled
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Has been cancelled
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Has been cancelled
wai-quantum portable tensor program / tensor program · integrated GPU (framework-128gb) (pull_request) Has been cancelled
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Has been cancelled
wai-quantum CPU vector units / does this change touch it (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / does this change touch it (pull_request) Has been cancelled
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Has been cancelled
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · discrete GPU, Vulkan (jetson-hub) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Has been cancelled
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Has been cancelled
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Has been cancelled
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Has been cancelled
wai-web wasm32 / does this change touch it (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Has been cancelled
9d80fb71a4
- engine::job: a job planned, run, sealed with the host's key and returned
  in the service's form (run), its check (verify), a key's did:key (did_of)
  and a program's lint. The command line now calls these; the browser
  binding calls the same.
- engine::draw: the circuit drawer, moved from the command line.
- The engine runs on wasm32-unknown-unknown: a result there carries no
  elapsed_ms (a tab has no clock std reads), and the cut-rank order search
  runs its seeds in turn where there are no threads, finding the same orders.
- A program that measures in the middle on the state vector is admitted
  with the job's memory margin counted once, as trajectories count it, not
  once per state: two 256 MiB margins had left no room in 512 MiB, and the
  service refused a qubit it could hold.
- wai-web, feature quantum_engine (off by default, for the IDE's bundle):
  QuantumEngine (run, plan, methods, signer_did) signing with the page's
  key, and engine_lint, engine_draw and engine_verify. Tested natively and
  in wasm32 under Node, where a job runs and verifies, a changed result is
  refused, and every method a tab holds runs; wai-web-wasm.yml runs both
  with their counts.
- wai-rs: feature quantum_engine re-exports the engine as wai::engine.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum 0.6.11, wai-quantum-cli 0.1.0: the changelog, the version in every lockfile that pins it
All checks were successful
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m21s
wai-pack / wai-pack · linux (pull_request) Successful in 1m18s
wai-quantum command line / command line · linux (pull_request) Successful in 59s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 6m48s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 26s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 3m29s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 4m36s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 19s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 23s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 16s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 21s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 19s
wai-quantum service / service · linux (pull_request) Successful in 37s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 18s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 7m49s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 40s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 19s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 26s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 12s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 9s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 11s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 15m34s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m3s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m7s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m6s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m19s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 4m24s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 3m1s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m42s
89c4b20659
Co-Authored-By: Claude Opus 5.5 <[email protected]>
dcharlot closed this pull request 2026-10-20 13:27:25 -04:00
All checks were successful
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 12m3s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 5s
WAI conformance / does this change touch it (pull_request) Successful in 4s
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 40s
WAI energy receipts / does this change touch it (pull_request) Successful in 4s
WAI JPEG-AI whole decode (pinned inputs, required) / does this change touch it (pull_request) Successful in 4s
WAI neural sink gates / does this change touch it (pull_request) Successful in 4s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 4s
wai-quantum command line / does this change touch it (pull_request) Successful in 5s
wai-quantum CUDA member / does this change touch it (pull_request) Successful in 4s
wai-quantum dataflow member / does this change touch it (pull_request) Successful in 5s
wai-quantum signal processor / does this change touch it (pull_request) Successful in 4s
wai-quantum FPGA member / does this change touch it (pull_request) Successful in 4s
wai-quantum HIP member / does this change touch it (pull_request) Successful in 4s
wai-quantum Metal member / does this change touch it (pull_request) Successful in 5s
wai-quantum npu-cores member / does this change touch it (pull_request) Successful in 4s
wai-quantum neural-processor member / does this change touch it (pull_request) Successful in 5s
wai-quantum OpenCL member / does this change touch it (pull_request) Successful in 5s
wai-quantum-qpu / does this change touch it (pull_request) Successful in 5s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 27s
wai-quantum service / does this change touch it (pull_request) Successful in 4s
wai-quantum HIP member / member · HIP (framework-128gb) (pull_request) Successful in 20s
wai-quantum matrix-extension member / does this change touch it (pull_request) Successful in 5s
wai-quantum tensor-engine member / does this change touch it (pull_request) Successful in 4s
wai-quantum portable tensor program / does this change touch it (pull_request) Successful in 5s
wai-quantum CPU vector units / does this change touch it (pull_request) Successful in 4s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 4s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 4s
wai-web wasm32 / does this change touch it (pull_request) Successful in 4s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 25s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 17s
wai-quantum npu-cores member / member · npu-cores, neural processor (framework-128gb silicon) (pull_request) Successful in 1m14s
wai-quantum OpenCL member / member · OpenCL GPU (framework-128gb) (pull_request) Successful in 13s
wai-quantum portable tensor program / tensor program · integrated GPU (framework-128gb) (pull_request) Successful in 8s
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Successful in 10s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 7m20s
wai-quantum WebGPU member / member · discrete GPU, Vulkan (jetson-hub) (pull_request) Successful in 24m52s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 3m26s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 14s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 11s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 26s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 1m15s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 6m53s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m8s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 14m44s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 16s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 2m20s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 28s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 18s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 15s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 5m19s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 18m34s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 4s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 4s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 51s
wai-quantum on every processor / emulated · armv7-unknown-linux-gnueabihf (pull_request) Successful in 1m31s
wai-quantum on every processor / emulated · aarch64-unknown-linux-gnu (pull_request) Successful in 2m53s
wai-quantum on every processor / emulated · loongarch64-unknown-linux-gnu (pull_request) Successful in 3m22s
wai-quantum on every processor / emulated · powerpc64-unknown-linux-gnu (pull_request) Successful in 4m58s
wai-quantum on every processor / emulated · powerpc64le-unknown-linux-gnu (pull_request) Successful in 5m27s
wai-quantum on every processor / emulated · riscv64gc-unknown-linux-gnu (pull_request) Successful in 3m40s
wai-quantum on every processor / emulated · s390x-unknown-linux-gnu (pull_request) Successful in 3m38s
wai-quantum on every processor / emulated · sparc64-unknown-linux-gnu (pull_request) Successful in 5m35s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 5s
wai-quantum on every processor / emulated · i686-unknown-linux-gnu (pull_request) Successful in 3m46s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 6m58s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 12m10s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 17s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 40s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 3m44s
wai-pack / wai-pack · macos (pull_request) Successful in 59s
wai-quantum command line / command line · macos (pull_request) Successful in 25s
wai-quantum dataflow member / member · dataflow device absent (macos) (pull_request) Successful in 12s
wai-quantum FPGA member / member · FPGA datapath, simulated (macos) (pull_request) Successful in 1m4s
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 25s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m1s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 27s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 5m26s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 19s
wai-quantum service / service · macos (pull_request) Successful in 28s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 9s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 13s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 13s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m21s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m35s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m6s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 19m2s
WAI neural sink gates / model-free refusals of the neural sink (pull_request) Successful in 1m21s
wai-pack / wai-pack · linux (pull_request) Successful in 1m18s
wai-quantum command line / command line · linux (pull_request) Successful in 59s
WAI JPEG-AI whole decode (pinned inputs, required) / fetch pinned JPEG-AI inputs → whole decode + pixel hash, required (pull_request) Successful in 6m48s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 26s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 3m29s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 4m36s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 19s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 23s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 16s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 21s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 19s
wai-quantum service / service · linux (pull_request) Successful in 37s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 18s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 7m49s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 40s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 19s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 26s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 12s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 9s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 11s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 15m34s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 3m3s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m7s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m6s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 5m19s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 4m24s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 3m1s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m42s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!361
No description provided.