Calibration sufficiency and A2 minus A1: a pre-registered hardware ablation on Heron, FAIL

Plaintext article. SHA-256 3685acfdf0503419375614d5f389ec56a774f880ca822c43c92b3e2f5b3a5d20 (42792 bytes).

# Calibration sufficiency and A2 minus A1: a pre-registered hardware ablation on Heron, FAIL

**Quantum Mind A.I. · 2026-11-03**

## Plain summary

We asked two questions on an IBM quantum processor, ibm_fez, and wrote the pass rules down before running anything. First: if you build a 7-qubit entangled state the short way (measure some helper qubits partway through, then correct the rest), does measuring partway through cost more than building it the long way, one step at a time? Second: can a model that knows only the chip's published calibration numbers predict the scores?

The score runs from 0.5 or less (no sign of the shared state) up to 1 (perfect).

- The short way scored about 0.70 when its corrections were applied afterwards, in software. The long way scored about 0.54.
- Applying the very same corrections live, on the chip during the run, dropped the short way to about 0.45. That live step cost about 0.25 on one run and 0.27 on the other. On a third, non-deciding check on a second chip, ibm_marrakesh, it cost about 0.28.
- Measuring six helper qubits and ignoring the results left no cost detectable at this shot count (within about 0.03 either way on the deciding jobs).
- The calibration-only model predicted the software-corrected short way with gaps of 0.040 and 0.054 (the band is 0.05; 0.054 is just outside it). On ibm_fez the model overestimated the other four preparations by 0.15 to 0.32, where 0.15 is the shorter 5-qubit ladder.

Both pre-registered rules failed, so the verdict is FAIL. The first rule tested whether measuring partway through is the main cost: it needed the short way to score at least 0.05 below the long way, with live correction adding less on top. Instead the short way scored about 0.16 higher, and live correction was the bigger cost. The second rule needed every prediction within 0.05 of the result; most missed by far more.

## In short

- Verdict: FAIL on both deciding runs (job 1 and job 2, both on ibm_fez). Both rules, H1 and H2, failed on both.
- H1 failed on both of its parts. Short way minus long way ran from about +0.14 to +0.19; it needed to sit below -0.05. The live-correction change also had to stay above that comparison's upper end (about +0.19); its lower end was about -0.27 on job 1 and -0.29 on job 2.
- H2 failed. The model's error was 0.040 and 0.054 on the software-corrected short way (the band is 0.05; 0.054 is just outside it), about 0.25 on the long ladder, about 0.21 on the long ladder with unused measurements, 0.31 to 0.32 on live correction, and about 0.15 on the shorter 5-qubit ladder.
- The short-versus-long comparison is confounded: the long way also has more two-qubit gates (18 against 12) and far more depth (13 against 2), so it cannot isolate what measuring costs.
- Live correction cost about 0.25 and 0.27 on ibm_fez, and about 0.28 on the non-deciding marrakesh job, ibm_marrakesh, which is the reported job. This test cannot split that cost into waiting time and gate error; a follow-up with a matched delay could.
- Unused helper measurements: no cost detectable at this shot count (within about 0.03 either way on the deciding jobs).
- Scope: this method on these qubits.

## Words used here

Job 1 and job 2 are the two deciding jobs, in submit order. Their identifiers are in the recorded tables.

A GHZ state on these data qubits is the even superposition of the all-zero string and the all-one string. The ideal score on that state is 1.

The two-setting lower bound is the Z share plus the X share, minus one. The Z share is the fraction of data keys that are all zeros or all ones, after the registered frame. The X share is the fraction of data keys with even parity. The bound is reported unclipped. A product state of all zeros scores one half. About 0.70 means the bound sits near 0.70, above that one-half line and below the ideal of 1. The prereg accepts this bound as a lower bound on the fidelity with the GHZ state. The bound is one half when the expectation of the Toth-Guehne witness is zero, and that expectation is negative exactly when the bound is above one half. The entanglement flag published beside each arm is that comparison. This note does not claim genuine multipartite entanglement from the flag.

A software frame measures the helper qubits during the circuit and applies the registered corrections afterwards, in software, to the recorded bits. Live feed-forward applies those same corrections on the device, during the circuit, when the helper bit is 1.

The five arms are A1 through A5. A1 is the bridged ladder. Its helper qubits end idle and are not measured. A2 is that same ladder plus the helper measurements, recorded and unused, with no feed-forward. Those unused measurements are the spectator measurements. A3 is the shallow cluster with the software frame and no live feed-forward. A4 is that same cluster plus live feed-forward. A5 is the shorter ladder on the registered prefix of the same path. A5 is the control named for a separate prediction. That prediction is not a pass rule, and it is absent from these records.

H1 and H2 are the two registered rules. Their pass conditions are stated once, in How the comparison works. The prediction is a calibration-only model from QMAI's standard-library checker. It is not IBM's noise model. The experiment passes only when H1 and H2 both pass on both deciding jobs. The third job is reported and cannot flip that verdict.

## Why this comparison

A ladder's depth grows as the line grows. Measure-and-correct keeps a preparation shallow by measuring helper qubits mid-circuit and correcting the rest. The registered arms separate that idea into a deeper ladder, idle during those measures, the cluster plus mid-circuit measurement, and live feed-forward.

The publication label for A3 minus A1 is cluster plus mid-circuit measurement versus a deeper ladder. That contrast mixes the cluster with a different two-qubit count and a different depth. The upper-end clause on it is conservative. On these two jobs the upper end is positive, so the clause fails because the cluster scored higher, and the depth confound remains.

## Pre-registration amendments

