← back to the board
[[130,8,7]] d ≤
n
130
k
8
d
7
kd²/n
3.015
w
6
X/Z
1
g
0.0471
r
4.0
layers
1
swaps
746

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 7, d_Z ≤ 7 · w_X = 6, w_Z = 6 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 7 · witness weight 7 (claimed upper_bound)
witness operator (support, 7 qubits)
[14, 32, 33, 49, 51, 63, 126]
d_Z 7 · witness weight 7 (claimed upper_bound)
witness operator (support, 7 qubits)
[37, 51, 56, 109, 118, 122, 123]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth H_X 6 · H_Z 6 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 2–6 (mean 4.836) · H_Z 2–6 (mean 4.754)
qubit degrees H_X 1–3 (mean 2.269) · H_Z 1–3 (mean 2.231)
trapping sets H_X (1,1)×29 (2,0)×7 (3,0)×12 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 29 (1,2): 37 (1,3): 64 (2,0): 7 (2,1): 44 (2,2): 117 (2,3): 181 (2,4): 285 (3,0): 12 (3,1): 82 (3,2): 325 (3,3): 846 (3,4): 1470 (3,5): 1757 (3,6): 171 (3,7): 264
trapping sets H_Z (1,1)×32 (2,0)×8 (3,0)×10 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 32 (1,2): 36 (1,3): 62 (2,0): 8 (2,1): 42 (2,2): 120 (2,3): 177 (2,4): 266 (3,0): 10 (3,1): 80 (3,2): 310 (3,3): 911 (3,4): 1398 (3,5): 1558 (3,6): 178 (3,7): 239
witness diameter X 11.4018 · Z 11.6619 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
r = 4
X checkZ checkqubit site (130)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 746 nearest-neighbor SWAPs per round in total, at most 8 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction Open-boundary planar bivariate-bicycle code (Liang, Eberhardt, Chen, arXiv:2504.08887) with f = x + x2 + y2 and g = 1 + x2 y + x2 y2 on a 9 x 9 grid (research/local2d/planar.py build_open_directional(9, 9), n = 162, k = 8), reduced to n = 130 by 32 restricted r=1 lattice grafts (arXiv:2504.08887 Sec. III E): a qubit lying in exactly one stabilizer of some type is removed together with that stabilizer, accepted only if k stays 8 and a NumPy RIS search screened at 600 fixed-seed trials and confirmed at 2500 fresh-seed trials finds nothing lighter than 7, followed by the weight-1 stabilizer cleanup of research/local2d/boundary_engine.py. Layout: a surviving qubit of unreduced index q = c*81 + i*9 + j sits at (i + j, j - i + c), one layer, spacing 1.
model Claude Claude Fable 5.1 (claimed, not verified)
date 2026-09-20
notes Derived from the flagship planar family at L = (9,9) by r=1 grafting; not an independent construction. Fresh-seed RIS ladder on the saved code: 5000 trials -> 7, 20000 trials -> 7, 50000 trials -> 7. Claim: d <= 7, a witness-backed upper bound. Advances the weight-6 x local-2d-single board if the gate says so; novelty vs the literature unverified.
family bivariate bicycle (a tag, not a ranking)
locality 2D-local single (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[130,8,7]] reduced single-layer planar bivariate-bicycle code, L = (9,9), r=1 grafts only

Direction & hypothesis

Target cell: weight-6 x local-2d-single. Its k = 8 entries are all the flagship open-boundary planar bivariate-bicycle family (f = x + x^2 + y^2, g = 1 + x^2 y + x^2 y^2, arXiv:2504.08887): the unreduced L = 8, 10, 12 lattices and r=1 grafted L = 13 to 16 lattices. The reductions of the smaller lattices on the board (n = 118, 169, 203, 265) use a merge-graft move whose checks exceed radius 4 in the single-layer layout, so they sit in the bilayer cell only. Restricted r=1 grafting removes a qubit together with the one stabilizer of some type that contains it, so every surviving check is a subset of an original one and the single-layer layout (i + j, j - i + c) keeps radius 4 exactly. Hypothesis: the L = 9 lattice grafts to n < 162 at unchanged k = 8 and d = 7. At d = 7 any n < 200 with k = 8 is a new frontier point between [[128,8,6]] and [[200,8,9]] in the single-layer cell; the board's [[162,8,7]] and its merge-graft reduction [[118,8,7]] are bilayer-only, so this fills a gap and dominates nothing in its cell.

