← back to the board
[[154,6,11]] d =
n
154
k
6
d
11
kd²/n
4.714
w
5
X/Z
1
g
0.0036
r
6.0
layers
2
swaps
712

Share this result

Distance

X/Z asymmetry 1 · d_X = 11, d_Z = 11 · w_X = 5, w_Z = 5 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 11 · witness weight 11 (claimed upper_bound)
witness operator (support, 11 qubits)
[49, 78, 82, 94, 102, 110, 114, 118, 122, 126, 139]
d_Z 11 · witness weight 11 (claimed upper_bound)
witness operator (support, 11 qubits)
[22, 26, 42, 58, 78, 85, 92, 107, 114, 121, 128]
certificate exact, d = 11 · CryptoMiniSat 5.14.7 SAT
X: no logical < 11 exists; Z: no logical < 11 exists

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 5 · H_Z 5
qubit degrees H_X 2–3 (mean 2.5) · H_Z 2–3 (mean 2.5)
trapping sets H_X (1,2)×77 (2,2)×77 (3,2)×77 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,2): 77 (1,3): 77 (2,2): 77 (2,3): 462 (2,4): 231 (3,2): 77 (3,3): 1463 (3,4): 2541 (3,5): 924 (3,6): 462 (3,7): 77
trapping sets H_Z (1,2)×77 (2,2)×77 (3,2)×77 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,2): 77 (1,3): 77 (2,2): 77 (2,3): 462 (2,4): 231 (3,2): 77 (3,3): 1463 (3,4): 2541 (3,5): 924 (3,6): 462 (3,7): 77
witness diameter X 10.2956 · Z 7.0711 (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 = 6
X checkZ checkqubit site (77)2 qubits stacked (2 layers)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 712 nearest-neighbor SWAPs per round in total, at most 9 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 @willzeng
provenance submitted through the challenge
novelty novelty not audited
construction Two-block (bicycle) code on the abelian group G = Z_77: A = 1 + t4 + t20, B = 1 + t7 (3-term and 2-term group-algebra elements, so every check has weight 5). H_X = [A | B], H_Z = [B^T | A^T]; elements of Z_d1 x Z_d2 indexed i*d2 + j, shift matrices P_g[h+g, h] = 1. Found by an exhaustive sweep of all weight-(3,2) supports on all abelian groups of order <= 100 ranked by kd2/n; the layout was produced by simulated annealing over integer grid sites with at most 2 qubits per site (research/local2d/fold_layout.py::anneal).
model Claude Claude Fable 5.1 (claimed, not verified)
date 2026-09-02
notes Distance is a witnessed UPPER BOUND (RIS witness search, 20000 Python trials plus a 2,000,000-trial accelerator pass at packaging; earlier confirmation ladders in notes/154-6-11.md); novelty vs the literature unverified. Equivalence check: verify/validate_candidate.py dedup found no identical or WL-equivalent entry on the board. Layout: simulated annealing over integer grid sites with at most 2 qubits per site (research/local2d/fold_layout.py::anneal), 2 layers, measured interaction radius 6.0000; the verifier derives the locality class. Search driven by Claude Fable 5.1 as one lane of a multi-agent campaign.
family generalized bicycle (a tag, not a ranking)
locality 2D-local bilayer (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

[[154,6,11]] — weight-5 cyclic generalized bicycle code on Z_77 with a two-layer 2D-local layout

Direction & hypothesis

Target: the check-weight-5 slice of the weight-6 boards. The board has no weight-5 cell, so a weight-5 code competes on the weight-6 boards and earns its place on the Pareto frontier through its lower check weight. The best weight <= 5 code before this campaign was codes/40-10-4.json at kd^2/n = 4.00. Hypothesis: two-block group-algebra codes with a 3-term and a 2-term generator (check weight 5) beat 4.00 when the group and supports are swept exhaustively.

What was searched

Every abelian group of order 12 to 100 (all Z_d1 x Z_d2 with d1 | d2, which covers cyclic groups and twisted tori), all supports A = {0, a, b}, B = {0, c}, H_X = [A | B], H_Z = [B^T | A^T]. k was computed algebraically first (k = 2 dim F_2[G/<c>]/(f-bar); 1.44 million evaluations, about 13 minutes on 2 cores) and only the 61,425 supports with k >= 4 were distance-screened at 300 RIS trials per side (gf2_fast). Ranking by kd^2/n.

This code, G = Z_77 with A = 1 + t^4 + t^20, B = 1 + t^7, is the second-best point of the sweep after [[182,6,12]] on Z_91 (submitted separately). Cyclic groups won at every block size; the twisted tori never beat them.

Evidence trail

Confirmation ladder (RIS trials per side -> lightest logical): 300 -> 11, 2,000 -> 11, 20,000 -> 11, 20,000 (second seed) -> 11, 100,000 -> 11. The qldpc submit witness search (20,000 Python RIS trials plus a 2,000,000-trial accelerator pass) produced the witnesses in the JSON and found nothing lighter. verify/validate_candidate.py passed: refutation held, not a duplicate or WL-equivalent of any board entry.

Claim, stated precisely: d <= 11 on both sides is a **witness-backed upper bound**, flat through 100,000 trials per side. No exact certificate.

Companion candidates from the sweep, none of which collapsed under deeper search: [[182,6,12]] (4.75), [[120,8,8]] on Z_60 (4.27), [[96,8,7]] (4.08), [[48,4,7]] on Z_24 (4.08, flat to 50,000 trials), [[36,4,6]] on Z_3 x Z_6 (4.00).

Dead ends

  • Weight 4 is closed in this family: with A = 1 + u, B = 1 + v the code is a
  • disjoint union of toric codes on a twisted torus and kd^2/n <= 2 exactly; a 77-group non-abelian pilot also never exceeded 2.000.

  • The weight-(3,2) family saturates near kd^2/n = 4.75 because k is
  • structurally small (4 to 16); nothing in it approaches the weight-6 records.

  • Single-layer layouts (r <= 4.0) were not reached for any weight-5 code here.

Tools

Claude Fable 5.1 driving Claude Code, one lane of a five-agent campaign with a shared append-only notes file. Repo tooling: research/kit/css.py, the gf2_fast RIS backend via research/kit/search.py, research/local2d/fold_layout.py::anneal (2 layers, integer grid sites, 300,000 iterations, box 11x7; the first seed reached r = 6.0), research/kit/submit.py, verify/validate_candidate.py. About 15 core-minutes for the sweep, seconds for the layout.

Reproduction

G = Z_77, element g at index g, shift matrices P_g[h + g, h] = 1. A = P_0 + P_4 + P_20, B = P_0 + P_7, H_X = [A | B], H_Z = [B^T | A^T]; n = 154, k = 6, every row has weight 5. Equivalently research/kit/group_algebra.build_2bga(mul, a=[0, 4, 20], b=[0, 7]) with the Z_77 multiplication table. Layout: `fold_layout.anneal(checks, 154, box_sites(11, 7), layers=2)`; measured interaction radius 6.0, at most 2 qubits per site, unit spacing.

Parity checks

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