The sealed prereg pins sim_check.py at sha256 2e188dbb034c3b2bd5510c4a920579f7c7b0cb0b06e92ecadb36facb723ea53c, 46772 bytes, and SIM_OUTPUT.txt at sha256 ac48aac42d791e13339af753cd48556d85fe1809227620eac795e1146c142aa1. Stop rule 3 in that file says a different sim_check.py hash stops the submit. The checker hash used for these jobs is the later one.

Registry addendum r2 added the a3_a1 metrics. a3_a1 is the H1 contrast, A3 minus A1. That checker is sim_check.py sha256 34b5d79d70d33b88f9c20277640f9b6bbbab9fd60741d55709b99bdf30f0d0b1, 46781 bytes, with SIM_OUTPUT.txt sha256 9775f15cfc088421d9c8e246e6a9288c16101cef19dbaefe4dc9a673cfdcbf87 and REGISTRY_P3_ADDENDUM.json sha256 a2fad789ef95b362a7f4ec544dfea209a016b0ac940046d9b5fd59cda1fcaf07. It prints 38 p3 metrics.

The run script re-pinned that trio. GO v4, event 4514bd10-240d-4c16-95a2-bb885a75f380, posted at 2026-11-03T04:52:08Z, before either deciding job was submitted, named sim_check 34b5d79d, SIM_OUTPUT 9775f15c, and addendum a2fad789 as overriding the frozen prereg pin 2e188dbb. The runner pins PREREG.md 3beeee950ee3c714842a13c605235b794547db9cdab9d9161bfa6ce152c12fca together with that trio. Both deciding jobs were submitted under those pins.

## How the comparison works

The prereg is the source for the circuits, the twirl, the noise model, and the interval. This section states those definitions. The interval arithmetic is sim_check.py at the addendum pin 34b5d79d70d33b88f9c20277640f9b6bbbab9fd60741d55709b99bdf30f0d0b1.

The path P has 13 qubits. Data qubit t is P[2t], for t from 0 through 6. Helper qubit k is P[2k+1], for k from 0 through 5. A5 uses P[0] through P[8] only. Rz is not used. One CX is H on the target, then CZ, then H on the target. There is no nested conditional, no reset, and no measure inside a conditional. Each conditional body is X gates only.

A1, the bridged ladder, puts H on data qubit 0. Then for each k from 0 through 5, with L = P[2k], A = P[2k+1], and R = P[2k+2], the circuit applies CX(L, A), CX(A, R), and CX(L, A). The helper qubits end in |0> and are not measured. The seven data qubits hold the GHZ state. The arm is 18 CZ gates, packed depth 13, on 13 qubits, with no mid-circuit measure and no conditional.

A2 is A1, then H and a computational measure on each of the six helper qubits. Those six measures are recorded and unused. There is no conditional. The ideal data state is the A1 state. The six measures occupy the chip while they run.

A3 is the registered seven-qubit cluster with the software frame and no conditional. H goes on every path qubit. CZ goes on the even edges, then on the odd edges. Each helper qubit is measured in X into classical bit k, six measures. The arm is 12 CZ gates and packed depth 2. On the Z setting, after the twirl inversion, helper bit k flips data bits 0 through k. A bit flipped twice ends unflipped. A3 on the X setting does not apply that frame.

A4 is A3 plus live feed-forward. If bit k is 1, X is applied on data qubits 0 through k. There are six conditionals. A4 does not apply the XOR in software.

A5 is the A1 bridge with four steps, k from 0 through 3, on P[0] through P[8]. It has no measure and no conditional. It is 12 CZ gates, packed depth 9, on 9 qubits. It is the n=5 control. The separate prediction has no threshold. U7 is not in the job. A job that contains it is blocked, and that circuit cannot flip either rule. The frozen identity records u7 false on both deciding jobs.

The twirl runs on every arm, after feed-forward and before the setting rotation. Instance m from 0 through 7 flips data qubit t when bit (t mod 3) of m is 1. The eight masks are that list. They are not a draw after the outcomes. The X gate lands on path index P[2t]. On the X setting the twirl does not change the parity. The readout guard acts on the Z setting only. A1 and A5 have no helper key. A2, A3, and A4 store the helper bits beside the data key. In the counts file those helper bits are the joint key.

Inside each job the circuits are interleaved, which is the prereg's guard against drift. Twirl mask m runs from 0 through 7. For each mask the Z setting is taken before the X setting, and inside a setting the arms run A1, A2, A3, A4, A5. The arms are not grouped into five blocks.

On the Z setting the success share is the fraction of data keys that are the all-zero key or the all-one key, after the registered frame. On the X setting the success share is the fraction of data keys with even parity. The lower bound is the Z share plus the X share minus one. The pool is 8 twirls times 2048 shots, 16384 shots per arm per setting. Data-key width is 7 on A1 through A4 and 5 on A5.

Contrasts, each inside one job, all published: A2 minus A1, A3 minus A2, A4 minus A3, A4 minus A1, and A3 minus A1. A contrast is the Z-share difference plus the X-share difference. A3 minus A1 is the H1 contrast. The addendum added it to the four contrasts named in the prereg, so each deciding job publishes five contrasts.

Each proportion difference uses the Newcombe hybrid score interval from the prereg. For a setting, the Wilson ends (L, U) are taken at the z below. The difference interval is lower = (p1 - p2) - sqrt((p1 - L1)^2 + (U2 - p2)^2) and upper = (p1 - p2) + sqrt((U1 - p1)^2 + (p2 - L2)^2). The contrast interval adds the two setting lower ends and adds the two setting upper ends. That sum is an outer bound. z is the Acklam inverse normal at 1 - (0.05 / 16), the two-sided point for alpha 0.05 / 8. The printed z is 2.734369. The prereg set alpha/8 for 4 contrasts (8 intervals, 95%); the addendum's fifth contrast kept z, so the 10 intervals per job cover at least 93.75% (0.9375), and the 4 deciding ones, the two settings of A3 minus A1 and of A4 minus A3, cover at least 97.5% (0.975). The fetch still records the string "4 intervals at alpha/8; 10 published intervals at alpha/8 cover 0.9375". The ten intervals are per job. They are not a count across the two jobs. The two ibm_fez jobs are an intersection-union test and do not add a further multiplicity correction. sim_check.py at pin 34b5d79d is the reference for z and for the interval arithmetic.