Higher k is closed in this layout: mixed volume over every trinomial (f, g) pair fitting radius 4 under the checkerboard map, a shifted checkerboard, and an anisotropic stripe map never exceeds 8 (3522 to 3562 fitting pairs per map).

What was searched

Base code research/local2d/planar.py build_open_directional(9, 9), [[162,8]]. Grafting driver (staged with the candidate): candidates are qubits lying in exactly one X-stabilizer or one Z-stabilizer; order randomized with seed 1; a removal is kept iff k stays 8, a fixed-seed NumPy RIS screen at 600 trials finds nothing lighter than 7, and a fresh-seed confirm at 2500 trials agrees. 22 removals accepted, 0 rejected at the confirm rung (screen passed, confirm found weight n/a), then the weight-1 stabilizer cleanup of boundary_engine._cleanup. Final n = 130. Wall time 345 s.

Evidence trail

Fresh-seed NumPy RIS ladder on the saved code: 5000 trials -> 7, 20000 trials -> 7, 50000 trials -> 7. The witnesses in the submission are weight-7 (X) and weight-7 (Z) logicals, re-verified by the GF(2) stack. Claim: d <= 7, a witness-backed upper bound. Gate verdict (verify/validate_candidate.py): passed = True; labels: advances the weight-6 x local-2d-single board; literature novelty UNVERIFIED. Interaction radius 4.0, one layer, one qubit per site, max check weight 6. Advances the weight-6 x local-2d-single board; novelty vs the literature unverified.

Dead ends

Rectangular lattices (10,11) and (11,12): d_rand 9 at n = 220 and 10 at n = 264 (300 trials), dominated by the reductions of the square lattices. Anisotropic single-layer layouts do not open k > 8 (mixed-volume enumeration above). Merge-graft moves were not attempted because they leave the single-layer radius-4 class.

Tools

Claude (Claude Code) as the agent in an unattended autoresearch run. Kit modules research/local2d/planar.py, research/local2d/boundary_engine.py (_cleanup, compute_k), research/kit/surrogate.py (NumPy RIS, no gf2_fast), research/kit/submit.py, and verify/validate_candidate.py as the only gate. Two worker threads on a shared machine.

Reproduction

The graft order is randomized, so the surviving qubit set is recorded by the coordinates in the submission: a qubit at (x, y) has c = (x + y) mod 2, j = (x + y - c) / 2, i = x - j, unreduced index c*81 + i*9 + j. Rebuild the base with

import sys; sys.path.insert(0, "research/local2d")
from planar import build_open_directional
HX, HZ = build_open_directional(9, 9)   # [[162,8]]

then delete the qubits absent from the layout together with the stabilizers that become the unique owner of a deleted qubit, and run boundary_engine._cleanup.

Parity checks

