Each change below was shown first as a planted fault that the previous tools let
pass, then as a failure of the check it breaks:
- The engine under test is held to answering. A crash, a time-out or a
refusal that corpus/expected-refusals.json does not list, in its words,
fails the run; so does an answer to a circuit it must refuse. The bit-exact
method's refusals are listed by its reader's rule, computed from the exact
angles. A time-out kills the engine's whole process group.
- The bit-exact method's op-log, run in double precision, must give the
circuit's exact state: a phase dropped in lowering now fails, where the
distance and the referee could not see it. Each small-angle gate is checked
held or dropped, exactly, on every engine.
- repeated_phase_k19 is held to the state with its phase, beside a quarter
turn that a wrong sign cannot pass, and to the extension's stated figures.
- No closed-form row is exempt for the bit-exact method. QPE, Grover and the
phase table are checked in integers, mirror_n10 by the referee.
- Matrix product states are charged what each engine reports it truncated;
a row whose bound cannot see a wrong phase is recorded, not passed.
- Sampled counts are also held as a whole in L1 distance; the 40-qubit
Clifford outcomes per outcome, per free bit and in number.
- The account of another engine's errors is corrected, and each claim is a
case of a reproducer committed beside it.
- Timing records where each engine's timer runs (Aer's own experiment time),
memory the peak of the process that ran the engine, threads what each was
given, and ops what the engine ran.
- Provenance names the trees as they were on disk, and the toolchain the
checkout picks. CI covers every kind of check but the wide pairwise one, on
referee changes too, and its comment says so.
- The self-test injects every fault and requires its own check to fail, on
its own engine only.
Co-Authored-By: Claude Opus 5.5 <[email protected]>