H1, on one deciding job. PASS when the A3 minus A1 interval has its upper end strictly below -0.05 and the A4 minus A3 interval has its lower end strictly above that same A3 minus A1 upper end. FAIL when both contrasts are valid and that conjunction is false. H1 for the experiment is PASS only when both deciding jobs pass it. Otherwise, if both are scored, H1 is FAIL.

H2, on one deciding job. Before submit, the prediction for every arm is hashed. The prediction is the mean of exact terminal probabilities, 1440 trajectories, sealed before submit. PASS when every absolute difference between that prediction and the observed point lower bound is at most 0.05. FAIL when every prediction and every observation is present and any absolute difference is above the band. A missing prediction hash means the job is not submitted. Both deciding jobs must pass. The Monte Carlo standard error does not widen the band.

The job 1 and job 2 predictions use the same snapshot and the same timeline. They differ by the prediction seed. A1, A2, and A5 move by at most 0.006. A3 moves by about +0.020 and A4 by about -0.021, so the Monte Carlo standard error on those two arms is about 0.015 at 1440 trajectories. Job 2's A3 absolute gap is 0.05398876393175. It sits about 0.004 past the 0.05 band, inside that standard error. The registered rule does not widen the band, so the gap still counts. H2 fails on A1, A4, and A5 anyway, by 0.15 to 0.32.

The model predicts no live feed-forward cost. Predicted A4 minus A3 is about +0.029 on job 1 and about -0.012 on job 2. The mean is about +0.009. Single-qubit gates carry no error in the model. The conditional wait is omitted, which is deviation 2, and there is no latency term. The observed live-correction cost lies outside that prediction, including about 0.28 on ibm_marrakesh. Applying the same corrections in real time cost about 0.25 and about 0.27 in the lower bound compared with applying them in software afterwards. This note does not separate classical latency from conditional-gate error; that needs a matched-delay control.

The fetch on each deciding job prints the four registered minimum detectable gaps for the shot count used. n is 16384 on both. Job 1 and job 2 print the same four numbers: ff_floor -0.0221, meas_at -0.0782, share_at_meas -0.0222, and share_at_m012 -0.0635. ff_floor is the most negative true gap whose lower end stays strictly above -0.05. meas_at is the least negative true gap whose upper end is strictly below -0.05. share_at_meas is the most negative feed-forward gap whose lower end stays strictly above the upper end of a measurement gap sitting at meas_at. share_at_m012 is the same floor with the measurement gap fixed at -0.12.

The noise model is the prereg's model, implemented by QMAI's standard-library sim_check. It is not IBM's noise model. After each CZ, with snapshot error e, the channel is E(rho) = (1 - e) rho + (e / 15) times the sum of P rho P over the 15 non-identity two-qubit Paulis. That is the modeling choice. It is not a claim that the vendor's randomized-benchmarking number equals e. H, X, the CX decomposition, and the conditional X carry no error in this model. Readout uses P(1|0) = prob_meas1_prep0 and P(0|1) = prob_meas0_prep1. Mid-circuit readout uses that same pair. There is no extra mid-circuit readout number and no crosstalk term. Idle is Pauli-Z dephasing and then amplitude damping. gamma = 1 - exp(-t / T1). The pure-dephasing rate is 1/T2 - 1/(2 T1), and T2 must be at most 2 T1. There is no reset in these circuits. Amplitude damping keeps its bias toward |0> and is not Pauli-twirled. Timeline durations include the recorded waits during mid-circuit measures. There is no separate latency penalty beyond the scheduled duration. The two deviations from that schedule rule are in Deviations from the pre-registration. The run script is run_p3.py, sha256 6f4fc2a0518874fc7a77f1784f6cb3fc9840b3328eb8b4ede1a1949ce4f2bbf3, 134117 bytes. sim_check.py sha256 is 34b5d79d70d33b88f9c20277640f9b6bbbab9fd60741d55709b99bdf30f0d0b1, 46781 bytes. n_traj is 1440.

Each deciding job read its own snapshot. The before-submit times are 2026-11-03T05:17:20.441758Z on job 1 and 2026-11-03T05:50:59.160084Z on job 2. IBM served identical calibration data, so the path and the hashes coincide. Both jobs use snapshot sha256 dedd52f8132b99ab7e2ea3ad089b70abb8fda696cda664faf3456662e475b564 and timeline sha256 dba3dc4a9b84b9f205d862f19529713d1e0ae7d476aaf0ba4ab8ec6905a2370d. Those two file hashes match the strings in each before-submit record. That timeline is timeline.json in this folder, and both deciding jobs use those same bytes. The recorded calibration sha256 on both jobs is 9e288ff6274a532816ae58b625d15f32d2d61be0be4c5e676b128fc4c461ad10. The frozen record's prediction_sha256 is null. The before-submit record and every counts circuit carry the prediction hash 036d2b1316ea0144a9614adfa79e69ebf9f8cd4fdeb946ca346f90a66729eb37 on job 1 and 78373ecfbc628bc4d2b63d16811f4749edfb4da30e62f4baab6d991f2c908f2f on job 2.

The experiment PASS is both rules PASS. The experiment FAIL is both rules scored and at least one of them FAIL. If either deciding job is missing or invalid, that rule is BLOCKED.