X-checks 61 (max weight 6) · Z-checks 61 (max weight 6)
H_X (61 checks, sparse supports)
[0, 64, 65] [1, 65, 66] [2, 66, 67] [3, 67] [0, 5, 69, 70] [1, 6, 70, 71] [2, 7, 71, 72] [3, 8, 72, 73] [9, 73, 74] [10, 74, 75] [2, 5, 14, 63, 77, 78] [3, 6, 15, 64, 78, 79] [7, 16, 65, 79, 80] [8, 17, 66, 80, 81] [9, 18, 67, 81, 82] [4, 10, 19, 82, 83] [7, 14, 22, 68, 85, 86] [8, 15, 23, 69, 86, 87] [9, 16, 24, 70, 87, 88] [10, 17, 25, 71, 88, 89] [11, 18, 26, 72, 89, 90] [12, 19, 27, 73, 90, 91] [13, 20, 28, 74, 91, 92] [16, 22, 31, 76, 94, 95] [17, 23, 32, 77, 95, 96] [18, 24, 33, 78, 96, 97] [19, 25, 34, 79, 97, 98] [20, 26, 35, 80, 98, 99] [21, 27, 36, 81, 99, 100] [24, 31, 39, 84, 102, 103] [25, 32, 40, 85, 103, 104] [26, 33, 41, 86, 104, 105] [27, 34, 42, 87, 105, 106] [28, 35, 43, 88, 106, 107] [29, 36, 44, 89, 107, 108] [30, 37, 45, 90, 108, 109] [33, 39, 47, 93, 111, 112] [34, 40, 48, 94, 112, 113] [35, 41, 49, 95, 113, 114] [36, 42, 50, 96, 114, 115] [37, 43, 51, 97, 115, 116] [38, 44, 52, 98, 116, 117] [41, 47, 55, 101, 119, 120] [42, 48, 102, 120, 121] [43, 49, 56, 103, 121, 122] [44, 50, 57, 104, 122, 123] [45, 51, 58, 105, 123, 124] [46, 52, 59, 106, 124, 125] [49, 55, 110, 126] [50, 111] [51, 56, 112] [52, 57, 61, 113, 127] [53, 58, 114, 127, 128] [54, 59, 115, 128, 129] [56, 118] [57, 119] [58, 120] [59, 61, 121] [60, 124] [61, 126] [62, 127]
H_Z (61 checks, sparse supports)
[14, 63, 68] [0, 15, 64, 69] [0, 1, 16, 65, 70, 76] [1, 2, 17, 66, 71, 77] [2, 3, 18, 67, 72, 78] [4, 83] [22, 68, 76] [5, 23, 69, 77] [5, 6, 24, 70, 78, 84] [6, 7, 25, 71, 79, 85] [7, 8, 26, 72, 80, 86] [8, 9, 27, 73, 81, 87] [9, 10, 28, 74, 82, 88] [10, 11, 29, 75, 83, 89] [11, 12, 30, 90] [12, 13, 91] [13, 92] [31, 76, 84] [14, 32, 77, 85] [14, 15, 33, 78, 86, 93] [15, 16, 34, 79, 87, 94] [16, 17, 35, 80, 88, 95] [17, 18, 36, 81, 89, 96] [18, 19, 37, 82, 90, 97] [19, 20, 38, 83, 91, 98] [20, 21, 92, 99] [21, 100] [39, 84, 93] [22, 40, 85, 94] [22, 23, 41, 86, 95, 101] [23, 24, 42, 87, 96, 102] [24, 25, 43, 88, 97, 103] [25, 26, 44, 89, 98, 104] [26, 27, 45, 90, 99, 105] [27, 28, 46, 91, 100, 106] [28, 29, 92, 107] [29, 30, 108] [30, 109] [47, 93, 101] [31, 48, 94, 102] [31, 32, 49, 95, 103, 110] [32, 33, 50, 96, 104, 111] [33, 34, 51, 97, 105, 112] [34, 35, 52, 98, 106, 113] [35, 36, 53, 99, 107, 114] [36, 37, 54, 100, 108, 115] [37, 38, 109, 116] [38, 117] [55, 101, 110] [39, 40, 56, 103, 112, 118] [40, 41, 57, 104, 113, 119] [41, 42, 58, 105, 114, 120] [42, 43, 59, 106, 115, 121] [43, 44, 107, 116, 122] [44, 45, 108, 117, 123] [45, 46, 60, 109, 124] [46, 125] [48, 49, 61, 113, 121, 126] [52, 53, 62, 117, 125, 127] [53, 54, 128] [54, 129]
Code ID 130-8-7 · download JSON · raw on GitHub