open-standards/wai/quantum-conformance/answers
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science e54f281027
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 21s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 19s
wai-audit collector and player integration / does this change touch it (push) Successful in 25s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (push) Successful in 1m9s
wai-fleet service / does this change touch it (push) Successful in 56s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 1m40s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 1m26s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 1m24s
wai-ledger service / does this change touch it (push) Successful in 57s
wai-key-proxy / does this change touch it (push) Successful in 1m23s
WAI operation catalogue / does this change touch it (push) Successful in 1m24s
wai-app and Create / wai-app · does this change touch it (push) Successful in 1m24s
wai-fleet service / service · macos (push) Successful in 41s
wai-audit collector and player integration / collector · linux (push) Successful in 1m24s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 2m6s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 59s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 2m0s
wai-ledger service / service · macos (push) Successful in 1m8s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 1m14s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 2m27s
wai-fleet service / service · linux (push) Successful in 1m50s
wai-quantum command line / does this change touch it (push) Successful in 2m42s
joule-code conformance gate / Build + round-trip C1-C4 vectors (push) Successful in 4m3s
joule-code conformance gate / joule-moq-relay, every target (push) Successful in 4m11s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 3m47s
wai-key-proxy / proxy · linux (push) Successful in 3m3s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 4m16s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 4m50s
wai-quantum command line / command line · macos (push) Successful in 1m48s
wai-ledger service / service · linux (push) Failing after 4m34s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 5m11s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 6m45s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 5m36s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 7m57s
wai-quantum editors / does this change touch it (push) Successful in 7m30s
wai-quantum for JavaScript / does this change touch it (push) Successful in 7m31s
wai-quantum resource estimation / does this change touch it (push) Successful in 7m33s
wai-quantum docs, course and locales / does this change touch it (push) Successful in 7m35s
wai-quantum-landscape-fpga reference design / does this change touch it (push) Successful in 7m31s
wai-quantum other formats / does this change touch it (push) Successful in 7m33s
wai-quantum contract / does this change touch it (push) Successful in 7m35s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 7m36s
joule-code conformance gate / joule-moq-ingest, every target (push) Successful in 9m20s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Successful in 7s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Successful in 27s
joule-moq-room room service / joule-moq-room, every target (push) Successful in 8m18s
wai-quantum editors / editors · macos (push) Successful in 1m17s
wai-quantum studio and desktop / does this change touch it (push) Successful in 1m36s
wai-quantum extension points / does this change touch it (push) Successful in 1m38s
wai-quantum service / does this change touch it (push) Successful in 1m38s
wai-quantum OpenQASM reader / does this change touch it (push) Successful in 6m56s
wai-quantum error correction and mitigation / does this change touch it (push) Successful in 1m40s
wai-quantum for Python / does this change touch it (push) Successful in 1m40s
wai-quantum pulse and dynamics / does this change touch it (push) Successful in 1m42s
wai-quantum variational and algorithm library / does this change touch it (push) Successful in 1m39s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (push) Successful in 1m39s
wai-quantum verdicts and repairs / does this change touch it (push) Successful in 1m2s
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Successful in 2m52s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Successful in 1m16s
wai-quantum views in agent hosts / does this change touch it (push) Successful in 1m29s
WAI Studio / does this change touch it (push) Successful in 1m28s
wai-sink-android native sink library / does this change touch it (push) Successful in 1m29s
wai-sink-swift native sink package / does this change touch it (push) Successful in 1m29s
wai-quantum pulse and dynamics / the same bits · macos (push) Successful in 1m34s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 12m30s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Successful in 1m46s
wai-quantum editors / editors · linux (push) Successful in 3m37s
wai-quantum service / service energy · linux packages (push) Successful in 1m59s
wai-quantum for Python / python · macos (push) Successful in 2m5s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Successful in 2m26s
wai-quantum other formats / readers, writers and the set · linux (push) Successful in 4m29s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Successful in 3m12s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (push) Successful in 5m15s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (push) Successful in 2m43s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m55s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 3m58s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (push) Successful in 3m57s
wai-quantum service / service · macos (push) Successful in 4m17s
wai-quantum OpenQASM reader / reader and corpus · linux (push) Successful in 4m26s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (push) Successful in 4m4s
wai-quantum for Python / python · linux (push) Successful in 5m3s
wai-quantum extension points / the registry and the example · linux-arm64 (push) Successful in 5m8s
wai-quantum views in agent hosts / views · the page and its engine (push) Successful in 3m38s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Successful in 5m32s
wai-quantum extension points / the registry and the example · linux (push) Successful in 5m36s
wai-quantum resource estimation / estimation and calibration · linux, release (push) Successful in 7m34s
wai-quantum studio and desktop / studio · browser (push) Successful in 6m7s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 4m38s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Successful in 6m23s
wai-quantum views in agent hosts / views · a scripted host (push) Successful in 4m54s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 15m55s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (push) Successful in 6m55s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 5m30s
wai-quantum service / service · linux (push) Successful in 7m1s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 7m50s
wai-quantum for JavaScript / javascript · linux (push) Successful in 10m5s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 7m10s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 10m26s
wai-quantum contract / API compatibility · linux (push) Successful in 12m22s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (push) Successful in 15m23s
wai-quantum contract / schemas and the committed tool lists · linux (push) Successful in 16m0s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 15m14s
WAI Studio / Studio in WebKit · linux (push) Successful in 15m34s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Failing after 20m35s
wai-quantum command line / command line · linux (push) Successful in 31m40s
wai-quantum 0.9.0: two breaks since 0.8.1 raise its 0.y, a job is Send again, and every pin the version moves
cargo-semver-checks 0.51.0 found three breaking changes in main's wai-quantum
against 0.8.1, the last version on crates.io, with the crate still at 0.8.1,
so the API check (wai-quantum-contract.yml) failed on main and on every pull
request: Job was no longer Send, Plan gained the public field metered, and
MpsError gained the variant OverBudget. Job's cells (the request in standard
gates, the bit-exact circuit, the Clifford gates) are now std::sync::OnceLock,
not std::cell::OnceCell, so it is Send again, and Sync too; a const assertion
beside it fails the build if a field takes Send away. The other two stay, so
the engine is 0.9.0 (VERSIONING.md, "Before 1.0"). This is the version in the
repository, not a publish: nothing went to crates.io, PyPI, Homebrew or Scoop,
and the check's baseline stays 0.8.1.