The secondary conjunction is published and cannot flip the experiment verdict. Secondary PASS on one job when the A4 minus A3 lower end is strictly above -0.05 and the A3 minus A1 upper end is strictly below -0.05. Secondary FAIL when both contrasts are valid and that conjunction is false.

A PASS says that on these qubits, under this outer bound, the cluster-versus-ladder gap cleared the registered threshold and the live feed-forward gap was the smaller share of that gap. A FAIL on the measurement clause is conservative: it cannot separate an absent measurement-stage cost from a cost masked by the ladder's extra gates and extra depth. A feed-forward gap that remains the larger share is reported as that. Neither sentence is an advantage claim.

The separate prediction may name A5 only. It has no threshold in the prereg. It cannot flip the experiment verdict. On these records it is absent.

## Deviations from the pre-registration

Stop rule 12 requires each prediction to come from this noise model on the snapshot that fixed the path, with the scheduled durations included. Those durations come from the transpiled schedule, including waits during mid-circuit measures and if_test. The run's timeline builder deviated from that rule twice.

Deviation 1. The predictor charged idle after a qubit's own measure inside the mid-circuit windows. The evidence is in the error budget: A1 and A2 record the same scheduled duration because the helper measures overlap the data measures in the transpiled schedule. A data qubit's own measure falls inside that window, and the predictor still charged idle there.

The summed idle on the data qubits, in microseconds, from timeline.json:

| Arm | after_prepare | after_mcm | before_data |
| --- | --- | --- | --- |
| A1 | 1.468 | 0 | 2.540 |
| A2 | 1.468 | 5.440 | 2.540 |
| A3 | 0.068 | 0.236 | 0 |
| A4 | 0.068 | 0.024 | 0 |
| A5 | 0.964 | 0 | 0.972 |

A2's after_mcm value, 5.440, is the deviation-1 excess. A zero means that stage has no data-qubit idle rows.

A4's after_mcm idle (0.024 us) is below A3's (0.236 us) because the timeline builder scheduled A4's conditional X gates early (deviation 2), so they count as busy time inside the window.

Deviation 2. The prereg asks for waits during conditionals. A post-run check found the timeline builder scheduled the conditional X gates without waiting for the helper measurement, so the A4 prediction omits that wait. The H2 FAIL does not depend on it: A1 and A5, which have no mid-circuit step, miss by 0.15 to 0.25. The omitted conditional wait stays missing.

The timeline file is timeline.json in this folder, cited above by sha256 dba3dc4a9b84b9f205d862f19529713d1e0ae7d476aaf0ba4ab8ec6905a2370d.

## The result, recorded

These tables are the single exact record of the counts and the fetch. The fetch records the point lower bound, the two shares, the hit counts, and the entanglement flag. Contrast intervals are recorded. Each share is a hit count over 16384. On the two deciding jobs the signed gap is observed minus predicted, and it is negative on every arm.

Job 1 is dbkn6odgg49c73dj9210 on ibm_fez. Status DONE. Shot record SHOTS_2048. Usage 45 seconds. 80 circuits. H1 FAIL. H2 FAIL. Secondary conjunction FAIL.

| Arm | Lower bound | Z share | Z hits | X share | X hits | Prediction | Absolute gap | Signed gap | Flag |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| A1 | 0.53973388671875 | 0.83514404296875 | 13683 | 0.70458984375 | 11544 | 0.7882575186594396 | 0.2485236319406896 | -0.2485236319406896 | true |
| A2 | 0.53955078125 | 0.8331298828125 | 13650 | 0.7064208984375 | 11574 | 0.7534679332092962 | 0.2139171519592962 | -0.2139171519592962 | true |
| A3 | 0.70361328125 | 0.80889892578125 | 13253 | 0.89471435546875 | 14659 | 0.7440160836256755 | 0.0404028023756755 | -0.0404028023756755 | true |
| A4 | 0.457275390625 | 0.71319580078125 | 11685 | 0.74407958984375 | 12191 | 0.7731771682430277 | 0.3159017776180277 | -0.3159017776180277 | false |
| A5 | 0.73077392578125 | 0.8807373046875 | 14430 | 0.85003662109375 | 13927 | 0.8803269860664686 | 0.1495530602852186 | -0.1495530602852186 | true |

| Contrast | Point | Lower | Upper |
| --- | --- | --- | --- |
| A3 minus A1 | 0.16387939453125 | 0.1405619812882607 | 0.1871555307092596 |
| A4 minus A3 | -0.246337890625 | -0.2705056473642237 | -0.2221069402318201 |
| A2 minus A1 | -0.00018310546875 | -0.025190763394665472 | 0.02482386288752924 |
| A3 minus A2 | 0.1640625 | 0.14073356421780106 | 0.1873509502116851 |
| A4 minus A1 | -0.08245849609375 | -0.10842787937466541 | -0.05646456840569131 |

A3 on this job is inside the band. A5's separate prediction is absent.

Job 2 is dbknnf8nceqs73am9svg on ibm_fez. Status DONE. Shot record SHOTS_2048. Usage 45 seconds. 80 circuits. H1 FAIL. H2 FAIL. Secondary conjunction FAIL.

| Arm | Lower bound | Z share | Z hits | X share | X hits | Prediction | Absolute gap | Signed gap | Flag |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| A1 | 0.54547119140625 | 0.84124755859375 | 13783 | 0.7042236328125 | 11538 | 0.7897253196295722 | 0.2442541282233222 | -0.2442541282233222 | true |
| A2 | 0.53778076171875 | 0.83404541015625 | 13665 | 0.7037353515625 | 11530 | 0.7558236406480701 | 0.2180428789293201 | -0.2180428789293201 | true |
| A3 | 0.7100830078125 | 0.8135986328125 | 13330 | 0.896484375 | 14688 | 0.76407177174425 | 0.05398876393175 | -0.05398876393175 | true |
| A4 | 0.44171142578125 | 0.70599365234375 | 11567 | 0.7357177734375 | 12054 | 0.7520742583446571 | 0.3103628325634071 | -0.3103628325634071 | false |
| A5 | 0.7247314453125 | 0.87353515625 | 14312 | 0.8511962890625 | 13946 | 0.8747307529112394 | 0.1499993075987394 | -0.1499993075987394 | true |

