← back to the board
[[276,8,12]] d ≤
n
276
k
8
d
12
kd²/n
4.174
w
6
X/Z
1
g
0.0652
r
4.0
layers
1
swaps
1778

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 12, d_Z ≤ 12 · 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 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[45, 69, 70, 103, 128, 147, 159, 230, 232, 242, 253, 265]
d_Z 12 · witness weight 12 (claimed upper_bound)
witness operator (support, 12 qubits)
[68, 70, 76, 78, 80, 87, 97, 209, 216, 217, 234, 243]
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 5.111) · H_Z 2–6 (mean 5.143)
qubit degrees H_X 1–3 (mean 2.5) · H_Z 1–3 (mean 2.478)
trapping sets H_X (1,1)×44 (2,0)×10 (3,0)×23 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 44 (1,2): 50 (1,3): 182 (2,0): 10 (2,1): 62 (2,2): 185 (2,3): 252 (2,4): 1039 (3,0): 23 (3,1): 121 (3,2): 487 (3,3): 1431 (3,4): 2262 (3,5): 8049 (3,6): 232 (3,7): 1187
trapping sets H_Z (1,1)×45 (2,0)×10 (3,0)×23 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 45 (1,2): 54 (1,3): 177 (2,0): 10 (2,1): 70 (2,2): 186 (2,3): 263 (2,4): 1015 (3,0): 23 (3,1): 132 (3,2): 516 (3,3): 1466 (3,4): 2367 (3,5): 7856 (3,6): 238 (3,7): 1165
witness diameter X 14.8661 · Z 14.8661 (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 (276)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 1778 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 12 x 12 grid (research/local2d/planar.py build_open_directional(12, 12), n = 288, k = 8), reduced to n = 276 by 12 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 1500 fixed-seed trials and confirmed at 6000 fresh-seed trials finds nothing lighter than 12, followed by the weight-1 stabilizer cleanup of research/local2d/boundary_engine.py. Layout: a surviving qubit of unreduced index q = c*144 + i*12 + 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 = (12,12) by r=1 grafting; not an independent construction. Fresh-seed RIS ladder on the saved code: 5000 trials -> 12, 20000 trials -> 12, 50000 trials -> 12. Claim: d <= 12, 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

[[276,8,12]] reduced single-layer planar bivariate-bicycle code, L = (12,12), 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 = 12 lattice grafts to n < 288 at unchanged k = 8 and d = 12. At d = 12 any n < 288 dominates the board's [[288,8,12]] (same k, d and check weight, fewer qubits). A first chain at screen 500 / confirm 1500 (seed 1) collapsed to d = 11 at the ladder and is staged separately as [[275,8,11]]; this chain used screen 1500 / confirm 6000.

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(12, 12), [[288,8]]. Grafting driver (staged with the candidate): candidates are qubits lying in exactly one X-stabilizer or one Z-stabilizer; order randomized with seed 2; a removal is kept iff k stays 8, a fixed-seed NumPy RIS screen at 1500 trials finds nothing lighter than 12, and a fresh-seed confirm at 6000 trials agrees. 7 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 = 276. Wall time 842 s.

Evidence trail

Fresh-seed NumPy RIS ladder on the saved code: 5000 trials -> 12, 20000 trials -> 12, 50000 trials -> 12. The witnesses in the submission are weight-12 (X) and weight-12 (Z) logicals, re-verified by the GF(2) stack. Claim: d <= 12, 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*144 + i*12 + j. Rebuild the base with

import sys; sys.path.insert(0, "research/local2d")
from planar import build_open_directional
HX, HZ = build_open_directional(12, 12)   # [[288,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 135 (max weight 6) · Z-checks 133 (max weight 6)
H_X (135 checks, sparse supports)
[0, 139, 140] [1, 140, 141] [2, 141, 142] [3, 142, 143] [4, 143, 144] [5, 144, 145] [6, 145, 146] [7, 146, 147] [8, 147, 148] [9, 148, 149] [0, 12, 151, 152] [1, 13, 152, 153] [2, 14, 153, 154] [3, 15, 154, 155] [4, 16, 155, 156] [5, 17, 156, 157] [6, 18, 157, 158] [7, 19, 158, 159] [8, 20, 159, 160] [9, 21, 160, 161] [2, 12, 24, 138, 163, 164] [3, 13, 25, 139, 164, 165] [4, 14, 26, 140, 165, 166] [5, 15, 27, 141, 166, 167] [6, 16, 28, 142, 167, 168] [7, 17, 29, 143, 168, 169] [8, 18, 30, 144, 169, 170] [9, 19, 31, 145, 170, 171] [10, 20, 32, 146, 171, 172] [11, 21, 33, 147, 172, 173] [14, 24, 36, 150, 175, 176] [15, 25, 37, 151, 176, 177] [16, 26, 38, 152, 177, 178] [17, 27, 39, 153, 178, 179] [18, 28, 40, 154, 179, 180] [19, 29, 41, 155, 180, 181] [20, 30, 42, 156, 181, 182] [21, 31, 43, 157, 182, 183] [22, 32, 44, 158, 183, 184] [23, 33, 45, 159, 184, 185] [26, 36, 47, 162, 187, 188] [27, 37, 48, 163, 188, 189] [28, 38, 49, 164, 189, 190] [29, 39, 50, 165, 190, 191] [30, 40, 51, 166, 191, 192] [31, 41, 52, 167, 192, 193] [32, 42, 53, 168, 193, 194] [33, 43, 54, 169, 194, 195] [34, 44, 55, 170, 195, 196] [35, 45, 56, 171, 196, 197] [38, 47, 59, 174, 199, 200] [39, 48, 60, 175, 200, 201] [40, 49, 61, 176, 201, 202] [41, 50, 62, 177, 202, 203] [42, 51, 63, 178, 203, 204] [43, 52, 64, 179, 204, 205] [44, 53, 65, 180, 205, 206] [45, 54, 66, 181, 206, 207] [46, 55, 67, 182, 207, 208] [49, 59, 71, 186, 210, 211] [50, 60, 72, 187, 211, 212] [51, 61, 73, 188, 212, 213] [52, 62, 74, 189, 213, 214] [53, 63, 75, 190, 214, 215] [54, 64, 76, 191, 215, 216] [55, 65, 77, 192, 216, 217] [56, 66, 78, 193, 217, 218] [57, 67, 79, 194, 218, 219] [58, 68, 80, 195, 219, 220] [61, 71, 82, 198, 222, 223] [62, 72, 83, 199, 223, 224] [63, 73, 84, 200, 224, 225] [64, 74, 85, 201, 225, 226] [65, 75, 86, 202, 226, 227] [66, 76, 87, 203, 227, 228] [67, 77, 88, 204, 228, 229] [68, 78, 89, 205, 229, 230] [69, 79, 90, 206, 230, 231] [70, 80, 91, 207, 231, 232] [73, 82, 94, 209, 234, 235] [74, 83, 95, 210, 235, 236] [75, 84, 96, 211, 236, 237] [76, 85, 97, 212, 237, 238] [77, 86, 98, 213, 238, 239] [78, 87, 99, 214, 239, 240] [79, 88, 100, 215, 240, 241] [80, 89, 101, 216, 241, 242] [81, 90, 102, 217, 242, 243] [84, 94, 106, 221, 245, 246] [85, 95, 107, 222, 246, 247] [86, 96, 108, 223, 247, 248] [87, 97, 109, 224, 248, 249] [88, 98, 110, 225, 249, 250] [89, 99, 111, 226, 250, 251] [90, 100, 112, 227, 251, 252] [91, 101, 113, 228, 252, 253] [92, 102, 114, 229, 253, 254] [93, 103, 115, 230, 254, 255] [96, 106, 118, 233, 257, 258] [97, 107, 119, 234, 258, 259] [98, 108, 120, 235, 259, 260] [99, 109, 121, 236, 260, 261] [100, 110, 122, 237, 261, 262] [101, 111, 123, 238, 262, 263] [102, 112, 124, 239, 263, 264] [103, 113, 125, 240, 264, 265] [104, 114, 126, 241, 265, 266] [105, 115, 127, 242, 266, 267] [108, 118, 244, 268, 269] [109, 119, 130, 245, 269] [110, 120, 246, 270] [111, 121, 131, 247, 270, 271] [112, 122, 132, 248, 271, 272] [113, 123, 249, 272, 273] [114, 124, 133, 250, 273, 274] [115, 125, 134, 251, 274] [116, 126, 135, 252] [117, 127, 136, 253, 275] [120, 256] [121, 130, 257] [122, 258] [123, 131, 259] [124, 132, 260] [125, 261] [126, 133, 262] [127, 134, 263] [128, 135, 264] [129, 136, 265] [131, 268] [132, 269] [133, 270] [134, 271] [135, 272] [136, 273] [137, 274]
H_Z (133 checks, sparse supports)
[24, 138, 150] [0, 25, 139, 151] [0, 1, 26, 140, 152, 162] [1, 2, 27, 141, 153, 163] [2, 3, 28, 142, 154, 164] [3, 4, 29, 143, 155, 165] [4, 5, 30, 144, 156, 166] [5, 6, 31, 145, 157, 167] [6, 7, 32, 146, 158, 168] [7, 8, 33, 147, 159, 169] [8, 9, 34, 148, 160, 170] [9, 10, 35, 149, 161, 171] [10, 11, 172] [11, 173] [36, 150, 162] [12, 37, 151, 163] [12, 13, 38, 152, 164, 174] [13, 14, 39, 153, 165, 175] [14, 15, 40, 154, 166, 176] [15, 16, 41, 155, 167, 177] [16, 17, 42, 156, 168, 178] [17, 18, 43, 157, 169, 179] [18, 19, 44, 158, 170, 180] [19, 20, 45, 159, 171, 181] [20, 21, 46, 160, 172, 182] [21, 22, 161, 173, 183] [22, 23, 184] [23, 185] [47, 162, 174] [24, 48, 163, 175] [24, 25, 49, 164, 176, 186] [25, 26, 50, 165, 177, 187] [26, 27, 51, 166, 178, 188] [27, 28, 52, 167, 179, 189] [28, 29, 53, 168, 180, 190] [29, 30, 54, 169, 181, 191] [30, 31, 55, 170, 182, 192] [31, 32, 56, 171, 183, 193] [32, 33, 57, 172, 184, 194] [33, 34, 58, 173, 185, 195] [34, 35, 196] [35, 197] [59, 174, 186] [36, 60, 175, 187] [36, 37, 61, 176, 188, 198] [37, 38, 62, 177, 189, 199] [38, 39, 63, 178, 190, 200] [39, 40, 64, 179, 191, 201] [40, 41, 65, 180, 192, 202] [41, 42, 66, 181, 193, 203] [42, 43, 67, 182, 194, 204] [43, 44, 68, 183, 195, 205] [44, 45, 69, 184, 196, 206] [45, 46, 70, 185, 197, 207] [46, 208] [71, 186, 198] [47, 72, 187, 199] [47, 48, 73, 188, 200, 209] [48, 49, 74, 189, 201, 210] [49, 50, 75, 190, 202, 211] [50, 51, 76, 191, 203, 212] [51, 52, 77, 192, 204, 213] [52, 53, 78, 193, 205, 214] [53, 54, 79, 194, 206, 215] [54, 55, 80, 195, 207, 216] [55, 56, 81, 196, 208, 217] [56, 57, 197, 218] [57, 58, 219] [58, 220] [82, 198, 209] [59, 83, 199, 210] [59, 60, 84, 200, 211, 221] [60, 61, 85, 201, 212, 222] [61, 62, 86, 202, 213, 223] [62, 63, 87, 203, 214, 224] [63, 64, 88, 204, 215, 225] [64, 65, 89, 205, 216, 226] [65, 66, 90, 206, 217, 227] [66, 67, 91, 207, 218, 228] [67, 68, 92, 208, 219, 229] [68, 69, 93, 220, 230] [69, 70, 231] [70, 232] [94, 209, 221] [71, 95, 210, 222] [71, 72, 96, 211, 223, 233] [72, 73, 97, 212, 224, 234] [73, 74, 98, 213, 225, 235] [74, 75, 99, 214, 226, 236] [75, 76, 100, 215, 227, 237] [76, 77, 101, 216, 228, 238] [77, 78, 102, 217, 229, 239] [78, 79, 103, 218, 230, 240] [79, 80, 104, 219, 231, 241] [80, 81, 105, 220, 232, 242] [81, 243] [106, 221, 233] [82, 107, 222, 234] [82, 83, 108, 223, 235, 244] [83, 84, 109, 224, 236, 245] [84, 85, 110, 225, 237, 246] [85, 86, 111, 226, 238, 247] [86, 87, 112, 227, 239, 248] [87, 88, 113, 228, 240, 249] [88, 89, 114, 229, 241, 250] [89, 90, 115, 230, 242, 251] [90, 91, 116, 231, 243, 252] [91, 92, 117, 232, 253] [92, 93, 254] [93, 255] [118, 233, 244] [94, 119, 234, 245] [94, 95, 120, 235, 246, 256] [95, 96, 121, 236, 247, 257] [96, 97, 122, 237, 248, 258] [97, 98, 123, 238, 249, 259] [98, 99, 124, 239, 250, 260] [99, 100, 125, 240, 251, 261] [100, 101, 126, 241, 252, 262] [101, 102, 127, 242, 253, 263] [102, 103, 128, 243, 254, 264] [103, 104, 129, 255, 265] [104, 105, 266] [105, 267] [106, 130, 245, 257] [107, 108, 131, 247, 259, 268] [108, 109, 132, 248, 260, 269] [110, 111, 133, 250, 262, 270] [111, 112, 134, 251, 263, 271] [112, 113, 135, 252, 264, 272] [113, 114, 136, 253, 265, 273] [114, 115, 137, 254, 266, 274] [117, 275]
Code ID 276-8-12 · download JSON · raw on GitHub