open-standards/wai/quantum-conformance/wasmq/modules
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 75898a5b97
Some checks failed
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 21s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 15s
wai-app and Create / wai-app · does this change touch it (push) Successful in 22s
wai-audit collector and player integration / does this change touch it (push) Successful in 18s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 1m2s
wai-quantum command line / does this change touch it (push) Successful in 22s
wai-ledger service / does this change touch it (push) Successful in 36s
wai-quantum editors / does this change touch it (push) Successful in 13s
wai-quantum other formats / does this change touch it (push) Successful in 14s
WAI operation catalogue / does this change touch it (push) Successful in 43s
wai-quantum contract / does this change touch it (push) Successful in 21s
wai-fleet service / does this change touch it (push) Successful in 42s
wai-quantum error correction and mitigation / does this change touch it (push) Successful in 17s
wai-quantum qudit jobs / does this change touch it (push) Successful in 23s
wai-quantum studio and desktop / does this change touch it (push) Successful in 16s
wai-quantum extension points / does this change touch it (push) Successful in 24s
wai-quantum verdicts and repairs / does this change touch it (push) Successful in 12s
wai-sink-android native sink library / does this change touch it (push) Successful in 16s
wai-sink-swift native sink package / does this change touch it (push) Successful in 15s
wai-quantum views in agent hosts / does this change touch it (push) Successful in 17s
WAI Studio / does this change touch it (push) Successful in 12s
wai-quantum docs, course and locales / does this change touch it (push) Successful in 1m33s
wai-quantum resource estimation / does this change touch it (push) Successful in 1m27s
wai-quantum pulse and dynamics / does this change touch it (push) Successful in 1m10s
wai-quantum OpenQASM reader / does this change touch it (push) Successful in 1m13s
wai-quantum service / does this change touch it (push) Successful in 59s
wai-quantum variational and algorithm library / does this change touch it (push) Successful in 54s
wai-quantum for Python / does this change touch it (push) Successful in 1m10s
wai-quantum for JavaScript / does this change touch it (push) Successful in 1m25s
wai-quantum service / service energy · linux packages (push) Successful in 2m4s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 2m22s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (push) Successful in 2m46s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 7m5s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (push) Successful in 3m19s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 5m8s
joule-moq-room room service / joule-moq-room, every target (push) Successful in 6m52s
wai-quantum extension points / the registry and the example · linux-arm64 (push) Successful in 6m26s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 27s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 33s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 24s
wai-quantum contract / the policy is linked, and the deprecations page reads (push) Successful in 16s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (push) Successful in 3m10s
wai-audit collector and player integration / collector · linux (push) Successful in 3m58s
wai-quantum wasmQ / does this change touch it (push) Successful in 11s
wai-ledger service / service · linux (push) Successful in 3m45s
wai-quantum other formats / readers, writers and the set · linux (push) Successful in 4m46s
wai-quantum qudit jobs / the module and the conformance set under wasm32-wasip2 (wasmtime) (push) Successful in 2m29s
wai-quantum contract / API compatibility · linux (push) Successful in 5m16s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (push) Successful in 3m20s
wai-fleet service / service · linux (push) Successful in 6m2s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (push) Successful in 2m10s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (push) Successful in 2m21s
wai-quantum editors / editors · linux (push) Successful in 8m41s
wai-quantum extension points / the registry and the example · linux (push) Successful in 4m40s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 9m15s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Successful in 1m16s
wai-quantum qudit jobs / the module, the job, the conformance set, the referee and the verb · linux (push) Failing after 6m56s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (push) Successful in 3m20s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (push) Successful in 31s
wai-quantum contract / schemas and the committed tool lists · linux (push) Successful in 9m12s
wai-quantum studio and desktop / studio · browser (push) Successful in 6m53s
wai-quantum views in agent hosts / views · the page and its engine (push) Successful in 4m12s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (push) Successful in 53s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (push) Successful in 1m12s
wai-quantum docs, course and locales / the course and the command line's languages · linux (push) Successful in 3m32s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 12m52s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (push) Successful in 3m15s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (push) Successful in 3m50s
wai-quantum for Python / python · linux (push) Successful in 4m23s
wai-quantum for JavaScript / javascript · linux (push) Successful in 4m19s
wai-quantum OpenQASM reader / reader and corpus · linux (push) Successful in 6m2s
wai-quantum studio and desktop / desktop app · linux (push) Successful in 12m42s
wai-quantum service / service · linux (push) Failing after 6m41s
wai-quantum views in agent hosts / views · a scripted host (push) Successful in 10m12s
WAI Studio / Studio in WebKit · linux (push) Successful in 12m36s
wai-quantum resource estimation / estimation and calibration · linux, release (push) Successful in 12m48s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 10m15s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 3m45s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 4m21s
wai-quantum command line / command line · macos (push) Successful in 3m3s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 10m0s
wai-quantum command line / command line · linux (push) Failing after 52m54s
wai-fleet service / service · macos (push) Successful in 57s
wai-ledger service / service · macos (push) Successful in 2m37s
wai-quantum editors / editors · macos (push) Successful in 2m11s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (push) Successful in 45m7s
wai-quantum qudit jobs / the same bits · macos (push) Successful in 3m43s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Failing after 2m15s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 5m55s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 7m55s
wai-quantum pulse and dynamics / the same bits · macos (push) Successful in 3m9s
wai-quantum wasmQ / the reference modules rebuild to their modules of record · linux (push) Successful in 46s
wai-quantum for Python / python · macos (push) Successful in 3m28s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Successful in 16m57s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 9m9s
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · linux (push) Successful in 4m15s
wai-quantum wasmQ / interpreter and vectors under wasm32-wasip2 (wasmtime) (push) Successful in 4m10s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 8m51s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 9m44s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 11m9s
wai-quantum service / service · macos (push) Successful in 8m15s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 17m35s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 20m53s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 7m25s
wai-quantum wasmQ / profile, engines, reference modules, adversarial, vectors · macos (push) Successful in 2m12s
quantum-ops: the encoding in the text, four more records registered, and an unmetered form that never reads zero joules
quantum-ops named its records' fields and deferred everything else to the reference, so no
verifier could be written from the text, and it allowed `0` as the unmetered marker, which
quantum-landscape and wasmQ/2 forbid.