merkle.rs passes clippy --all-targets -D warnings: merkle_path and
merkle_check may go unused in a build without both quantum_engine and
quantum_receipt (the default features are one), a level pairs its nodes with
as_chunks::<2>() as clippy 1.99 asks, which pairs them as chunks_exact(2) did,
and a test asks is_empty.

What moved:
- wai/wai-quantum/Cargo.toml 0.8.1 -> 0.9.0; the requirement in
  wai-quantum-cli, wai-quantum-qpu, wai-quantum-desktop, wai-quantum-py,
  wai-quantum-landscape-fpga and wai-rs; the 19 lockfiles that hold the
  engine (each a path package, its version line only).
- The engine's version is among the sealed bytes of a stamped result, so the
  page's pinned digests in wai/wai-web/src/quantum_engine.rs move, as each
  native test computed them: the course check 49a9fdb8... -> d42308be...,
  the compile 198ea9bd... -> 2f714380..., the estimate acbd7208... ->
  d8d5867b.... The answer set's stored seal is written again
  (WAI_ANSWER_BUNDLE_WRITE=1: bell-stored.wqa, bell-stored-changed.wqa,
  bundle.json), and the notebooks' outputs are stored again
  (ci/check.sh --write-notebooks, which also ran its clippy, its 85 pytest
  tests and the Python 3.9 smoke). The views page is rebuilt with
  wai-quantum-views/build.sh on the rebased tree (build-views.mjs --check
  passes); its manifest records the engine's new bytes and the new digest of
  wai-quantum-views/Cargo.lock.
- A jeff module names the engine's version, so the jeff column of
  engine::catalog::whole_tests (the programs a gate under many controls is
  held to) is written again from the engine's own export at 0.9.0 (c3z
  5483575a... -> 65bc71cb..., each of the 24 rows); its other columns hold.
- Positive control: with OnceLock and the merkle change in place and the
  version set back to 0.8.1, the old page pins (31 of 31), the old stored
  answers and the old jeff column all pass, so the code changes move no
  sealed byte and every moved digest is the version's.
