Skip to content

IQM Garnet powered depth-ordering preregistration

Date: 2026-09-04

This preregistration freezes the confirmatory depth-ordering design before any of its hardware data exist. It replaces the earlier planning note that proposed settling the depth-8 versus depth-12 ordering by adding shots inside one calibration window. The completed window-variability campaign showed that IQM Garnet parity asymmetry varies beyond shot noise across operational calibration epochs, so the calibration epoch—not a nominal time window or an individual shot—is the independent unit for this follow-up.

The preregistration, frozen analysis, runner admission gate, simulator artefact, and crash-custody tests must be committed and pushed before the first provider submission. Hardware execution remains separately owner-gated.

Design-only evidence

The completed ten-window study produced six distinct calibration_set_id epochs. Their observed depth contrast

C = (leak_even,8 - leak_odd,8) - (leak_even,12 - leak_odd,12)

was [-0.01587, +0.00098, +0.01270, +0.04663, +0.03613, +0.02020]. The DerSimonian–Laird design estimates are mean 0.0164243 and between-epoch tau = 0.0149623. These values select the sample size only. Its counts and all six design-evidence calibration IDs are excluded from the confirmatory endpoint.

The reproducible design artefact is data/iqm_paper_replication/iqm_dla_depth_profile_powered_design_2026-09-04.json and is generated by scripts/plan_iqm_dla_depth_profile_powered.py from the terminal window-variability epoch artefact with SHA-256 4d5e1c774ed89b915d55c3aa14c2afd783b1cf887a87ee177bdf8152e9174d5f. The frozen design artefact itself has SHA-256 df7f9df1b914dd7cf432be35e94a57b6c19c8c48065f9d673f0525bb1e8d25f5. Both its bytes and semantic fields are admission inputs; a changed digest or contract fails before provider contact.

Frozen matrix

Field Value
Device IQM Garnet via IQM Resonance
Layout [2, 7, 12, 13], mandatory; no fallback layout
Qubits n = 4
States 0011 even, 0001 odd
Depths 8, 12
Independent units 12 distinct, previously unused calibration_set_id values
Repetitions per state/depth/epoch 12
Main shots 1,024 per repetition; 12,288 per arm/depth/epoch
Readout states 0011, 0001, 0000, 1111 at 2,048 shots each per epoch
Per-epoch matrix 48 main circuits + 4 readout circuits; 57,344 shots
Full campaign 624 circuits; 688,128 shots

Every epoch submits the complete matrix in one pass: all 48 main circuits in one provider job and the four readout circuits in a second job. The deterministic execution order is repetition, then depth, then sector, followed by readout. No result-dependent circuit, layout, depth, repetition, or shot-count change is allowed.

Calibration-epoch admission

A fresh zero-credit calibration snapshot is required immediately before every paid block. A block is admitted only when:

  • its exact calibration_set_id is absent from all six design-evidence epochs;
  • its exact ID is absent from all earlier confirmatory epochs;
  • it is numbered consecutively from epoch 1 through epoch 12;
  • every preceding epoch has a paired calibration snapshot and complete retrieved-count artefact conforming to scpn.iqm-retrieved-counts.v1;
  • all three primary-layout edges (2,7), (7,12), (12,13) exist in the snapshot; and
  • the provider request still names the snapshot's exact calibration set.

If the ID repeats, no job is submitted and no epoch is counted. There is no fixed elapsed-time delay: elapsed time is not used as evidence of independence. A changed calibration ID is an operational epoch marker, not proof of complete physical independence.

Primary endpoint and decision rule

For each epoch e, raw parity leakage gives delta_d,e = leak_even,d,e - leak_odd,d,e and C_e = delta_8,e - delta_12,e.