- extensions/quantum-ops.md §3, written from quantum_ops.rs and quantum_energy.rs: the
  primitives and their framing (§3.1), reading a receipt's JSON (§3.2), each kind's payload
  and Merkle leaves (§3.3), the identity (§3.4), the energy forms (§3.5), the reasons a
  verifier gives (§3.6), and the links and content hashes (§3.7). What is read and decides
  nothing is named: the written receipt_hash, a decode/compile/rearrange receipt's written
  merkle_root, an evidence summary (not sealed), members no text names.
- Registered: wai.quantum.mitigate, .decode, .compile, .rearrange (SPEC §5, quantum-ops §1.3
  to §1.6; registry.rs, the export regenerated). wai.quantum.qbom and .fabric are stated not
  to be part of the standard (quantum-ops §8) and stay unregistered with that reason. §5 of
  the text no longer names third-party tools.
- The unmetered form (quantum-ops §3.5, energy-measurement §2.8): quantum_energy::Unmetered,
  for every Labellable family (calibration, job, mitigation, decode, compile, rearrange,
  circuit, phasor, sparse-Pauli, resource). Under the 0x02 domain the figure 0 is followed by
  tag 0 and the reason (u32 BE length, UTF-8); its JSON writes joules_micro null beside
  energy_unmetered. MaybeLabelled gains the variant and unmetered()/joules_micro(), the
  latter never Some(0); an unlabelled 0 still verifies and reads as unmetered (legacy).
  wai_quantum_meter and wai-quantum-serve seal unmetered runs in the new form, and serve's
  POST /verify verdict says why. quantum-sim's receipt text says so.
- Reading tightened where the JSON showed what the seal does not say: a member named twice
  (sig::unique_members), a kind of another family, rounds/swaps/atoms_moved past u32 (read
  before as their low 32 bits), a funds_ceiling that is no count and an optional hash that is
  no string (each read before as none) no longer read; a str()-framed string holding U+0000
  no longer verifies (two receipts could sign the same bytes).

Vectors (wai/quantum-ops-conformance): 12 receipts the reference made, every kind and every
energy form (the three earlier ones byte-identical), and 49 crafted by generate.py, each one
defect away or one change that decides nothing, with hand-written reasons. ops_verify.py,
written from §3 alone and sharing no code with the engine, gives the 12 their identities and
the 49 their exact reasons; wai_quantum_ops_vectors verify gives all 61 their verdicts and
stages. CI: the corpus's verify in cargo-classes as before; ops_verify.py and
generate.py --check as a new independent verifier (verifiers/quantum-ops.sh).

Failing first: the crafted receipts given to the reader before this change (origin/main
1f5bc7225, a scratch test over MaybeLabelled::from_json and verify) verified nine of the
defects this change refuses: a member named twice (plain and escaped), a calibration whose
kind is a job's, one with no kind, rounds of 2^32 + 1 sealed as 1, a funds_ceiling "50"
sealed as none, a parent_receipt_hash of 0 sealed as none, and a device_id and a grant
capability holding U+0000. The six crafted receipts of the unmetered form did not read
there, since the form did not exist.

Tested on the build host: wai-quantum --features full --lib --tests (lib 1560 passed, 26
ignored; every integration test passed, landscape_conformance's 54 among them); default
features (127), quantum_ops alone (51), quantum_receipt alone (50); wai-rs with the
energy-receipts workflow's feature set, --lib --bins --test video_receipt (906, 4, 15, 130);
wai-rs codecs::registry (15) and `wai registry export --check`; wai-quantum-serve (12);
wai-quantum-cli's test build; wai-web cargo check; wai_quantum_ops_vectors verify and
ops_verify.py on the corpus; clippy: no finding on a changed file of wai-quantum, serve or
the two wai-rs bins. Locally: check-wai-section-refs, check-spec-refs,
check-wai-quantum-names, check-public-names --maintainer-products-only,
changelog-assemble --check, check-tests-in-ci, check-wai-core-freeze,
wai-conformance-lists check, check-wai-corpus-licences: clean. wai breaking against main:
the two breaks the changelog entry acknowledges.

quantum_ops.rs is one of the sources the wasmQ modules of record pin
(quantum-conformance/wasmq/modules/modules.json): its digest is updated, and on x86_64
Linux (build.sh --check) both modules still build byte for byte as committed.

Rebased on 15b7f810d: the registry export is up to date, and the registry, ops, energy,
pins and sig tests, serve's tests and wai_quantum_ops_vectors verify pass again.

Changelog entry: wai/changes/2026-11-10-quantum-ops-encoding-and-unmetered-form.md

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-10 15:30:53 -05:00
..
atom_planner.wasm wai: wasmQ, an OpenQASM 3 program and the WebAssembly its externs call, run the same everywhere, metered and receipted 2026-11-09 13:22:09 -05:00
modules.json quantum-ops: the encoding in the text, four more records registered, and an unmetered form that never reads zero joules 2026-11-10 15:30:53 -05:00
qldpc_decoder.wasm wai: wasmQ, an OpenQASM 3 program and the WebAssembly its externs call, run the same everywhere, metered and receipted 2026-11-09 13:22:09 -05:00