QuantumSink reads WQC1 and WQC2 containers. It reports the capability the
magic names and the circuit hash. A refused container throws a message that
names its error class, the word reject.json lists.
QuantumIde builds in circuit2 by default. set_gateset(1) moves the current
circuit and every later build to circuit/1, and gateset() and capability()
report it. The debugger's prefix circuit keeps the IDE's gateset. add() stores
no parameter on a gate other than P, so an editor's leftover parameter no
longer makes a circuit2 circuit invalid. circuit_hash_hex() is empty for an
invalid circuit. A circuit/1 circuit with P(k>=8) gets the command-line
tool's note on the browser console, once per circuit state, never in a
returned value.
wai-quantum-serve takes gateset=v1 or v2 (default v2) on /run, /qasm and
/receipt. /run names the capability in its JSON, and /run and /receipt name
it in a wai-capability header. The /receipt body stays the receipt JSON
alone, so it is still the bytes a native seal gives. An unknown gateset or a
circuit with no circuit hash is a 400.
Native tests cover both corpora, the reject corpus, the IDE's gateset
switching, the add() parameter rule, the empty hash, and the serve
endpoints against the corpus GHZ3 hashes. The wai-web native test count in
CI moves from 24 to 31, and that workflow now triggers on changes to the
quantum corpora it reads.
Co-Authored-By: Claude Opus 5.5 <[email protected]>