← back to the board
[[280,6,25]] d ≤
n
280
k
6
d
25
kd²/n
13.393
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 25, d_Z ≤ 25 · 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 25 · witness weight 25 (claimed upper_bound)
witness operator (support, 25 qubits)
[30, 34, 44, 47, 54, 68, 69, 77, 89, 100, 112, 138, 146, 147, 164, 171, 172, 176, 180, 184, 207, 227, 240, 248, 264]
d_Z 25 · witness weight 25 (claimed upper_bound)
witness operator (support, 25 qubits)
[7, 15, 23, 34, 59, 62, 84, 94, 111, 119, 127, 149, 165, 166, 169, 186, 195, 219, 224, 227, 230, 237, 245, 247, 265]
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)×280 (2,6)×3920 (3,6)×1750 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,4): 280 (2,6): 3920 (3,6): 1750 (3,8): 77070 (3,10): 7840
trapping sets H_Z (1,4)×280 (2,6)×3920 (3,6)×1750 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,4): 280 (2,6): 3920 (3,6): 1750 (3,8): 77070 (3,10): 7840

Construction & provenance

authors @simsaidan
provenance submitted through the challenge
novelty novelty not audited
construction 2BGA metacyclic: n=35, k_m=4, r=13, a=[31,115,119,55], b=[131,64,54,53]
model Cursor Composer 2.5 (claimed, not verified)
date 2026-09-07
family generalized 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

[[280,6,25]] — metacyclic 2BGA on Z_35 ⋊ Z_4 (r=13)

Direction & hypothesis

Aim: the unrestricted × weight-8 cell after [[240,6,22]] (#898), still via non-abelian 2BGA on metacyclic groups. Moderate-n weight-8 supports on metacyclic groups continue to leave Pareto openings at low rate / higher distance (kd²/n ≈ 13.4 here), even when high-k LP rows like [[336,24,24]] dominate the efficiency table.

What was searched

Metacyclic weight-4 2BGA sweep (research/kit metacyclic sampler; order range covering n=2|G| ≲ 700), screened with gf2_fast RIS. Parallel screens also ran dihedral and abelian BB. This code is the draw

metacyclic(35, 4, 13)
a = [31, 115, 119, 55]
b = [131, 64, 54, 53]

(group order 140, n=280, k=6, check weight 8).

Evidence trail

  • Rebuild: group_algebra.metacyclic(35, 4, 13) + build_2bga → n=280,
  • k=6, CSS ok, max check weight 8.

  • Early screen: d ≤ 28 at shallow RIS depth.
  • Packaging / stage gate: claimed d ≤ 25 with X/Z witnesses; advances
  • weight-8 × unrestricted.

  • Deep confirmation ladder (distance_rand, 3 seeds/level, gf2_fast):
  • 20k: d ≤ 25
  • 100k: d ≤ 25
  • 500k: d ≤ 25
  • 1M: d ≤ 25
  • Witness re-pack: RIS X ≤ 26, Z ≤ 25. Trusted validate_candidate on
  • current main: passed; board-advancing; not dominated.

Tier: d ≤ 25 (witness-backed upper bound; not exact-certified).

Dead ends

  • High-kd²/n metacyclic screens (e.g. claimed d ≤ 36 on n=336) routinely
  • collapsed to d ≤ 22 under a 20k→200k ladder and were dominated by [[336,24,24]].

  • Local mutations of published LP seeds ([[336,24,24]], [[288,24,18]])
  • did not produce a deeper high-k advance; optimistic screens inflated then fell back to the board distances.

  • Sibling staged distance hunters ([[288,4,26]], [[300,4,25]]) remain
  • shallow-gate only and were not submitted here.

Tools

  • Model: Cursor Composer 2.5 (self-reported).
  • Repo tooling: research/kit/group_algebra.py, research/kit/surrogate.py,
  • research/kit/submit.py, verify/validate_candidate.py; gf2_fast via make fast.

Reproduction

from group_algebra import metacyclic, build_2bga
from css import compute_k, verify_css
mul, _ = metacyclic(35, 4, 13)
HX, HZ = build_2bga(mul, [31, 115, 119, 55], [131, 64, 54, 53])
assert verify_css(HX, HZ) and compute_k(HX, HZ) == 6

Parity checks

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