Track cell: unrestricted x weight-any (max check weight 10). The board is dense below n = 110, so the target was a specific hole: a point with n' <= 90, k' >= 12, d' >= 12 at check weight <= 10 that no board entry occupies. This code gains on k, n, w against [[108,8,12]] (w=26, codes/108-8-12.json). The hypothesis behind the sweep was that the small-group two-block (2BGA) family, enumerated over the groups of order 8..55 the kit can build (abelian, metacyclic, dicyclic, generalized dihedral, a few semidirect and matrix groups), 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, and because unequal support sizes (|a| != |b|) are rarely searched. 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_{5}} x Z_{{3}} x Z_{{3} built as group_algebra.cyclic_product(5,3,3): elements are the tuples in itertools.product order, index = position in that order (identity = 0). a = [0, 8, 14, 18, 33] and b = [0, 3, 11, 25, 32] are lists of element indices (|a| = 5, |b| = 5, check weight 10).
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 12, Z-logical of weight 12; d = min = 12.
Deep ladder (fresh seeds, surrogate.distance_rand_witness backend gf2_fast, 10 threads, pair depth 8):
| trials per seed | seed | side of lightest | lightest logical | time | |---|---|---|---|---| | 10,000,000 | fast seed 53966 | X | 12 | 49.3 s | | 10,000,000 | fast seed 61885 | X | 12 | 48.4 s | | 10,000,000 | fast seed 69804 | X | 12 | 42.0 s |
Ladder verdict: corroborated (min over rungs = 12, claimed 12).
Final claim: witness-backed upper bound d <= 12 (confidence: upper_bound), with d_X <= 12 and d_Z <= 12.
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, 10 threads for the ladder, single-thread worker 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(5,3,3) HX, HZ = build_2bga(mul, [0, 8, 14, 18, 33], [0, 3, 11, 25, 32]) # n = 90, k = 12
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.