| Contrast | Point | Lower | Upper |
| --- | --- | --- | --- |
| A3 minus A1 | 0.16461181640625 | 0.14145859923188112 | 0.1877235521987288 |
| A4 minus A3 | -0.26837158203125 | -0.29258879387540837 | -0.244082593488915 |
| A2 minus A1 | -0.0076904296875 | -0.032621430987583785 | 0.017241577359472432 |
| A3 minus A2 | 0.17230224609375 | 0.14904791496037806 | 0.19551404760008098 |
| A4 minus A1 | -0.103759765625 | -0.1297749201940605 | -0.07771182288740511 |

A3 on this job is just outside the band. A5's separate prediction is absent.

The experiment verdict is FAIL. Both rules, H1 and H2, failed on both deciding jobs. The secondary FAIL cannot flip the verdict.

## The path and the error budget

The budget was fixed with the path, before the shots. It is published next to the scores. It does not move the verdict. The two frozen error budgets are equal. scheduled_duration_s is the budget field. It is about 1.9e-6 to 2.9e-6 seconds. It is not the 45 second job usage.

Both deciding jobs use the path 97, 107, 106, 105, 117, 125, 124, 123, 136, 143, 142, 141, 140. A5 uses the prefix through 136: 97, 107, 106, 105, 117, 125, 124, 123, 136. The arm rows match on the two jobs.

The path-edge CZ-error sum adds each edge on that arm's path once. It is not weighted by the arm's CZ count, which is why the 18-CZ ladder and the 12-CZ cluster share one sum. The shorter ladder uses the prefix, so its sum is smaller. On this path the recorded readout-error sum equals the sum of (P(1|0) + P(0|1)) / 2 over the qubits that arm uses. The per-qubit pair and the per-edge errors are in the calibration appendix.

| Arm | Qubits | CZ count | Packed depth | Mid-circuit measures | Conditionals | Path-edge CZ-error sum | Readout-error sum | Scheduled duration (s) |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| A1 | 13 | 18 | 13 | 0 | 0 | 0.023430029710055117 | 0.16650390625 | 2.9039999999999996e-06 |
| A2 | 13 | 18 | 13 | 6 | 0 | 0.023430029710055117 | 0.16650390625 | 2.9039999999999996e-06 |
| A3 | 13 | 12 | 2 | 6 | 0 | 0.023430029710055117 | 0.16650390625 | 1.868e-06 |
| A4 | 13 | 12 | 2 | 6 | 6 | 0.023430029710055117 | 0.16650390625 | 1.988e-06 |
| A5 | 9 | 12 | 9 | 0 | 0 | 0.016450452088433376 | 0.115234375 | 2.536e-06 |

A1 and A2 record the same scheduled duration, 2.9039999999999996e-06 seconds. The helper measures overlap the data measures in the transpiled schedule, so the six spectator measures do not lengthen it. That overlap is the evidence for deviation 1.

## Calibration appendix

Both deciding jobs read this same snapshot. The file sha256 is dedd52f8132b99ab7e2ea3ad089b70abb8fda696cda664faf3456662e475b564. Index is the path position. T1 and T2 are in seconds. P(1|0) and P(0|1) are the readout pair the predictor uses. The CZ column is the snapshot edge error e on the edge from that index to the next.

| Index | Qubit | Role | T1 (s) | T2 (s) | P(1\|0) | P(0\|1) | CZ error to next |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 0 | 97 | data | 8.660201855137945e-05 | 9.879456133656908e-05 | 0.01171875 | 0.0146484375 | 0.0018890504751560566 |
| 1 | 107 | helper | 9.765223593425663e-05 | 1.9755536771123002e-05 | 0.0078125 | 0.009765625 | 0.001884490964097929 |
| 2 | 106 | data | 0.00016939317489414417 | 0.00012587178841398948 | 0.0048828125 | 0.01171875 | 0.002136852462414962 |
| 3 | 105 | helper | 0.00019713083865214424 | 0.00018750816867389117 | 0.009765625 | 0.0556640625 | 0.0018119020589069945 |
| 4 | 117 | data | 8.757554045602772e-05 | 9.226405060539587e-05 | 0.0068359375 | 0.009765625 | 0.0020487588371899956 |
| 5 | 125 | helper | 0.00014340715665046863 | 4.455698098892527e-05 | 0.017578125 | 0.0244140625 | 0.0020631321364170674 |
| 6 | 124 | data | 0.00011024528198234459 | 0.00014414900319576976 | 0.0009765625 | 0.0107421875 | 0.0024331270012629413 |
| 7 | 123 | helper | 0.00010076398293926627 | 0.00011406505106318959 | 0.0009765625 | 0.0205078125 | 0.0021831381529874294 |
| 8 | 136 | data | 9.893291078383532e-05 | 8.621616820488046e-05 | 0.0068359375 | 0.005859375 | 0.0016253942529884102 |
| 9 | 143 | helper | 0.00020349138558984646 | 0.00019105226701434362 | 0.0029296875 | 0.009765625 | 0.0016433245768339155 |
| 10 | 142 | data | 0.00013350348678634825 | 0.00013395142807554275 | 0.0009765625 | 0.0078125 | 0.0015029348259470998 |
| 11 | 141 | helper | 0.00015623209320582852 | 0.00011099634200949374 | 0.0146484375 | 0.0166015625 | 0.0022079239658523153 |
| 12 | 140 | data | 0.00013668499323354105 | 0.0001758850583671518 | 0.0302734375 | 0.01953125 | |

