1. Source Code & Licence

Repository

github.com/anulum/scpn-quantum-control — currently in private access mode. Source access is granted to commercial licence holders, academic researchers, contributors under CLA, and peer-review reviewers. Request reviewer access →

Licence: AGPL-3.0-or-later (commercial licence available). SPDX header on every source file. ORCID 0009-0009-3560-0851.

2. Pinned Versions

ComponentVersion / ConstraintSource
scpn-quantum-control0.9.5pyproject.toml
scpn-quantum-engine (Rust crate)0.1.0, PyO3 0.25scpn_quantum_engine/Cargo.toml
Python≥ 3.10 (tested 3.10–3.13)pyproject.toml
Rust edition2021Cargo.toml
qiskit≥ 1.0.0, < 2.0 (2.2 has GH #15476)pyproject.toml
qiskit-aer≥ 0.14.0, < 1.0pyproject.toml
qiskit-ibm-runtime≥ 0.20.0, < 1.0[ibm] extra
numpy≥ 1.24, < 3.0pyproject.toml
scipy≥ 1.10, < 2.0pyproject.toml
mitiq≥ 0.30, < 2.0[mitigation] extra
ripser≥ 0.6, < 1.0[topology] extra
ruff0.15.9agentic CI matrix
mypy≥ 1.20.0, < 2.0agentic CI matrix

3. Phase 1 Campaign — DLA Parity on ibm_kingston

Pinned state

Git commit: 1b60f7b2aa9b05d6b346d7dae645b9d4cd02b4af

Branch: main, pushed to origin/main 2026-04-11

Backend: ibm_kingston (IBM Heron r2, 156 qubits)

Circuits: 342 at $n=4$, 2048 shots each

Trotter step: $t_\text{step} = 0.3$

Trotter depths swept: $\{2, 4, 6, 8, 10, 14, 20, 30\}$

Reps per point: 12 (depths 2, 20, 30) or 21 (depths 4, 6, 8, 10, 14)

Coupling matrix: $K_{ij} = 0.45\, e^{-0.3|i-j|}$

Data files (342 circuits across 4 JSON sub-phases)

data/phase1_dla_parity/phase1_bench_2026-04-10T183728Z.json # 42 circuits, wall 44.1 s
data/phase1_dla_parity/phase1_5_reinforce_2026-04-10T184909Z.json # 72 circuits, wall 56.7 s
data/phase1_dla_parity/phase2_exhaust_2026-04-10T185634Z.json # 138 circuits, wall 97.5 s
data/phase1_dla_parity/phase2_5_final_burn_2026-04-10T190136Z.json # 90 circuits, wall 65.1 s

Each JSON stores: experiment (sub-phase name), timestamp_utc, backend, job_ids, wall_time_s, n_circuits, t_step, circuits (per-circuit metadata including depth, sector, initial state, Qiskit counts), and aggregated_* (cumulative statistics across all preceding sub-phases).

IBM Quantum job IDs

d7ck79m5nvhs73a4nr10 # phase1_bench_2026-04-10T183728Z
d7ck7hb0g7hs73dqvbg0 # phase1_bench_2026-04-10T183728Z
d7ckcrh5a5qc73dosbmg # phase1_5_reinforce_2026-04-10T184909Z
d7ckft95a5qc73doseu0 # phase2_exhaust_2026-04-10T185634Z
d7ckide5nvhs73a4o780 # phase2_5_final_burn_2026-04-10T190136Z

All jobs are retained in the IBM Quantum Platform job log. Total QPU wall time across all five jobs: 263.3 s ~ 4.4 minutes.

Analysis output

figures/phase1/phase1_dla_parity_summary.json # all per-depth statistics
figures/phase1/leakage_vs_depth.png # Figure 1
figures/phase1/asymmetry_vs_depth.png # Figure 2

The summary JSON contains the exact per-depth Welch t-statistics, p-values, means, SEMs, 95 % confidence intervals, and the readout baseline used on the Phase 1 results page.

4. Rerun Protocol

Minimal rerun (no hardware)

Recomputes all Phase 1 statistics from the raw JSON count dictionaries. Does not touch IBM hardware. Wall time < 10 seconds on a modern laptop.

git clone <access-granted-url> scpn-quantum-control
cd scpn-quantum-control
git checkout 1b60f7b
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"
python scripts/analyse_phase1_dla_parity.py

Expected output: figures/phase1/phase1_dla_parity_summary.json, leakage_vs_depth.png, asymmetry_vs_depth.png, and a console summary matching Table 1 on the Phase 1 results page to the last reported digit.

Full rerun including Rust engine

Rebuilds the PyO3 crate from source and runs the complete test+bench matrix (4,771 tests collected, 9 deselected). Wall time ~15 minutes on a 12-core machine.

rustup toolchain install 1.83.0
pip install maturin==1.12.6
cd scpn_quantum_engine && maturin develop --release && cd ..
pytest tests/ -q --ignore=tests/test_hardware_runner.py

Full rerun including IBM Quantum hardware

Re-submitting the 342-circuit campaign requires an IBM Quantum Platform account with a Heron r2 backend authorised for the ibm-q/open/main instance (or paid Open Plan). Estimated ~5 minutes of QPU time. The current account is blocked on a 180-minute promotional allocation; see the Phase 2 status panel.

pip install -e ".[dev,ibm,rust]"
export QISKIT_IBM_TOKEN=<your-token>
python scripts/run_phase1_dla_parity_campaign.py \
    --backend ibm_kingston --t-step 0.3 --qubits 4 \
    --depths 2 4 6 8 10 14 20 30 --reps 21

5. Previous Hardware Campaigns

CampaignBackendDatenCircuitsData path
Kuramoto-XY preprintibm_fez2026-024, 6, 16~33 jobscuration pending
Pipe cleaner (diagnostic)ibm_kingston2026-04-104retrieved.coordination/ibm_runs/pipe_cleaner_retrieved_*.json
Phase 1 DLA parityibm_kingston2026-04-104342data/phase1_dla_parity/ (4 files, see Section 3)
Micro probe (cycle exhausted)ibm_kingston2026-04-10.coordination/ibm_runs/micro_probe_*.json

6. Code Quality Gates

The same gates run locally via pre-commit install, in the preflight hook (tools/preflight.py), and in GitHub Actions CI. A commit is considered reproducible only if all gates pass.

gitleaks 8.21.2
Generic secret scanner. Blocks any commit that looks like it contains credentials.
tools/check_secrets.py
Custom vault-pattern scanner. Reads the local credentials vault, extracts high-entropy tokens, and blocks any commit containing them. See Contributing for the precedent incident.
ruff check + format
Linting and formatting (ruff 0.15.9). Mirrors CI configuration exactly.
mypy
Strict type checking on all public API surfaces (mypy ≥ 1.20).
pytest
4,771 tests collected (9 deselected). 97 %+ coverage gate. Parametrised across Python 3.10–3.13.
check_version_consistency.py
Verifies that the version string matches across pyproject.toml, __init__.py, CHANGELOG.md, and docs/index.md.

7. What This Manifest Deliberately Does Not Claim

Honest limitations

  • Independent replication on a second Heron r2 device has not yet been performed. Phase 2 will submit the same protocol to ibm_marrakesh; the result will be added to this manifest when available.
  • Coherence wall. Beyond ~250 two-qubit gates, decoherence dominates and error mitigation reduces but does not eliminate systematic bias. This is an intrinsic NISQ limit, not specific to our protocol.
  • Test count. 4,771 tests are collected by pytest --collect-only. Earlier documentation cited 4,828+; that figure has not been reproduced on the current commit and is being corrected in a follow-up documentation refresh.
  • Hardware access is private. The IBM Open Plan Quantum Platform account is personal. Reviewers cannot directly re-execute the campaign without separate access arrangements.
  • Active development. v0.9.5 is pre-1.0. Internal APIs may change between releases. Pinning to a specific commit hash is mandatory for reproducible results.

8. Contact

For reviewer access, data requests, or methodology questions:

protoscience@anulum.li · ORCID 0009-0009-3560-0851

Miroslav Šotek · ANULUM Research · Marbach SG, Switzerland