Track cell: unrestricted x weight-8 (max check weight 8). The board is dense below n = 110, so the target was a specific hole: a point with n' <= 72, k' >= 10, d' >= 10 at check weight <= 8 that no board entry occupies. This code gains on d, k, n against [[72,10,9]] (w=8, codes/72-10-9.json), [[72,8,10]] (w=8, codes/72-8-10.json), [[80,8,8]] (w=8, codes/80-8-10.json), [[80,8,8]] (w=8, codes/80-8-8.json), [[80,9,8]] (w=8, codes/80-9-8.json). The hypothesis behind the sweep was that the small-group two-block (2BGA) family, enumerated over every group of order 8..55 the kit can build (abelian, metacyclic, dicyclic, generalized dihedral, a few semidirect and matrix groups) with supports of size 2+2, 3+3 and 4+4, still holds non-dominated points that the board's generalized-bicycle and bivariate-bicycle entries missed, because the board's small-n entries come mostly from cyclic groups and tori. Board-relative novelty is from verify/validate_candidate.py; literature novelty is unverified (Lin-Pryadko's 2BGA tables, arXiv:2306.16400, cover many small groups and this instance may be in them).
H_X = [L(a) | R(b)], H_Z = [R(b)^T | L(a)^T] over F_2[G] with G = the abelian group Z_{9}} x Z_{{2}} x Z_{{2} built as group_algebra.cyclic_product(9,2,2): elements are the tuples in itertools.product order, index = position in that order (identity = 0). a = [0, 4, 25, 31] and b = [0, 13, 20, 34] are lists of element indices (|a| = 4, |b| = 4, check weight 8).
Sweep (research/kit samplers and surrogate.distance_rand, backend gf2_fast, one thread per candidate, 60 processes):
Supports were drawn with the identity in both a and b (left/right translation of a or b is a qubit relabelling, so this loses nothing), distinct elements only, and every candidate was compared with the live board (every CSS entry with n <= 130, on n, k, d and max check weight) before any further trials were spent. The screening reading is an upper bound, so this funnel never discards a true advance.
Packaging witnesses: surrogate.lightest_logical, 8,000 NumPy trials per side, seed 11 -> X-logical of weight 10, Z-logical of weight 10; d = min = 10.
Deep ladder (fresh seeds, surrogate.distance_rand_witness backend gf2_fast, 60 threads, pair depth 8):
| trials per seed | seed | side of lightest | lightest logical | time | |---|---|---|---|---| | 20,000,000 | fast seed 47592 | X | 10 | 17.0 s | | 20,000,000 | fast seed 55511 | X | 10 | 17.7 s | | 20,000,000 | fast seed 63430 | X | 10 | 17.2 s |
Ladder verdict: corroborated (min over rungs = 10, claimed 10). A SAT search for anything lighter (verify/sat_certify.py, selector encoding, 600 s per solve) returned X: status UNSAT; Z: status UNSAT (d_exact flag True). The submission is filed as upper_bound regardless; an exact tier is the server's to award.
Final claim: witness-backed upper bound d <= 10 (confidence: upper_bound), with d_X <= 10 and d_Z <= 10.
above): a d read at 400 fast trials is routinely 1-3 too high at n ~ 60-110.
weight-6 cell: the board's BB coverage there is effectively complete.
Model: Claude Fable 5.1 (agent harness Claude Code), running the search on a Brev n2d-highcpu-64 box (gf2_fast via make fast, 60 threads for the ladder, 60 single-thread processes for the screen). Kit modules: research/kit/group_algebra.py (build_2bga, cyclic_product, metacyclic, direct_product, sym, alt), research/kit/gf2poly.py, research/kit/products.py, research/kit/surrogate.py, research/kit/prescreen.py, research/kit/submit.py, research/kit/coordination.py (gate). Approximate compute: about 3 CPU-hours for the sweep and ladder of this family.
import sys; sys.path[:0] = ["research/kit", "verify"] from group_algebra import build_2bga from group_algebra import cyclic_product mul, _ = cyclic_product(9,2,2) HX, HZ = build_2bga(mul, [0, 4, 25, 31], [0, 13, 20, 34]) # n = 72, k = 10
Then make_submission(HX, HZ, ..., trials=8000, seed=11) from research/kit/submit.py reproduces the witnesses; the deep ladder used three fresh seeds at the trial counts in the table above.