open-standards/wai/quantum-conformance/reject/v1_opcode_10.wqc
Transaction Science 956003d0c8 wai-quantum circuit2: sections read as I-JSON, a reject payload for every refusal, review fixes
The review of the branch upheld nine findings; this fixes all of them.

- The contract and the measurement are read as I-JSON (RFC 7493, quantum-sim
  §2): UTF-8, no member name twice in one object, no unpaired surrogate escape,
  no number that rounds to an infinite double, at most 127 nested levels. An
  unsigned JSON integer has no sign, fraction or exponent, so `-0` is not one.
  The Rust reader (a visitor refuses repeated names) and the referee enforce the
  same profile; the repeated member name is the one newly refused payload, listed
  in §8 and SPEC §5.
- `reject_corpus()` in wai-quantum is the one list of reject cases: the crate's
  tests and `wai_quantum_vectors gen` both read it. It now holds a payload for
  each refusal a payload can carry: the short payload, a table or section past
  the end, a missing contract or op-log, a short op-log, truncated controls,
  target or control out of range, a control on its target, P(0) and P(33), the
  n_qubits forms, the JSON profile, and the measurement rules.
- wai-energy-receipts runs on a change to wai/quantum-conformance, since its
  wai_quantum_vectors tests require the committed corpus to be what gen writes.
- Wording: the statevector changes where H, T, T†, P(3) or P(k ≥ 5) act (P(1),
  P(2) and P(4) are equal in both tables); each component of every circuit2 P(k)
  is within half a unit; only circuit2's P(k) gives the QFT ladder; the original
  vectors' hashes move with a P(k) entry only through H.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-09 16:20:47 -04:00

145 B