Objective: at 3 syndrome rounds under the board's depolarizing recipe at p = 0.002, interleaved schedule, both memories, a logical error rate per round below that of k copies of the rotated surface code at equal or greater physical qubit count (data plus ancilla), with separated 95 percent Poisson intervals. The target board cell is weight-8 x unrestricted (no layout). This code comes from part 1, weight-6/7 two-block, 300 < n <= 420, k >= 12 of the third LER-objective search, the ground the first two searches (weight-6 two-block codes at n <= 300 with k >= 8; the existing board pool and generated weight-8 lifted-product, pair-partition, and non-abelian two-block codes at n <= 300) did not cover. The baseline's distance is set by the qubit budget (k12-d7: 12 copies of d = 7, 1164 qubits against the candidate's 720), and the decoder is the same BP+OSD configuration for both.
Stage 1 admitted 579 candidates from part 1, weight-6/7 two-block, 300 < n <= 420, k >= 12, 707 candidates from part 2, coprime bivariate bicycle, weight 6/8, k >= 8, 24 candidates from part 3, hypergraph product, proven distance (1,310 generator hits with the required k, connected, and d >= 10 at 300 RIS trials; 0 repeats within the search, 0 already candidates of the first two searches, 0 exact board duplicates). Funnel: RIS at 2,000 trials (keep d >= 10; 271 of 271), RIS at 20,000 trials (247 kept), WL dedup against the board (20 dropped), 3-round circuit with the tier checks (257 built), GPU decode of 10,000 shots per basis at p = 0.002 against the matched surface baseline (12 of 21 beat it in both bases), the decoder-based d_circ estimate (12 kept, 0 more than 2 below d), then up to 100,000 shots per basis at p = 0.001 and 0.002 (fitted to a 90-minute GPU budget at the measured throughput) and a 300,000,000-trial ris_gpu pass per side.
Periodic bivariate-bicycle code on Z_30 x Z_6 (n = 2*l*m = 360): x = S_30 tensor I_6, y = I_30 tensor S_6 (cyclic shifts), qubit index i*m + j in each block; A = x^0y^0 + x^16y^5 + x^29y^4, B = x^0y^0 + x^11y^5 + x^17y^4 + x^27y^2; H_X = [A|B], H_Z = [B^T|A^T] (research/kit/bb.py build_bb(30, 6, [[0, 0], [16, 5], [29, 4]], [[0, 0], [11, 5], [17, 4], [27, 2]])).
Schedule: interleaved; two-block interleaved (A: 3 terms, B: 4 terms), 8 CX layers per round; terms by bb_decompose translations on Z_30 x Z_6; X-check term slots [6, 1, 7, 2, 3, 5, 4], Z-check term slots [0, 6, 1, 3, 4, 2, 5] over terms A_0..A_2, B_0..B_3; RIS screen at 2 rounds: {'Z': 236, 'X': 220}
RIS ladder for the submitted code (lightest logical found, both sides):
| RIS trials per side | seed | lightest logical found | |---|---|---| | 2,000 | 621512565 | 25 | | 20,000 | 534780658 | 25 | | 300,000,000 (GPU, verify/ris_gpu.py) | 1197405618 | X 25, Z 25 |
Claim: d <= 25, a witness-backed upper bound.
Decoder-based circuit fault-distance estimate at 3 rounds (a stacked BP+OSD search on the committed DEM, GPU, 2 seeds; our decoder-based estimator, not part of this repo): 31 (per basis {'Z': 74, 'X': 31}); an upper bound on d_circ.
Logical error rate per round at 3 rounds (exact 95 percent Poisson intervals on the failure count; the surface baseline is 12 copies of the distance-7 rotated surface code, 1164 physical qubits, geometric interleaved schedule, same noise recipe and decoder):
| p | basis | candidate | surface baseline | ratio | separated | |---|---|---|---|---|---| | 0.002 | Z | 5.67e-05 [3.30e-05, 9.07e-05] (17/100000) | 8.51e-04 [7.50e-04, 9.63e-04] (255/100000) | 0.067 | yes | | 0.002 | X | 7.33e-05 [4.60e-05, 1.11e-04] (22/100000) | 7.61e-04 [6.65e-04, 8.67e-04] (228/100000) | 0.096 | yes | | 0.001 | Z | 0 [0, 1.23e-05] (0/100000) | 5.00e-05 [2.80e-05, 8.25e-05] (15/100000) | 0.000 | yes | | 0.001 | X | 0 [0, 1.23e-05] (0/100000) | 5.00e-05 [2.80e-05, 8.25e-05] (15/100000) | 0.000 | yes |
Stage-4 screen (10,000 shots per basis at p = 0.002): Z 0 vs 22, X 1 vs 21 failures.
Objective at p = 0.002: met (both bases separated: True).
Gate verdict (verify/validate_candidate.py, refute off): passed = True, labels: advances the weight-8 x unrestricted board; literature novelty UNVERIFIED. Duplicate check: exact None, WL None. Board cell ['weight-8', 'unrestricted']: board_advancing = True.
Of the candidates that reached the GPU screen, 9 did not beat their surface baseline in both bases at 10,000 shots; 0 had a d_circ estimate more than 2 below d; 0 produced no deterministic schedule or failed a tier check; 0 fell below d = 10 in the RIS ladder. Nearest stage-4 misses (candidate failures vs baseline failures, Z and X):
Claude (Claude Code, model Fable 5.1) as the agent in an unattended search: generation and circuits on the laptop, GPU decoding on RunPod A40 pods. Repo tooling: research/kit/bb.py, research/cyclic_gb.py, research/kit/group_algebra.py, and research/kit/products.py (constructions), research/kit/css.py and verify/gf2_fast.cpp (k and the RIS distance screen), verify/qldpc_verify.py fingerprint and WL signature (dedup against the board), the schedule chain of PR 1859's interleaved two-block builder (research/circuit_autogen.py), a SAT coloring, and the board's sequential builder with verify/circuit_verify.py's tier checks, our decoder-based d_circ estimator (not part of this repo), ler-pilot's rotated-surface matched baseline (pilot.py, build_interleaved.py), CUDA-Q QEC nv-qldpc-decoder (BP min-sum 30 iterations, scale 0.625, OSD combination sweep order 10, the configuration validated against bposd-cs-10), verify/ris_gpu.py on the A40 for the deep rung, verify/sat_certify.py for the exact check of part-3 distances, and verify/validate_candidate.py for the verdict.
import sys; sys.path.insert(0, "research/kit") from bb import build_bb HX, HZ = build_bb(l=30, m=6, A_terms=[[0, 0], [16, 5], [29, 4]], B_terms=[[0, 0], [11, 5], [17, 4], [27, 2]]) # [[360,12]]
Circuits: PR 1859's interleaved two-block builder (research/circuit_autogen.py) at 3 rounds, 8.0 CX layers per round, with the term slots listed under Construction. Decoding: strip the noise, reapply circuit_tools.apply_noise at p, derive the DEM, sample with the stim seed recorded in the receipts, decode with nv-qldpc-decoder as configured above; a failure is any logical observable decoded wrong.