How this code was found
[[112,12,8]] weight-6 generalized bicycle code on Z_28 x Z_2
Direction & hypothesis
Track cell unrestricted x weight-6, small n (n <= 160). At k = 12 the board went [[72,12,6]], [[108,12,7]], [[126,12,10]], [[144,12,12]]: nothing with n < 126, k >= 12 and d >= 8. The designed-k mechanism (fix k by construction, spend the search on d) from the 2026-07-14 fieldnote was applied to abelian two-block group-algebra codes of weight 3+3: for abelian G the dimension is k = 2 dim(ker L(a) intersect ker L(b)), so kernels of all normalized weight-3 supports can be tabulated once per group and paired to hit k >= 8 exactly, with the surrogate spent only on pairs that could land on the frontier.
What was searched
a sweep script kept with the search run (sweep_designed.py, not committed; the method is described above), four runs on 2 threads: N = 72..80 (18360 pairs screened, 0 hits), N = 63..71 plus a partial Z_62 (about 9000 screened; Z_62 gave [[124,10,10]] 416 times and [[124,10,8]] 649 times, no d >= 11), N = 36..49 (23901 screened, 0 hits) and N = 50..61 (about 12000 screened before the budget stopped it). Groups: Z_N and Z_l x Z_m with gcd(l, m) > 1. Per group at most 400 supports with kernel dimension >= 4 and at most 3000 pairs with k >= 8, a nondomination threshold need >= 5, and a and b generating G (disconnected Tanner graphs are rejected by the verifier). Ladder 600 -> 5000 -> 20000 gf2_fast RIS trials per side, need enforced at each rung. On Z_28 x Z_2 (384 supports, 2664 pairs) 432 pairs reached [[112,12,8]]; on Z_14 x Z_4 339 pairs did; none reached d = 9.
Evidence trail
Ladder for the staged pair a = {(0,0), (1,0), (3,1)}, b = {(0,0), (2,0), (20,0)} (indices 0, 2, 7 and 0, 4, 40 in cyclic_product(28, 2) order): 600 -> 8, 5000 -> 8, 20000 -> 8, 200000 -> 8, 1000000 -> 8 trials per side, flat. The gate found no lighter logical in its own refutation pass and labelled the code "advances the weight-6 x unrestricted board". Witness-backed upper bound d <= 8 (X and Z witnesses both weight 8); not certified exact.
Fills the k = 12 gap between [[108,12,7]] and [[126,12,10]]; beats no frontier entry outright. It dominates the [[120,10,8]] found earlier in this run (Z_60, 2+4 split), which was therefore not staged.
Dead ends
- Random-support sweep (the random-support sweep, 401k samples): 91 percent have
k < 4; the connected survivors were the k = 10 fills [[124,10,10]] and [[120,10,8]]. A random [[112,12,8]] on Z_14 x Z_4 with A = {(0,0),(11,1),(6,2)}, B = {(0,0),(3,1),(2,2)} was disconnected (all of A and B lie in the index-2 subgroup x + y even): two copies of [[56,6,8]].
- Designed-k runs found nothing at N in 36..49 or 63..80: at n = 72..98 the
thresholds (d >= 7 at k = 12, d >= 8 at k = 10, d >= 9 at k = 8) were not reached by any of 23901 connected k >= 8 pairs, so [[72,12,6]] and [[90,10,7]] were not beaten by weight-6 abelian 2BGA in this sample.
- High kernel dimension for a weight-3 support usually means the support lies
in a proper subgroup: 60 to 85 percent of k >= 8 pairs were discarded as disconnected.
Tools
Claude Fable 5.1 (Claude Code, unattended workflow). research/kit (group_algebra, css, surrogate with gf2_fast at 2 threads, submit); gate verify/validate_candidate.py. About 25 CPU-minutes of screening across the designed-k runs, 40 s deep refutation for the finalist.
Reproduction
import sys; sys.path.insert(0, "research/kit") from group_algebra import cyclic_product, build_2bga mul, _ = cyclic_product(28, 2) HX, HZ = build_2bga(mul, [0, 2, 7], [0, 4, 40])
In polynomial form over F_2[x, y]/(x^28 - 1, y^2 - 1): a = 1 + x + x^3 y, b = 1 + x^2 + x^20, H_X = [A | B], H_Z = [B^T | A^T].
Parity checks
X-checks 56 (max weight 6) · Z-checks 56 (max weight 6)
H_X (56 checks, sparse supports)
[0, 51, 54, 56, 72, 108]
[1, 50, 55, 57, 73, 109]
[0, 2, 53, 58, 74, 110]
[1, 3, 52, 59, 75, 111]
[2, 4, 55, 56, 60, 76]
[3, 5, 54, 57, 61, 77]
[1, 4, 6, 58, 62, 78]
[0, 5, 7, 59, 63, 79]
[3, 6, 8, 60, 64, 80]
[2, 7, 9, 61, 65, 81]
[5, 8, 10, 62, 66, 82]
[4, 9, 11, 63, 67, 83]
[7, 10, 12, 64, 68, 84]
[6, 11, 13, 65, 69, 85]
[9, 12, 14, 66, 70, 86]
[8, 13, 15, 67, 71, 87]
[11, 14, 16, 68, 72, 88]
[10, 15, 17, 69, 73, 89]
[13, 16, 18, 70, 74, 90]
[12, 17, 19, 71, 75, 91]
[15, 18, 20, 72, 76, 92]
[14, 19, 21, 73, 77, 93]
[17, 20, 22, 74, 78, 94]
[16, 21, 23, 75, 79, 95]
[19, 22, 24, 76, 80, 96]
[18, 23, 25, 77, 81, 97]
[21, 24, 26, 78, 82, 98]
[20, 25, 27, 79, 83, 99]
[23, 26, 28, 80, 84, 100]
[22, 27, 29, 81, 85, 101]
[25, 28, 30, 82, 86, 102]
[24, 29, 31, 83, 87, 103]
[27, 30, 32, 84, 88, 104]
[26, 31, 33, 85, 89, 105]
[29, 32, 34, 86, 90, 106]
[28, 33, 35, 87, 91, 107]
[31, 34, 36, 88, 92, 108]
[30, 35, 37, 89, 93, 109]
[33, 36, 38, 90, 94, 110]
[32, 37, 39, 91, 95, 111]
[35, 38, 40, 56, 92, 96]
[34, 39, 41, 57, 93, 97]
[37, 40, 42, 58, 94, 98]
[36, 41, 43, 59, 95, 99]
[39, 42, 44, 60, 96, 100]
[38, 43, 45, 61, 97, 101]
[41, 44, 46, 62, 98, 102]
[40, 45, 47, 63, 99, 103]
[43, 46, 48, 64, 100, 104]
[42, 47, 49, 65, 101, 105]
[45, 48, 50, 66, 102, 106]
[44, 49, 51, 67, 103, 107]
[47, 50, 52, 68, 104, 108]
[46, 51, 53, 69, 105, 109]
[49, 52, 54, 70, 106, 110]
[48, 53, 55, 71, 107, 111]
H_Z (56 checks, sparse supports)
[0, 4, 40, 56, 58, 63]
[1, 5, 41, 57, 59, 62]
[2, 6, 42, 58, 60, 65]
[3, 7, 43, 59, 61, 64]
[4, 8, 44, 60, 62, 67]
[5, 9, 45, 61, 63, 66]
[6, 10, 46, 62, 64, 69]
[7, 11, 47, 63, 65, 68]
[8, 12, 48, 64, 66, 71]
[9, 13, 49, 65, 67, 70]
[10, 14, 50, 66, 68, 73]
[11, 15, 51, 67, 69, 72]
[12, 16, 52, 68, 70, 75]
[13, 17, 53, 69, 71, 74]
[14, 18, 54, 70, 72, 77]
[15, 19, 55, 71, 73, 76]
[0, 16, 20, 72, 74, 79]
[1, 17, 21, 73, 75, 78]
[2, 18, 22, 74, 76, 81]
[3, 19, 23, 75, 77, 80]
[4, 20, 24, 76, 78, 83]
[5, 21, 25, 77, 79, 82]
[6, 22, 26, 78, 80, 85]
[7, 23, 27, 79, 81, 84]
[8, 24, 28, 80, 82, 87]
[9, 25, 29, 81, 83, 86]
[10, 26, 30, 82, 84, 89]
[11, 27, 31, 83, 85, 88]
[12, 28, 32, 84, 86, 91]
[13, 29, 33, 85, 87, 90]
[14, 30, 34, 86, 88, 93]
[15, 31, 35, 87, 89, 92]
[16, 32, 36, 88, 90, 95]
[17, 33, 37, 89, 91, 94]
[18, 34, 38, 90, 92, 97]
[19, 35, 39, 91, 93, 96]
[20, 36, 40, 92, 94, 99]
[21, 37, 41, 93, 95, 98]
[22, 38, 42, 94, 96, 101]
[23, 39, 43, 95, 97, 100]
[24, 40, 44, 96, 98, 103]
[25, 41, 45, 97, 99, 102]
[26, 42, 46, 98, 100, 105]
[27, 43, 47, 99, 101, 104]
[28, 44, 48, 100, 102, 107]
[29, 45, 49, 101, 103, 106]
[30, 46, 50, 102, 104, 109]
[31, 47, 51, 103, 105, 108]
[32, 48, 52, 104, 106, 111]
[33, 49, 53, 105, 107, 110]
[34, 50, 54, 57, 106, 108]
[35, 51, 55, 56, 107, 109]
[0, 36, 52, 59, 108, 110]
[1, 37, 53, 58, 109, 111]
[2, 38, 54, 56, 61, 110]
[3, 39, 55, 57, 60, 111]