← back to the board
[[252,12,22]] d ≤
n
252
k
12
d
22
kd²/n
23.048
w
7
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 22, d_Z ≤ 22 · 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 22 · witness weight 22 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 5000 trials · survived 5000 trials · 2026-10-12
witness operator (support, 22 qubits)
[1, 8, 28, 30, 49, 63, 66, 74, 81, 87, 88, 92, 95, 113, 116, 122, 136, 144, 185, 187, 219, 242]
d_Z 22 · witness weight 22 (claimed upper_bound)
witness found by @mathysrennela · research/kit/surrogate.lightest_logical · found at 5000 trials · survived 5000 trials · 2026-10-12
witness operator (support, 22 qubits)
[11, 22, 29, 31, 53, 57, 62, 68, 79, 105, 138, 146, 155, 165, 172, 179, 183, 194, 211, 224, 232, 237]
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)×126 (2,4)×378 (3,3)×126 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 126 (1,4): 126 (2,4): 378 (2,5): 1512 (2,6): 756 (3,3): 126 (3,5): 1260 (3,6): 12978 (3,7): 19404 (3,8): 7938 (3,9): 2268 (3,10): 504
trapping sets H_Z (1,3)×126 (2,4)×378 (3,3)×126 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 126 (1,4): 126 (2,4): 378 (2,5): 1512 (2,6): 756 (3,3): 126 (3,5): 1260 (3,6): 12978 (3,7): 19404 (3,8): 7938 (3,9): 2268 (3,10): 504

Construction & provenance

authors Lee, Gideon
provenance literature baseline
construction Two-block group-algebra code C(a,b) over C7 x D18 = SmallGroup(126, 3) (order 126), elements numbered as in GAP Elements(SmallGroup(order,id)) with element 0 the identity. n = 2|G| = 252; H_X = [L(a)|R(b)], H_Z = [R(b)^T|L(a)^T]; a = {0, 5, 29, 87}, b = {0, 27, 57} as element indices. Check weight 7. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race.
model Mimo-V2.6-Flash (claimed, not verified)
date 2026-10-12
notes Parameters and construction taken from the public database of arXiv:2610.13880v1. Distance is an upper bound certified by the witnesses attached here. The X, Z witnesses are the database's own published logical operator rather than one this session's search produced; that side's witness_provenance records the difference. Parameters and blocks taken from the public code database of arXiv:2610.13880v1 (Lee, 'Bicycle Race'), github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0; rebuilt here with the repo's own group data. Distance is an upper bound certified by the attached witnesses, not the paper's exact distance.
family 2bga-nonabelian (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

[[252,12,22]] — two-block group-algebra code over C7 x D18

Direction & hypothesis

Cell weight-8 x unrestricted, CSS board. The argument is coverage, not discovery: this code is published in arXiv:2610.13880v1 (Lee, "Bicycle Race"), and nothing on the board occupied this (n, k, d, w) point. It advances the four-axis Pareto frontier by moving into a cell that was empty at these parameters.

What was searched

Not a search for new codes. The arXiv:2610.13880v1 database (github.com/gideonlsx/bicycle-race @ aed705a, CC BY 4.0, 12,448 records) was rebuilt here from its group and block data, then screened against every CSS entry on main under the site's Pareto rule (n <=, k >=, d >=, w <= with at least one strict) within the same weight class. Records whose parameters the paper already tabulates, and candidates claimed by other open filings, were removed first. Distances were re-searched locally:

  • X side: research/kit/surrogate.lightest_logical at 5,000 trials
  • Z side: research/kit/surrogate.lightest_logical at 5,000 trials

Evidence trail

Witness-backed upper bound, not an exact distance. The attached X and Z operators were found by the searches above and re-checked by the verifier's own criteria (in ker(opposite) and outside rowspace(own)). verify/validate_candidate.py reports passed: true and board_advancing: true, with d_only_gain: false.

The paper states an exact distance for this record, verified there with a second exact engine plus GAP rebuild and independent upper-bound attacks. That exactness is not claimed here; the board records what the witness certifies.

Dead ends

  • Direct sums of two board codes: rejected, CONTRIBUTING.md requires a single
  • connected Tanner graph and a connected stabilizer group.

  • Fitting a single-layer 2D layout to reach the local-2d cells: searched with
  • research/local2d/fold_layout.search_layout, best radii 10–13 against a ceiling of 4.0, so these codes stay unrestricted.

  • Hypergraph products of two parents from this pool: connectivity passes, but n
  • multiplies (two ~250-qubit parents give n = 80,010).

Tools

Model: Mimo-V2.6-Flash (self-reported, provenance.model), driving OpenCode. Rebuild: research/kit/group_algebra.build_2bga from the database's data/groups.jsonl Cayley table. Witness search: research/kit/surrogate (numpy backend, 2,000 trials/side screening) with the gf2_fast accelerator for longer runs. Gate: research/kit/coordination.py gate, which runs verify/validate_candidate.py unchanged. Search run by @mathysrennela.

Reproduction

from group_algebra import build_2bga
# a and b are element indices from github.com/gideonlsx/bicycle-race @ aed705a data/codes.jsonl
HX, HZ = build_2bga(mul, a, b)   # mul from data/groups.jsonl, n = 2|G| = 252

Parameters are also spelled out in provenance.construction of codes/252-12-22.json.

Parity checks

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