wai-quantum 0.6.4: Pauli frames, the GPU state vector, the density matrix to 16 qubits, an OpenQASM writer that keeps every gate; the service for agents and browsers #320

Merged
dcharlot merged 21 commits from wai/quantum-0.6.4-pr into main 2026-10-18 15:44:15 -04:00

2026-10-18

Transaction Science
Merge origin/main into wai/quantum-0.6.4-pr; CHANGELOG keeps every entry
Some checks failed
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 46s
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 16s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 19s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 3m1s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness · MSRV (pull_request) Successful in 5m2s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 4m37s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 8m19s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Failing after 2h39m39s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 24s
wai-quantum service / service · macos (pull_request) Successful in 33s
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 15s
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 2m44s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m44s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 18s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 13s
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 57s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 8m8s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 1m50s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 4m0s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 24s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 17m12s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 21s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 17m3s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m9s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 17s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 20s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 15:22:33 -04:00
Transaction Science
wai-quantum-service: the MCP and OpenAPI descriptions of the program name the control modifiers, ch, and reset before a qubit's first gate
All checks were successful
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 19m39s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 1m1s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 1m37s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 36s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 29s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 1m8s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 3m39s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 10m16s
wai-pack / wai-pack · macos (pull_request) Successful in 1m29s
wai-quantum dataflow member / member · dataflow device absent (macos) (pull_request) Successful in 17s
wai-quantum FPGA member / member · FPGA datapath, simulated (macos) (pull_request) Successful in 1m41s
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 48s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 8m40s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 2m22s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 7m43s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 39s
wai-quantum service / service · macos (pull_request) Successful in 1m11s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 22s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 32s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 29s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 7m26s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 25m10s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 58s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 1m1s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 27m36s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 1m9s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 2m37s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 47s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 5m20s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 2m18s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:20:41 -04:00
Transaction Science
wai-quantum-service: OpenQASM 3 control modifiers, written exactly as standard gates
ctrl @, ctrl(n) @, negctrl @ and negctrl(n) @ on x y z h s sdg t tdg p and on
cx cy cz ch cp ccx ccz. A gate the standard names is read as that gate, so a
Clifford program keeps the stabilizer method. A phase on m qubits is written
from x1...xm = 2^(1-m) sum over nonempty S of (-1)^(|S|+1) parity(S): each
subset's parity gathered on its highest qubit by cx in Gray-code order and
turned by p(+-theta/2^(m-1)), 2^m - 1 of each, exact with no global phase.
x, y and h become a phase by a change of basis on the target. Checked on a
6-qubit state against the 2x2 gate applied directly where the controls hold,
every amplitude within 1e-12; the test fails when the expansion's signs or its
releases are broken. Grover as the IDE exports it finds its item on the exact
and statevector methods.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:20:41 -04:00
Transaction Science
wai-quantum: the OpenQASM writer keeps every gate: controlled gates without a standard name in OpenQASM 3's modifier form, read back by from_qasm
A gate with three or more controls (Grover's oracle and diffusion past three
qubits) was written as a comment, so the exported program was not the
circuit. to_qasm now writes ctrl(n) @ g for every controlled gate without a
standard name (ch included), and from_qasm reads ctrl, ctrl(n), negctrl and
negctrl(n). Gates exact here only up to a global phase (rz, rx, ry, sx, u) are
refused under a modifier, since a control makes that phase observable.
Checked: each base gate under zero to five controls reads back op for op;
Grover on five and seven qubits keeps its state.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:20:41 -04:00
Transaction Science
wai-quantum-service: receipts sign the RFC 8785 canonical text, so a result verifies after any JSON reader has carried it
A browser's JSON.parse and JSON.stringify turn 1.0 into 1, so a receipt over
serde_json's own text could not be checked from JavaScript (the console, or
any JS agent). The digest now covers the canonical text of the request and
the result: keys sorted by UTF-16 code units, no whitespace, every number as
ECMAScript's Number::toString writes the double, ties between equally near
shortest digits going to the even one, as the standard asks. The receipt
names the form ("canon": "rfc8785"); receipts issued before it still
verify. serde_json reads numbers correctly rounded (float_roundtrip), and a
request whose whole numbers a double cannot hold is refused. Checked against
a JavaScript engine: RFC 8785's appendix B and 3,385 vectors in the tests,
and 2 million random doubles in an opt-in test.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-18 10:20:41 -04:00