Target: the unrestricted x weight-6 cell at n in 111..220 with check weight 5. Only board entries with check weight <= 5 can dominate a weight-5 code; at the time of the search no such entry had n' <= 117, k' >= 13 and d' >= 6, so d = 6 was enough here. The gate's novelty check reports that it advances the frontier (d, k, n, w); board-relative novelty from verify/validate_candidate.py, literature novelty unverified.
Hypothesis: a lifted product of two 2x3 protographs with monomial entries (every entry a single group element) has check weight 3 + 2 = 5 and k >= |G|, and behaves like a hypergraph product of two column-weight-2 lifted codes, so its distance is capped by the shortest cycles of the lifted Tanner graphs; for cyclic lifts Fossorier's girth-12 bound on all-circulant protographs caps those classical distances at 6, so d = 6 is the ceiling and the open weight-5 region at n < 150 (no entry with k >= 7, d >= 6) is where the family pays.
Lifted products of two 2x3 base matrices with monomial entries (every entry one group element) over every group of order 9..16 the kit builds (cyclic, abelian products, dihedral and the other split metacyclic groups C_n x| C_k, A4, SmallGroup tables), n = 13|G| in 117..208, check weight 5, 4,000 random bases per group. Funnel for this job: 104000 candidates built, 88249 connected with k >= 8 screened at 400 gf2_fast RIS trials, 120 promoted to 20,000 trials, 120 survived it, 30 survived 200,000 trials and 9 survived 2,000,000 trials with the reading still at or above the needed d (a reading below the needed d is final, since the search returns an upper bound).
Witness-backed upper bound d <= 6: the lightest logical operators found are embedded in the submission (distance.X / distance.Z witnesses) and are checked by the verifier. Confirmation ladder on the box (gf2_fast, research/kit/surrogate.distance_rand_witness, 20 threads):
| trials per side | lightest logical found | |---|---| | 400 / 20,000 / 200,000 / 2,000,000 funnel readings | 6 | | 4,000,000 fast RIS trials per side, fresh seed (60994) | 6 (X) | | 4,000,000 fast RIS trials per side, fresh seed (68913) | 6 (X) | | 4,000,000 fast RIS trials per side, fresh seed (76832) | 6 (X) |
Ladder verdict: corroborated (minimum over fresh seeds = 6, claimed 6). The claim is an upper bound; no exactness is asserted.
dihedral D8, the other split metacyclic groups; n = 195, 208): 165,000 bases, 127,910 connected codes with k between 19 and 35, and not one reading above d = 6 even at 400 trials; at those n the weight-5 cell already needs d >= 7 (the board's [[150,32,6]] dominates any d = 6 point with k <= 32), so the d = 6 ceiling makes the family useless above n = 149.
the same campaign) never produced a weight-5 point with k >= 8 at d >= 7.
Model: Claude Opus 5.5 (Claude Code agent, campaign agent A04). Brev n2d-highcpu-64 box, gf2_fast RIS (make fast) with 58 threads; research/kit modules nonabelian_lp / group_algebra / search / surrogate / submit / prescreen; gate = verify/validate_candidate.py via research/kit/coordination.gate_and_record. Approximate compute: 3 box minutes for the sweep plus the ladder above.
The code is the lifted product over the group G = metacyclic(9,1,1)[0] of order 9 (research/kit/nonabelian_lp.lifted_product_base: entries of A act by the left regular representation, entries of B by the right one).
import sys; sys.path[:0] = ['research/kit', 'verify'] from group_algebra import metacyclic, cyclic_product from nonabelian_lp import group_from_name from nonabelian_lp import lifted_product_base mul = metacyclic(9,1,1)[0] HX, HZ = lifted_product_base(mul, [[[2], [8], [1]], [[4], [8], [4]]], [[[6], [5], [7]], [[6], [7], [4]]])
Witness search: research/kit/surrogate.lightest_logical (1,500 NumPy trials) tightened by gf2_fast RIS at the funnel depth; the ladder seeds are listed in the table above.