Phase 3 Third-Backend ZNE Extension: ibm_kingston¶
Date: 2026-05-20
Decision¶
The fourth paper review requested a stronger endpoint before treating the Phase
3 paper as complete: either a third-backend ZNE replication or an n=6
extension. The implemented lane is a third-backend n=4 ZNE replication,
because it reuses the already preregistered five-channel reduced-Pauli ZNE
stress test without introducing a rushed new n=6 protocol.
Accessible IBM backends for the account at selection time:
| Backend | Qubits | Operational | Pending jobs |
|---|---|---|---|
ibm_fez |
156 | True |
0 |
ibm_marrakesh |
156 | True |
1 |
ibm_kingston |
156 | True |
38 |
ibm_sherbrooke and ibm_torino were probed first and were not available to
the account. Since ibm_marrakesh and ibm_fez are already in the manuscript,
ibm_kingston is the only accessible third-backend candidate.
Readiness¶
No-submit readiness command:
PYTHONDONTWRITEBYTECODE=1 python scripts/phase3_entanglement_tomography_ibm.py \
--backend ibm_kingston \
--zne-subset-rows data/phase3_entanglement_tomography/entanglement_tomography_rows_2026-05-20_ibm_fez_pinned_full_readout.csv \
--zne-noise-scales 1,3,5 \
--max-depth 1900 \
--max-total-gates 5000
Readiness artefact:
data/phase3_entanglement_tomography/entanglement_tomography_live_ibm_kingston_2026-05-20T030151Z.json- SHA256:
858520263a8a855e12438391311545159a6971e42818131cd98756da0cf1a165
Readiness result:
| Field | Value |
|---|---|
| Status | readiness_passed |
| Physical qubits | [141, 142, 143, 144] |
| Main circuits | 45 |
| Readout circuits | 16 |
| Total circuits | 61 |
| Estimated QPU minutes | 0.5591666666666667 |
| Budget ceiling minutes | 25.0 |
| Maximum transpiled depth | 1686 |
| Maximum basis-expansion ratio | 4.574585635359116 |
Submission¶
Approved submission command:
PYTHONDONTWRITEBYTECODE=1 python scripts/phase3_entanglement_tomography_ibm.py \
--backend ibm_kingston \
--zne-subset-rows data/phase3_entanglement_tomography/entanglement_tomography_rows_2026-05-20_ibm_fez_pinned_full_readout.csv \
--zne-noise-scales 1,3,5 \
--max-depth 1900 \
--max-total-gates 5000 \
--submit \
--confirm-budget
Execution artefact:
data/phase3_entanglement_tomography/entanglement_tomography_live_ibm_kingston_2026-05-20T030211Z.json- SHA256 after pending-job registration:
56baf1812ba8193fc67b05f27fcf99ae8ce4960a9e16e604e9c8b09e7884d635
IBM jobs:
| Role | Job ID | Final status |
|---|---|---|
| Main ZNE circuits | d86i8fas46sc73f70vg0 |
DONE |
| Full 16-state readout calibration | d86ijr9789is738vnh30 |
DONE |
The main job was submitted by the guarded runner. The readout job was submitted independently after the main job entered the IBM queue, because the guarded runner waits for the main result before launching readout. The local sequential runner was then stopped to prevent a duplicate readout submission.
Reduction¶
The completed jobs were retrieved into the canonical execution artefact and reduced with:
PYTHONDONTWRITEBYTECODE=1 python scripts/analyse_phase3_entanglement_zne.py \
data/phase3_entanglement_tomography/entanglement_tomography_live_ibm_kingston_2026-05-20T030211Z.json \
--result-tag 2026-05-20_ibm_kingston_zne
Reducer outputs:
data/phase3_entanglement_tomography/entanglement_zne_summary_2026-05-20_ibm_kingston_zne.jsondata/phase3_entanglement_tomography/entanglement_zne_scale_rows_2026-05-20_ibm_kingston_zne.csvdata/phase3_entanglement_tomography/entanglement_zne_channel_summary_2026-05-20_ibm_kingston_zne.csvdocs/campaigns/phase3_entanglement_zne_manifest_2026-05-20_ibm_kingston_zne.md
Result snapshot:
| Field | Value |
|---|---|
| Scale rows | 15 |
| Channels | 5 |
| Scale-1 mean absolute deviation | 0.4533514489822172 |
| Linear ZNE mean absolute deviation | 0.4729152510655504 |
| Readout-mitigated linear ZNE mean absolute deviation | 0.480609277847894 |
| Quadratic ZNE mean absolute deviation | 0.45559754273221703 |
Channel-level result: all four DLA transverse channels move farther from exact under linear ZNE, while the FIM control improves. This is a qualitative third-backend replication of the Fez ZNE stress-test pattern, still bounded to the preregistered five-channel small-system stress test.
Claim Boundary¶
This is a completed third-backend ZNE replication for the preregistered
five-channel reduced-Pauli stress test only. It is not an n=6 extension, not a
backend-general entanglement-dynamics claim, not full tomography, and not a
quantum-advantage claim. The paper may now describe Kingston as a
third-backend qualitative replication of the Fez ZNE pattern once the
manuscript is updated from the committed reducer artefacts.
Next Gate¶
Update the LaTeX manuscript and PDF with the Kingston reducer outputs. The safe paper language is qualitative third-backend replication: DLA transverse channels again worsen under linear ZNE, while the FIM control improves.
Restart Runbook¶
Use this section when returning to the queued jobs. Do not start a replacement Kingston run unless one of the two job IDs below is cancelled or failed and the failure is recorded first.
Canonical pending artefact:
data/phase3_entanglement_tomography/entanglement_tomography_live_ibm_kingston_2026-05-20T030211Z.json
Job roles:
Check live job status without exposing credentials:
PYTHONDONTWRITEBYTECODE=1 python - <<'PY'
from pathlib import Path
import importlib.util
from qiskit_ibm_runtime import QiskitRuntimeService
spec = importlib.util.spec_from_file_location(
"phase1", "scripts/phase1_mini_bench_ibm_kingston.py"
)
phase1 = importlib.util.module_from_spec(spec)
spec.loader.exec_module(phase1)
token, instance = phase1.parse_vault(
Path("~/.config/scpn-quantum-control/credentials.md").expanduser()
)
service = QiskitRuntimeService(channel="ibm_cloud", token=token, instance=instance)
for role, job_id in {
"main": "d86i8fas46sc73f70vg0",
"readout": "d86ijr9789is738vnh30",
}.items():
job = service.job(job_id)
print(f"{role}\t{job_id}\t{job.status()}")
PY
Expected current pre-completion state:
status: pending_jobs_submitted
job_ids: ["d86i8fas46sc73f70vg0", "d86ijr9789is738vnh30"]
pending_job_roles.main: d86i8fas46sc73f70vg0
pending_job_roles.readout: d86ijr9789is738vnh30
After both jobs are DONE, hydrate the canonical artefact with:
status: completed;wall_time_main_sandwall_time_readout_sif recoverable from runtime metadata, otherwise an explicitwall_time_*_s: nullplus a recovery note;circuits: 45 main count rows and 16 readout count rows, each preserving the originalmeta,job_id,counts, and transpiled-circuit metadata.
The pending artefact already contains metas_main and metas_readout; preserve
their ordering when attaching counts. The readout submission metadata is stored
under readout_submission_metadata because the readout job was launched by the
recovery helper rather than by the sequential guarded runner.
Then run the reducer:
PYTHONDONTWRITEBYTECODE=1 python scripts/analyse_phase3_entanglement_zne.py \
data/phase3_entanglement_tomography/entanglement_tomography_live_ibm_kingston_2026-05-20T030211Z.json \
--result-tag 2026-05-20_ibm_kingston_zne
Expected reducer outputs:
data/phase3_entanglement_tomography/entanglement_zne_summary_2026-05-20_ibm_kingston_zne.json
data/phase3_entanglement_tomography/entanglement_zne_scale_rows_2026-05-20_ibm_kingston_zne.csv
data/phase3_entanglement_tomography/entanglement_zne_channel_summary_2026-05-20_ibm_kingston_zne.csv
docs/campaigns/phase3_entanglement_zne_manifest_2026-05-20_ibm_kingston_zne.md
Paper update gate:
- If all four DLA transverse channels again move farther from exact under linear ZNE while the FIM control improves or behaves differently, update the paper as a third-backend structured-distortion replication.
- If Kingston weakens, reverses, or randomises the Fez pattern, update the paper as a limited two-backend result plus third-backend falsification or partial replication.
- If either job fails or is cancelled, do not replace it silently. Record the
failure status, then rerun readiness before deciding whether another
ibm_kingstonattempt is scientifically and budget-wise justified.
Minimum verification before committing the completed result: