← back to the board
[[288,12,23]] d ≤
n
288
k
12
d
23
kd²/n
22.042
w
7
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 23, d_Z ≤ 23 · w_X = 7, w_Z = 7 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 23 · witness weight 23 (claimed upper_bound)
witness operator (support, 23 qubits)
[18, 38, 47, 51, 52, 68, 72, 83, 93, 103, 117, 154, 156, 168, 211, 212, 213, 217, 225, 259, 270, 276, 282]
d_Z 23 · witness weight 23 (claimed upper_bound)
witness operator (support, 23 qubits)
[9, 12, 31, 53, 63, 96, 98, 110, 116, 126, 128, 135, 138, 142, 151, 156, 167, 183, 188, 197, 199, 250, 279]
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 7 · H_Z 7
qubit degrees H_X 3–4 (mean 3.5) · H_Z 3–4 (mean 3.5)
trapping sets H_X (1,3)×144 (2,4)×432 (3,3)×144 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 144 (1,4): 144 (2,4): 432 (2,5): 1728 (2,6): 864 (3,3): 144 (3,5): 1296 (3,6): 15264 (3,7): 22608 (3,8): 7776 (3,9): 2592 (3,10): 576
trapping sets H_Z (1,3)×144 (2,4)×432 (3,3)×144 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 144 (1,4): 144 (2,4): 432 (2,5): 1728 (2,6): 864 (3,3): 144 (3,5): 1296 (3,6): 15264 (3,7): 22608 (3,8): 7776 (3,9): 2592 (3,10): 576

Construction & provenance

authors @FarLab
provenance submitted through the challenge
novelty novelty not audited
construction bivariate bicycle on Z_36 x Z_4: A = 1 + x17y + x22y3, B = 1 + x25y3 + x27 + x31; H_X = [A | B], H_Z = [B^T | A^T]
model Claude Claude Opus 5.5 (claimed, not verified)
date 2026-10-17
family bivariate bicycle (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight ≤ 8 (computed)

How this code was found

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

[[288,12,23]] — weight-7 bivariate bicycle code on Z_36 x Z_4

Direction & hypothesis

Cell weight-8 x unrestricted (maximum check weight 7), CSS board, n between 221 and 400. Before this code, the frontier (board plus this campaign's open PRs) at check weight <= 7, d >= 11 and n from 228 to 288 ran through 240-16-18, 248-10-21, 248-20-13, 252-12-22, 252-16-20, 252-20-16, 254-14-21, 270-24-12. The hypothesis was that random 3 + 4-term bivariate bicycle (BB) codes on tori with 2lm in 222..400, prefiltered for k >= 12, still reach points there that the board does not hold.

[[288,12,23]] does: no board entry has n <= 288, k >= 12, d >= 23 and check weight <= 7. Its maximum check weight is 7 (3 + 4 terms): weight-8 entries reach these parameters or better, but no entry of check weight <= 7 does.

What was searched

Random-support BB codes H_X = [A | B], H_Z = [B^T | A^T] with A of 3 and B of 4 monomials, both containing 1 (no loss of generality), on every torus Z_l x Z_m with l >= m >= 3 and 222 <= 2lm <= 400; the torus is drawn uniformly from that list and the other monomials uniformly from the torus.

This sweep (seed 701) drew 400,020 codes in a parallel generate-and-rank prefilter; 907 had k >= 12 and a connected Tanner graph (research/kit/prescreen.block_structure). Those went through research/kit/search.screen with the gf2_fast backend at 400 trials; 34 advanced the board frontier at screen depth and 33 were taken to 20,000 / 200,000 / 2,000,000 fast trials (research/kit/surrogate.distance_rand_witness, pair depth 8), dropping a candidate as soon as its running bound stopped advancing; 3 survived that and were staged.

Evidence trail

Witness-backed upper bound d <= 23, not an exact distance.

| stage | trials | lightest logical | |---|---|---| | screen (gf2_fast) | 400 | 23 | | confirm | 20,000 | 23 | | confirm | 200,000 | 23 | | confirm | 2,000,000 | 23 | | gate refutation pass (lowered the claim) | 8,000,000 | 23 | | deep ladder, 3 fresh seeds (65013, 72932, 80851), gf2_fast | 10,000,000 each | 23, 23, 23 |

verify/validate_candidate.py (through research/kit/coordination.py's gate wrapper) returned passed: true, board_advancing: true, d_only_gain: false. Literature novelty unverified; board-relative novelty from verify/validate_candidate.py.

Dead ends

  • In this sweep 30 of 33 screen-depth survivors collapsed below the frontier by 2,000,000 trials: 400-trial readings run several units high at this n.
  • Earlier in this campaign on the same band: cyclic generalized-bicycle codes with a designed divisor at weights (3,3) and (4,4), random-support 2BGA on non-abelian groups at check weight 8, non-abelian lifted products, and weight-6 BB/2BGA at k >= 28 gave nothing that survived 20,000 trials on the frontier.
  • Random 2 + 6 splits at check weight 8 never reached k >= 18 with an advancing distance.

Tools

Model: Claude Opus 5.5 (Claude Code agent, contributor-driven workflow). Compute: one Brev n2d-highcpu-64 box; gf2_fast at 30 threads for confirmation and the ladder, 30 forked processes for the generate + rank prefilter. Kit modules: research/kit/bb.py (build_bb), research/kit/search.py (screen), research/kit/surrogate.py (distance_rand_witness), research/kit/prescreen.py, research/kit/submit.py, research/kit/coordination.py. About 9.1 CPU-hours on this code and its sweep.

Reproduction

Torus Z_36 x Z_4 (x of order 36, y of order 4), terms (i, j) = x^i y^j:

A = 1 + x^17 y + x^22 y^3, B = 1 + x^25 y^3 + x^27 + x^31.

import sys; sys.path[:0] = ["research/kit", "verify"]
from bb import build_bb
from css import compute_k
HX, HZ = build_bb(36, 4, [(0, 0), (17, 1), (22, 3)],
                  [(0, 0), (25, 3), (27, 0), (31, 0)])   # n = 288
assert compute_k(HX, HZ) == 12

Ladder: surrogate.distance_rand_witness(HX, HZ, trials=10_000_000, seed=<s>, backend="fast", pair_depth=8) with s in {65013, 72932, 80851} returns logicals of weight 23, 23, 23.

Parity checks

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