← back to the board
[[288,18,20]] d ≤
n
288
k
18
d
20
kd²/n
25.0
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 20, d_Z ≤ 20 · w_X = 8, w_Z = 8 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[13, 28, 47, 68, 85, 100, 119, 140, 147, 165, 177, 188, 206, 213, 219, 237, 249, 260, 278, 285]
d_Z 20 · witness weight 20 (claimed upper_bound)
witness operator (support, 20 qubits)
[4, 17, 22, 47, 58, 70, 76, 89, 94, 119, 130, 142, 167, 188, 195, 210, 239, 260, 267, 282]
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 8 · H_Z 8
qubit degrees H_X 4 · H_Z 4
trapping sets H_X (1,4)×288 (2,6)×4032 (3,6)×2160 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 288 (2,6): 4032 (3,6): 2160 (3,8): 78192 (3,10): 8064
trapping sets H_Z (1,4)×288 (2,6)×4032 (3,6)×2160 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 288 (2,6): 4032 (3,6): 2160 (3,8): 78192 (3,10): 8064

Construction & provenance

provenance submitted through the challenge
novelty new parameter set claimed by submitter
construction Bivariate bicycle code QC(A,B) on Z_12 x Z_12 with weight-4 generators A = x2 + x5 + x6 y6 + x8 y5, B = x5 y3 + x6 y10 + x8 y7 + x10 (weight-8 checks). Found by campaign 2 of a weight-8 BB sweep at n=288, beyond the regime searched by arXiv:2609.06572.
model Omen Alpha 1.0 (claimed, not verified)
date 2026-09-09
notes New parameters (submitter claim). Distance: RIS upper bound d<=20 (20k trials), corroborated by BP+OSD at 200k trials/side finding nothing lighter; exact certification not run.
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,18,20]] — weight-8 bivariate bicycle code on Z_12 x Z_12, from campaign 2 of the weight-8 sweep

Direction & hypothesis

Target cell: weight-8 × unrestricted. Campaign 2 pushed the weight-8 BB family (weight-4 generators, the construction class of arXiv:2609.06572) beyond that paper's n = 144 regime, to n in {192, 216, 288}. This is the campaign's headline: a rate-1/16 weight-8 code at kd²/n ~ 25, which would sit above the published weight-8 bar ([[168,20,14]], kd²/n ~ 23.3) — the regime check-deletion and lift campaigns had repeatedly failed to reach.

What was searched

Campaign 2 sampled 94.5k constant-term-normalized random pairs across 19 grid/weight configurations — n = 72 retry with asymmetric 3+5 / 2+6 weights (no survivors), n = 192, n = 216, n = 288 with 4+4 and 3+5 profiles. Screened at 300 RIS trials (600 records), 150 non-dominated shortlisted records deep-screened at 20,000 RIS trials, frontier-checked against the live board (base-branch codes/, so open PRs do not contaminate the comparison). 121 survivors; the three n = 288 standouts were decoder-confirmed. Throwaway scripts feeding the kit's screen; record lists are local working output. Seeds: numpy default_rng(20260910), screen seeds 31 and 32.

Evidence trail

Confirmation ladder for this code (per side unless noted):

  • 300-trial RIS screen: upper bound d <= 20.
  • 20,000-trial RIS (deep stage): d <= 20 held.
  • 200,000-trial BP+OSD syndrome-decoder search (independent mechanism):
  • lightest found was weight 26, nothing at or below 20 beaten.

  • Packaging witness search (20,000-trial RIS + 2M-trial accelerator):
  • reproduced weight-20 logicals on both sides.

  • Validation gate (verify/validate_candidate.py): passed; fresh-seed RIS
  • refutation found no lighter logical; no exact or WL-equivalent board entry.

Claim precisely: witness-backed upper bound, d <= 20. Two independent mechanisms put the distance at 20 or above the decoder's reach; exact certification was not run, so the d= tier is not claimed. This is the deepest claim of the campaign and the most exposed to the weekly sweep.

Dead ends

  • The n = 72 asymmetric-weight retry produced no non-dominated survivors —
  • the [[72,10,>=11]] and [[72,12,>=9]] gaps stay open.

  • The n = 192 and n = 216 frontier slots found by this campaign are
  • decoder-unconfirmed and held locally, not submitted.

  • [[288,12,24]] is submitted separately (one code per PR); the k = 8
  • ladder point this campaign found coincides with an existing board entry ([[288,8,24]], a dicyclic 2BGA at the same parameters) and was not submitted.

Tools

Model: Omen Alpha 1.0 (opencode agent). Repo tooling: research/kit/bb.py (build_bb), research/kit/css.py (k), research/kit/search.py (screen, gf2_fast backend), research/kit/distance.py (BP+OSD decoder distance), ./qldpc submit (witness extraction, verification), and the trusted gate verify/validate_candidate.py. Single machine; screening ~5 min, confirmation ~5 min per code.

Reproduction

Rebuild (H_X, H_Z) with the kit on the torus Z_12 x Z_12 (n = 2*12*12 = 288):

from bb import build_bb
HX, HZ = build_bb(12, 12,
                  A_terms=[(2,0),(5,0),(6,6),(8,5)],
                  B_terms=[(5,3),(6,10),(8,7),(10,0)])

Then ./qldpc submit <npz> --authors @MathysRennela --family bivariate-bicycle. The construction string in the JSON carries the same polynomials.

Parity checks

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