After exactly 12 admitted epochs, the frozen primary analysis fits a DerSimonian–Laird random-effects model to C_e with binomial within-epoch variances. It uses the one-sided safeguarded Hartung–Knapp–Sidik–Jonkman statistic with 11 degrees of freedom: the HKSJ scale is floored at one so the interval cannot become narrower merely because the observed residual scale is small. Reject H0: mean(C) <= 0 only when the estimated mean is positive and the one-sided p-value is below 0.05.

No endpoint analysis is run before epoch 12. There is no optional stopping, result-dependent extension, or replacement of an admitted completed epoch. Either final branch is publishable: rejection supports a positive average depth ordering on this bounded device/layout design; non-rejection reports the bounded null at the frozen power.

Power

At 12,288 shots per arm/depth, the conservative maximum binomial variance of the four-proportion contrast is 1 / 12,288 = 8.1380e-5. Combining that with the design-only tau gives a projected epoch SD of 0.0174714. For 12 epochs, the one-sided noncentral-t approximation has noncentrality 3.25650, critical t_0.95,11 = 1.79588, and projected power 0.91957 at the design mean. The frozen target of 90% is therefore met without pretending that more shots inside one calibration epoch remove between-epoch variation.

Secondary outputs

  • random-effects summaries for delta_8 and delta_12 separately;
  • per-epoch leakage, contrast, shot-noise standard error, calibration ID, and job provenance;
  • descriptive four-state readout blocks; and
  • a transparent comparison to the prior window-variability profile labelled design-only.

Secondary outputs cannot replace, suppress, or redefine the primary endpoint. Raw parity leakage is primary; no unpreregistered readout correction is used to select a result.

Readiness, custody, and budget gates

Before epoch 1:

  1. run all 52 circuits on IQMFakeGarnet and require depth 8 at most 161 and depth 12 at most 236;
  2. reproduce the power artefact byte-for-byte;
  3. pass the focused runner, power, frozen-analysis, and crash-custody tests;
  4. commit and push the complete preregistration/readiness package; and
  5. verify the exact pushed SHA before any provider call.

Before every epoch, refresh calibration, check primary-layout admission and the owner-visible Resonance balance, and use a unique crash-safe journal path. The journal is written and fsynced before each of the two provider calls. An ambiguous call stops without retry and is recoverable only by matching the dashboard-selected job's complete payload digest.

The provider-free simulator readiness command is:

.venv-iqm/bin/python scripts/run_iqm_dla_powered_block.py dry-run \
  --campaign depth-profile-powered-epoch --layout primary \
  --date YYYY-MM-DD --out READINESS.json

A real first-epoch submission additionally requires the fresh snapshot and a new journal:

.venv-iqm/bin/python scripts/run_iqm_dla_powered_block.py submit \
  --campaign depth-profile-powered-epoch --quantum-computer garnet \
  --layout primary --epoch 1 --date YYYY-MM-DD \
  --calibration CALIBRATION.json --out JOURNAL.json \
  --i-have-owner-go

For epoch 2 and later, repeat --prior-calibrations and --prior-epoch-counts in exact epoch order for every completed predecessor. The runner refuses incomplete custody, repeated or design-evidence calibration IDs, changed count matrices, and drift from the frozen design digest.

The planning estimate is 24 provider jobs and approximately 24 credits from the observed two-job calibration-epoch batching pattern. The dashboard is authoritative; if the visible allowance or provider pricing contradicts the estimate, stop before submission. No submission beyond 12 distinct epochs is permitted without a new preregistration.

Claim boundary

The final result is a device-noise statement bounded to IQM Garnet, the pinned layout, sampled depths, circuit family, access period, and operational calibration epochs. It does not establish coherent-dynamics parity effects, complete physical independence, a causal calibration mechanism, hardware superiority, quantum advantage, or transfer to another backend. The exact statevector baseline keeps noiseless parity leakage at zero. IQM and IQM Resonance must be credited in every resulting public output.

Submission boundary

This file authorises preparation only. A paid call is admissible only after the exact preregistration/readiness commit is pushed, all live gates pass, and the owner's standing per-submit GO remains in force. Any ambiguity stops before a new call.