- VERSIONING.md (0.9.x, the example engine version, the API check's note),
  and the changelog entry wai/changes/2026-11-07-wai-quantum-0-9-0.md, which
  says what to do instead of each break and acknowledges the three corpus
  files for wai breaking.
- Not moved: the receipts of quantum-conformance/receipts/ (kept as made,
  naming 0.8.1, verifying as they did), the job pins (they strip the engine),
  and the versions of the dependents, each of which moves when it is next
  released.

What ran (each through rb; Framework x86_64 Linux, Thor aarch64 Linux):
- cargo-semver-checks 0.51.0, the API job's own script: wai-quantum
  0.8.1 -> 0.9.0 lists two breaks (constructible_struct_adds_field
  Plan.metered, enum_variant_added MpsError::OverBudget; no auto-trait
  finding) and passes, the major being raised; wai-quantum-cli has none
  against 0.2.4; wai-quantum-qpu's three against 0.4.1 pass at 0.5.0.
- wai-quantum `cargo test --locked --features full --lib --tests`
  (wai-energy-receipts.yml) on x86_64 and aarch64: the library 1380 passed,
  0 failed, and every integration test passed except reader_memory, which
  overflows its stack in a debug build on main as it is (2c8044b1a, checked
  on main's tree without this change); tn_vs_sv and utility_reference, which
  its abort skipped, were run on both after it and pass.
- The contract's engine::schema tests (10), engine::views (4) and the views
  crate (3); build-views.mjs --check.
- wai-web, wai-web-wasm.yml's steps on x86_64: both wasm32 bundles,
  wasm-tools 1.250.0 validate with relaxed SIMD and threads off, the JS
  surface (4), the engine in a page under Node (22), its native half (31,
  and on aarch64 too), the native unit tests (37), and every node verifier
  (int_synth, int payload, int world, generate, staged, measure, menu, pack)
  and the corpus comparisons.
- The answer set (answer_conformance, 2) on both architectures; the
  notebooks checked against their stored outputs (ci/check.sh, 5 of 5, 36
  cells), with its clippy, 85 pytest tests and the Python 3.9 smoke.
- clippy -D warnings, --all-targets: wai-quantum-cli (default and
  --no-default-features), wai-quantum-qpu, wai-quantum-service,
  wai-quantum-writer (both), wai-quantum-landscape-fpga and wai-quantum-py
  pass. On wai-quantum itself merkle.rs has no finding under any of seven
  feature sets (default, none, full, the contract's, engine+receipt,
  receipt, landscape); the crate's other files keep findings of their own
  (84 on the default features), which no workflow runs.
- cargo metadata --locked in all 19 workspaces whose lock holds the engine.
- wai breaking --against main (b6dffcff8) --all: three corpus breaks, each
  acknowledged by the changelog entry; Job's Send and Sync are compatible
  additions.
- The public-name check (scripts/check-public-names.sh, with the private
  list) on the 43 changed files, check-wai-quantum-names.py, and
  changelog-assemble.py --check.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 12:44:24 -05:00
..
cases wai-quantum 0.9.0: two breaks since 0.8.1 raise its 0.y, a job is Send again, and every pin the version moves 2026-11-07 12:44:24 -05:00
bundle.json wai-quantum 0.9.0: two breaks since 0.8.1 raise its 0.y, a job is Send again, and every pin the version moves 2026-11-07 12:44:24 -05:00
manifest.json wai-quantum: the answer view layer, its codes and conformance set, and correctness records 2026-10-28 08:42:54 -04:00
README.md determinism-tiers §5: CI validates the browser packages; the READMEs run CI's wasmtime 2026-11-04 12:29:00 -05:00

Answer conformance

Answers in the answer view layer (quantum-answers.md, wai_quantum::engine::answer), each with what the layer must make of it.

Path What
cases/*.wqa The answers: a program, a sample, a verdict and a seal; an intent named by a reference program; the equivalence ladder; an intent that fails; expectation values, amplitudes and a Bloch vector; an engine call named apart from its view; no root; and one case for each code of the layer (J100 to J112) and for a program the reader refuses (Q103). bell-crlf is bell with CRLF line ends. bell-stored is bell with the receipt marker its seal gives under the key whose seed is 32 bytes of 3, and bell-stored-changed the same with one sample's shots changed.
manifest.json Each case: its file, what it covers, and what it must give (the manifest's expect says what each field means).
bundle.json The manifest's cases with every answer inline, for builds that read no files.

A case is held to the codes of its errors (the diagnostics whose outcome is dropped or refused, the ones a model is sent back) and of its warnings, in the order of their lines; to its root; and to the order its views are drawn in. A case with run has its views carried out on the engine and held to what they show: a sample's total and its outcomes, a verdict's level and whether it holds, an equivalence's decision, expectation values, a Bloch vector, the names a seal covers and its receipt. A stored case's receipt is checked by running the answer again: the engine is deterministic, so the same answer gives the same sealed bytes on every build, and a changed one does not verify.

Native

cd wai/wai-quantum
cargo test --release --features full --test answer_conformance

Two tests: every case against its manifest, and the bundle (and the stored cases) held equal to the files. After changing a case or the manifest, write them:

WAI_ANSWER_BUNDLE_WRITE=1 cargo test --release --features full --test answer_conformance the_bundle_is_the_corpus

WASI (the edge)

CARGO_TARGET_WASM32_WASIP2_RUNNER='wasmtime run -W nan-canonicalization=y -W relaxed-simd-deterministic=y' \
  cargo test --target wasm32-wasip2 --features full --test answer_conformance

Browser

wai-web's wasm32 tests (--features quantum_engine, under wasm-bindgen-test-runner) read every case of the bundle with engine_answer_parse and verify the stored cases with engine_answer_verify.

CI: wai-quantum-verdict.yml (native and wasm32-wasip2) and wai-web-wasm.yml (the browser build).