## The published job, reported and not deciding

These rows cannot turn a FAIL into a PASS or a PASS into a FAIL.

The third slot is ibm_marrakesh, job index 2, job id dbko6plgg49c73djbe60. Status DONE. Shot record SHOTS_2048. Usage 47 seconds. 80 circuits. Per-job H1 FAIL. Per-job H2 FAIL. Secondary conjunction FAIL. These labels are reported. This job is not pooled with the deciding jobs.

The path is 91, 98, 111, 110, 109, 118, 129, 128, 127, 137, 147, 148, 149. A5 uses the prefix through 127. The calibration sha256 is 4a120d5b228306a4a84674e4e7f92927731e86e463e63f30777fdb133874e029. It is not the deciding-job calibration. The snapshot sha256 is 320643a490e94531269463fc37349a77ea3db6fda3876d590b188d821c91007e, read at 2026-11-03T06:23:01.101532Z. The timeline sha256 is 7049a8c481645f2fcebaf9a4a23b76ebdcc2b7d7be409575525c8bd01b5a0252.

The reported job has its own error budget, fixed with its path before the shots. It is not the deciding-job budget. A1's scheduled duration is 4.108e-06 seconds, against 2.9039999999999996e-06 seconds on the deciding jobs' A1 and A2.

| Arm | Qubits | CZ count | Packed depth | Mid-circuit measures | Conditionals | Path-edge CZ-error sum | Readout-error sum | Scheduled duration (s) |
| --- | --- | --- | --- | --- | --- | --- | --- | --- |
| A1 | 13 | 18 | 13 | 0 | 0 | 0.022950293313194287 | 0.25732421875 | 4.108e-06 |
| A2 | 13 | 18 | 13 | 6 | 0 | 0.022950293313194287 | 0.25732421875 | 4.108e-06 |
| A3 | 13 | 12 | 2 | 6 | 0 | 0.022950293313194287 | 0.25732421875 | 2.928e-06 |
| A4 | 13 | 12 | 2 | 6 | 6 | 0.022950293313194287 | 0.25732421875 | 3.108e-06 |
| A5 | 9 | 12 | 9 | 0 | 0 | 0.015275362429223033 | 0.20068359375 | 3.692e-06 |

| Arm | Lower bound | Z share | Z hits | X share | X hits | Prediction | Absolute gap | Signed gap | Flag |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| A1 | 0.6702880859375 | 0.8280029296875 | 13566 | 0.84228515625 | 13800 | 0.6295578373799748 | 0.04073024855752516 | 0.04073024855752516 | true |
| A2 | 0.65350341796875 | 0.8189697265625 | 13418 | 0.83453369140625 | 13673 | 0.5988038810180503 | 0.054699536950699734 | 0.054699536950699734 | true |
| A3 | 0.7294921875 | 0.85113525390625 | 13945 | 0.87835693359375 | 14391 | 0.6069375883628352 | 0.12255459913716482 | 0.12255459913716482 | true |
| A4 | 0.45001220703125 | 0.76019287109375 | 12455 | 0.6898193359375 | 11302 | 0.6017652452499815 | 0.15175303821873154 | -0.15175303821873154 | false |
| A5 | 0.7681884765625 | 0.87200927734375 | 14287 | 0.89617919921875 | 14683 | 0.7130480560791468 | 0.055140420483353214 | 0.055140420483353214 | true |

| Contrast | Point | Lower | Upper |
| --- | --- | --- | --- |
| A3 minus A1 | 0.0592041015625 | 0.0376589198065923 | 0.08074913593911837 |
| A4 minus A3 | -0.27947998046875 | -0.3034151408590698 | -0.25546417757250084 |
| A2 minus A1 | -0.01678466796875 | -0.03942283871755078 | 0.005855912866207147 |
| A3 minus A2 | 0.07598876953125 | 0.05420918422755609 | 0.09776571275408322 |
| A4 minus A1 | -0.22027587890625 | -0.2449902744846905 | -0.19548389603694177 |

The four minimum detectable gaps match the deciding jobs, at n = 16384: ff_floor -0.0221, meas_at -0.0782, share_at_meas -0.0222, and share_at_m012 -0.0635.

The fetch records calibration_blind as null. Observed A2 minus A1, minus the predicted difference -0.030753956361924573, runs from -0.008668882355626205 to 0.03660986922813172. That range contains zero, so no calibration-blind component is published for this job. The observed A2 minus A1 range itself contains zero.

The model under-predicts A1, A2, A3, and A5, by about 0.04 to 0.12, and it over-predicts live feed-forward. Deviation 2 bears on the A4 prediction only, and deviation 1 lowers the A2 prediction by about 0.03. The remaining under-prediction of A1, A2, A3 and A5 on this processor is not explained here. This note does not generalise the deciding jobs' calibration pattern. A1 here is 0.6702880859375, against about 0.54 on the deciding jobs, so A3 minus A1 shrinks to 0.0592041015625. The qubits and the calibration differ. There is no cross-device claim. The live-correction cost has the same sign and a similar size, about 0.28. It does not decide.

## Marrakesh calibration appendix

The reported job read this snapshot. The file sha256 is 320643a490e94531269463fc37349a77ea3db6fda3876d590b188d821c91007e. Index is the path position. T1 and T2 are in seconds. P(1|0) and P(0|1) are the readout pair the predictor uses. The CZ column is the snapshot edge error e on the edge from that index to the next.

