Skip to content

IQM FU-3 Per-Size Layout-Transfer Readiness

This package implements the provider-free gates frozen in iqm_layout_transfer_per_size_prereg_2026-07-22.md. It does not authorize a provider call or hardware execution.

Frozen matrix

  • sizes: 8, 12, 16;
  • arms: optimised, default, naive;
  • four execution-order repetitions at 2,048 shots per arm and size;
  • one 1,024-shot all-zero/all-one readout pair per size;
  • 42 circuits and 79,872 total shots;
  • layouts computed once from one calibration snapshot before circuit assembly;
  • QPY format version 15 for the isolated IQM environment.

Local readiness sequence

Use the existing fake-Garnet calibration extractor, then the new FU-3 runner:

.venv-iqm/bin/python scripts/iqm_layout_transfer_fake_garnet.py dump-calibration \
  --date YYYY-MM-DD --out /tmp/fu3_calibration.json
.venv/bin/python scripts/iqm_layout_transfer_per_size_harness.py prepare \
  --calibration /tmp/fu3_calibration.json --date YYYY-MM-DD \
  --out-dir data/iqm_layout_transfer_per_size
.venv-iqm/bin/python scripts/iqm_layout_transfer_per_size_fake_garnet.py \
  --circuits data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_circuits_YYYY-MM-DD.qpy \
  --labels data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_labels_YYYY-MM-DD.json \
  --plan data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_YYYY-MM-DD_plan.json \
  --date YYYY-MM-DD \
  --out data/iqm_layout_transfer_per_size/fake_counts_YYYY-MM-DD.json
.venv/bin/python scripts/iqm_layout_transfer_per_size_harness.py analyse \
  --plan data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_YYYY-MM-DD_plan.json \
  --counts data/iqm_layout_transfer_per_size/fake_counts_YYYY-MM-DD.json \
  --out data/iqm_layout_transfer_per_size/fake_analysis_YYYY-MM-DD.json

The reviewed QPY loader intentionally accepts artefacts only beneath the repository's governed data/ tree. Keeping QPY and derived evidence there is a readiness invariant; do not move the circuit bundle to /tmp or bypass the loader. The FU-3 fake runner uses the frozen two-batch split and atomically checkpoints each completed batch; rerunning the same command resumes a matching checkpoint instead of discarding completed simulation work.

The committed 2026-07-26 fake-Garnet evidence used the full frozen budget. Its 10,000-resample result is a readiness check, not hardware evidence: n=8 had a positive simulated default-minus-optimised difference, n=12 and n=16 included zero after Holm adjustment, and the all-sizes primary was false.

The analysis enforces a complete label matrix and a green depth-parity plan, pools the four repetitions per arm and size, propagates main/readout shot noise with 10,000 multinomial resamples at seed 20260722, and reports the frozen Holm-adjusted per-size tests, n=12 direction, pooled CI90, Cochran's Q, default-versus-naive CI95, and raw/corrected sensitivity.

Remaining live gates

After this local sequence is green, prepare the final matrix from the same-day live calibration snapshot and exercise the exact live submission surface first against garnet:mock:

.venv-iqm/bin/python scripts/iqm_layout_transfer_resonance.py dump-calibration \
  --quantum-computer garnet --date YYYY-MM-DD \
  --out data/iqm_layout_transfer_per_size/live_calibration_YYYY-MM-DD.json
.venv/bin/python scripts/iqm_layout_transfer_per_size_harness.py prepare \
  --calibration data/iqm_layout_transfer_per_size/live_calibration_YYYY-MM-DD.json \
  --date YYYY-MM-DD --out-dir data/iqm_layout_transfer_per_size
.venv-iqm/bin/python scripts/iqm_layout_transfer_resonance.py submit \
  --quantum-computer garnet:mock --all-sizes \
  --circuits data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_circuits_YYYY-MM-DD.qpy \
  --labels data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_labels_YYYY-MM-DD.json \
  --plan data/iqm_layout_transfer_per_size/iqm_layout_transfer_per_size_YYYY-MM-DD_plan.json \
  --date YYYY-MM-DD --out data/iqm_layout_transfer_per_size/mock_submission_YYYY-MM-DD.json \
  --i-have-owner-go

The --all-sizes route is restricted to the frozen FU-3 campaign, requires exactly 36 mains plus six readouts, rechecks depth parity after provider transpilation, and submits the frozen single-pass split as two jobs. Replace only garnet:mock with garnet after the mock record, same-day calibration, and explicit owner GO are all present. No credential or provider access is needed for the provider-free local sequence above this section.