| Index | Qubit | Role | T1 (s) | T2 (s) | P(1\|0) | P(0\|1) | CZ error to next |
| --- | --- | --- | --- | --- | --- | --- | --- |
| 0 | 91 | data | 0.0001338437011092388 | 0.00017695930717116063 | 0.0107421875 | 0.1259765625 | 0.001517555411331556 |
| 1 | 98 | helper | 0.00023078997143930038 | 8.142439150898578e-05 | 0.009765625 | 0.017578125 | 0.0015483498511368599 |
| 2 | 111 | data | 0.00017583337507080495 | 0.00014299658729913933 | 0.00390625 | 0.0341796875 | 0.0018358006025592788 |
| 3 | 110 | helper | 0.000225287592175003 | 0.00022293263475560736 | 0.0107421875 | 0.0146484375 | 0.0018463789006779863 |
| 4 | 109 | data | 0.00023265832385972206 | 0.0001334752773999087 | 0.009765625 | 0.021484375 | 0.0022160006090514717 |
| 5 | 118 | helper | 0.0001551163176945493 | 7.222525133049641e-05 | 0.0087890625 | 0.041015625 | 0.0020876342114627966 |
| 6 | 129 | data | 0.00020257771162563815 | 0.00018796150522920683 | 0.0009765625 | 0.0107421875 | 0.0019554842818317875 |
| 7 | 128 | helper | 0.000233777268464319 | 0.00017984265433319986 | 0.005859375 | 0.0234375 | 0.0022681585611712962 |
| 8 | 127 | data | 0.000269706493441328 | 2.058723470960329e-05 | 0.0185546875 | 0.033203125 | 0.002655371009781138 |
| 9 | 137 | helper | 0.0001666682261994169 | 2.6756814276024e-05 | 0.0 | 0.015625 | 0.002134184075509693 |
| 10 | 147 | data | 0.0002900877845828188 | 0.00011632426487721176 | 0.0009765625 | 0.060546875 | 0.0013948398307494503 |
| 11 | 148 | helper | 0.000291976566182029 | 3.863426888557005e-05 | 0.00390625 | 0.009765625 | 0.0014905359679309726 |
| 12 | 149 | data | 0.00020337674467449152 | 0.00013352745358283192 | 0.009765625 | 0.0126953125 |  |

## Calibration residual

The ideal difference between the ladder with spectator measurements and the ladder alone is zero. The registered report is the interval of observed minus predicted. The numbers below are that report.

The ladder with unused helper measurements, compared with the ladder alone after subtracting the predicted gap, runs about 0.010 to 0.060 on job 1 and about 0.001 to 0.051 on job 2. Both ranges exclude zero and lie above zero. The observed gaps themselves contain zero, so those unused measurements show no cost detectable at this shot count (within about 0.03 either way). The registered name and the confound note follow in this section. That comparison does not change the depth comparison.

On job 1 the interval is 0.009598822055477962 to 0.059613448337672674, and it excludes zero. The predicted difference is -0.0347895854501434. The observed point is -0.00018310546875. The residual point, observed minus predicted, is 0.0346064799813934, inside the interval.

On job 2 the interval is 0.001280247993918307 to 0.051143256340974524, and it excludes zero. The predicted difference is -0.0339016789815021. The observed point is -0.0076904296875. The residual point is 0.0262112492940021, inside the interval.

Its registered name is the calibration-blind component; here it is confounded by deviation 1 and is not read as a device effect. This shift treats the prediction as exact, as registered. The Monte Carlo standard error is not included. The observed difference on the deciding jobs contains zero. The residual does not flip H1. H2 still fails on the deep ladder, which has no mid-circuit window, by about 0.25, and the live feed-forward miss is in the same direction: the prediction sits above the observation.

## What we learned

Both rules, H1 and H2, failed on both deciding jobs. H2 failed because an absolute gap is above 0.05. H1 failed because the A3 minus A1 upper end is not below -0.05: the cluster scored higher than the deeper ladder. The measurement contrast still mixes the cluster with a different gate count and a different depth, so this failure does not isolate a measurement-stage cost. The spectator-measure contrast contains zero. The third job is reported and cannot flip the verdict. This note does not promise a larger test.

## What this invites

What this invites is a matched-budget, matched-delay feed-forward test, and noise-model terms for the deep chains and for feed-forward latency. The predictor's timeline is being corrected for future runs: idle windows end at each qubit's own measurement, and corrected gates wait for the measurement they depend on. The recorded verdict is unchanged.

## Time on the device

IBM's Open Plan. The three named jobs are the plan. They are not retries of each other. A service refusal on one slot does not authorize a fourth job. The frozen open-binding name is open-instance, plan open, qualified true.

Job 1, dbkn6odgg49c73dj9210. Usage 45 seconds. Circuits 80. Shots per circuit 2048. The frozen file records remaining 556, qualified true, limit reached false. The before-submit file has no usage.remaining field. The same 556 is what the frozen file for job 2 records as well.

Job 2, dbknnf8nceqs73am9svg. Usage 45 seconds. Circuits 80. Shots per circuit 2048. The frozen file records remaining 556, qualified true, limit reached false. The before-submit file has no usage.remaining field.

Job index 2, dbko6plgg49c73djbe60, on ibm_marrakesh. Usage 47 seconds. Circuits 80. Shots per circuit 2048. The three jobs used 137 seconds together.

The two deciding jobs used 90 seconds together. The frozen estimate on each is 50.07245035196974 seconds, under the registered per-job cap. The registered sum cap is the prereg's cap. The compiler settings are the registered ones: optimization level 0, seed 20261102, dynamical decoupling off, session off, retry off, and IBM twirling of gates and of measures off. The registered masks are the twirl masks fixed before the outcomes.

## Limits

A PASS or a FAIL is this method on these qubits. It is not a device certificate. Per-gate durations come from the backend target at transpile and are not archived in this record. The intervals are simultaneous outer bounds for sampling error under the registered split. They do not by themselves separate a score from the arm's error budget. The published job, the secondary conjunction, the separate prediction, the entanglement flag, and the calibration residual cannot flip the experiment verdict. No readout mitigation, post-selection, discarded shots, or adaptive shots enter the score.

These are raw scores, with readout error included. The flag is published beside the arm and is not either registered rule. A4 is below one half on both deciding jobs. A1, A2, A3, and A5 are above one half.

## Figures

figures.svg draws both panels from the deciding-job tables above. Panel 1 is the five contrast intervals on each deciding job. Its horizontal axis runs from -0.3 to 0.2, with lines at -0.05 and at 0. Panel 2 is the observed lower bound against the predicted lower bound on each arm. Its vertical axis is the lower bound. The baseline is labelled 0.4, and the ticks run from 0.4 to 1.0. Grid lines are drawn in a darker grey, the 0.5 line is marked, and a drawn legend shows the observed point, the prediction, and the band. The band is 0.05 on either side of the prediction. The reported job is not drawn. The file hash is in FIGURES.md.

## Sources

- PREREG.md sha256 3beeee950ee3c714842a13c605235b794547db9cdab9d9161bfa6ce152c12fca. The prereg was the source of the rules and was not edited for this draft. Its checker pin and the later pin are in Pre-registration amendments.
- REGISTRY_P3_ADDENDUM.json sha256 a2fad789ef95b362a7f4ec544dfea209a016b0ac940046d9b5fd59cda1fcaf07. The sealed registry file is a separate record, sha256 2524b846e28206435fd8b4129affa0f2b64428966070e42d2f45537f4ccf2004. The fetch reason is SEALED_REGISTRY_HAS_NO_P3. golden_emitted is 0. validation_uses is addendum.
- Counts for job 1 sha256 7ebdbf25d3dcda938080756e9d0b8aea71351628805b93789097938a887bd503, 1275936 bytes. Fetch sha256 9a81e8818fb90c64613c62f319ea9e8944ecd313fe6c52aa5363dce948d7e7d8, 1762 bytes. Prediction sha256 036d2b1316ea0144a9614adfa79e69ebf9f8cd4fdeb946ca346f90a66729eb37, 122 bytes.
- Counts for job 2 sha256 b0bcc9e7b54e8c2636fd9ab3c6051e1c6e797b9a581521196cc63e8889ed1d60, 1281863 bytes. Fetch sha256 120f433d48f4e58978bd568c199d0335f0ddd278ae9dfcf2b7879c6283a738c4, 1769 bytes. Prediction sha256 78373ecfbc628bc4d2b63d16811f4749edfb4da30e62f4baab6d991f2c908f2f, 120 bytes.
- Submit file for job 1 sha256 738439a498a3e1b1560604171607fd0fcead1f6d8aed3060cd5d7782b25961ba. Submit file for job 2 sha256 26e63b25ec6b8d976e4969d3e411c5bb577c7de7ef493de4cf801a2166239b8b. Each submit file's second line is the job id, with creates 1 and retry false. The figure checker does not read the submit file for a score.
- Before-submit field sha256 for job 1 is f4960abb182de87b4a0b5f280d395d649d6d83c7ab5622eb66ba4d3d6a4b5167. For job 2 it is 1e06fe628ce57971b7229066c76fbd39fdbb71af65f92fc19537810c0082cf7d. Identity sha256 on both frozen files is 114d044092d1f1cacdaded203f5e2e86f99e4b297b881f92d0e70f59fe11fabf.
- Timeline file timeline.json sha256 dba3dc4a9b84b9f205d862f19529713d1e0ae7d476aaf0ba4ab8ec6905a2370d, 3409 bytes. Job 1 and job 2 use that same file.
- Run script, sim_check, n_traj, snapshot, timeline, and calibration hashes are in the methods section. SIM_OUTPUT.txt sha256 9775f15cfc088421d9c8e246e6a9288c16101cef19dbaefe4dc9a673cfdcbf87.
- Counts for the reported job sha256 8c9448d8af22f62696ae584238cc13d8e49f67735e713f93b5590c6efbcb3d03, 1259419 bytes. Fetch sha256 a1b527bd40a774382cb86e2dff6e803a2333674d50b55f3a71ed5161a53c38d1, 1734 bytes. Prediction sha256 95c2388fe1dc5b9afb5be443deb07d711d7b1a069a8780356c2ea3701e4d23ec, 122 bytes. Before-submit field sha256 17cea303908566f558f982fba03d17cf2dbddc3f681e88d815aae4307fb01029. Snapshot sha256 320643a490e94531269463fc37349a77ea3db6fda3876d590b188d821c91007e. Timeline sha256 7049a8c481645f2fcebaf9a4a23b76ebdcc2b7d7be409575525c8bd01b5a0252.
- Shot record names SHOTS_2048, SHOTS_2048, and SHOTS_2048.
- The citation list below is the prereg's citation section. This draft adds none and drops none.

## Citations

- Bäumer, Tripathi, Wang, Rall, Chen, Majumder, Seif, and Minev, arXiv 2308.13065v2.
- Shirgure, Kökcü, Mitra, de Jong, Iancu, and Niu, arXiv 2604.03360v2.
- Chu, Lee, Zheng, Chen, Pokharel, Seif, and Jiang, arXiv 2606.00433v3.
- Seif, Chen, Majumder, Liao, Wang, Malekakhlagh, Javadi-Abhari, Jiang, and Minev, arXiv 2408.03376v1.
- Toth and Guehne, arXiv quant-ph/0409132v1. The generators are the ones quoted in the prereg Witness section.

Figures

figures.svg draws both panels from the deciding-job tables above.
figures.svg draws both panels from the deciding-job tables above.