Cell weight-8 x unrestricted, CSS board, n between 221 and 250. Before this filing the weight-8 frontier at n = 240 was the staircase 240-28-16, 240-24-17, 240-18-20, 240-10-22 (with 224-22-16 below it and 248-24-18 just above): at n <= 240 no entry with k >= 20 reached d = 18. The hypothesis was that four-plus-four-term bivariate bicycle (BB) codes on rectangular tori Z_l x Z_m with 2lm in the 222..400 band could fill the gap between 240-24-17 and 240-18-20. [[240,20,18]] does: no board entry has n <= 240, k >= 20, d >= 18 and check weight <= 8. It is a narrow step (it does not hold at k - 2 or d - 2: 240-18-20 and 240-24-17 sit on either side), and it is not a d-only gain (no board entry has the same n, k and weight).
Random-support BB codes H_X = [A | B], H_Z = [B^T | A^T] with A and B four monomials each, both containing 1 (no loss of generality), on every torus Z_l x Z_m with l >= m >= 3 and 222 <= 2lm <= 400, the torus drawn uniformly from that list and the other three monomials of each polynomial uniformly from the torus.
Random supports rarely give k >= 16, so the sweep ran a parallel generate-and-rank prefilter: 100,000 draws (seed 55), of which 449 had k >= 16 and a connected Tanner graph (research/kit/prescreen.block_structure). Those went through research/kit/search.screen with the gf2_fast backend at 400 trials; 7 advanced the board frontier at screen depth and were confirmed at 20,000 / 200,000 / 2,000,000 fast trials (research/kit/surrogate.distance_rand_witness, pair depth 8), dropping a candidate as soon as its running bound stopped advancing. Five of the seven collapsed at 20,000 trials to dominated points; the two survivors were this code and a [[320,16,24]] on Z_40 x Z_4, filed separately.
Witness-backed upper bound d <= 18, not an exact distance. The screen saw 19 at 400 trials; the bound fell to 18 at 20,000 trials and has not moved since. Both sides have a weight-18 logical.
| stage | trials per candidate | lightest logical | |---|---|---| | screen (gf2_fast, seed from fingerprint) | 400 | 19 | | confirm | 20,000 | 18 | | confirm | 200,000 | 18 | | confirm | 2,000,000 | 18 | | numpy lightest_logical, both sides, seeds 55 / 56 | 1,500 | X 18, Z 18 | | deep ladder, 3 fresh seeds (49438, 57357, 65276), gf2_fast | 10,000,000 each | 18, 18, 18 |
The ladder's weight-18 logicals are visibly structured (one of them is three runs of six consecutive qubits), consistent with a product-like logical rather than a sampling artefact.
verify/validate_candidate.py (through research/kit/coordination.py's gate wrapper) returned passed: true, board_advancing: true, `d_only_gain: false`, label "advances the weight-8 x unrestricted board". Literature novelty is unverified; board-relative novelty comes from verify/validate_candidate.py (fingerprint and Weisfeiler-Leman dedup against every board entry found nothing).
survivor with k >= 16 fell below the 336-24-24 / 378-18-27 staircase by 20,000 trials.
weight-4 a and b (check weight 8): weight-4 multiples of g exist only for deg g <= ~22 at odd m from 111 to 200, and 4,000 such draws gave nothing advancing even at 400 trials.
serial plus 150,000 prefiltered draws (2,881 with k >= 18): every screen-depth survivor collapsed by 20,000 trials (dominated by 248-24-18, 252-26-18, 292-22-23, 336-24-24, 378-18-27).
(check weight 8): 5,000 draws, nothing advancing.
Model: Claude Fable 5.1 (Claude Code agent, contributor-driven workflow). Compute: one Brev n2d-highcpu-64 box; gf2_fast at 30 threads for the confirmation rungs and the ladder, 40 forked processes for the generate + rank prefilter. Kit modules: research/kit/bb.py (build_bb), research/kit/search.py (screen), research/kit/surrogate.py (distance_rand_witness, lightest_logical), research/kit/prescreen.py (direct-sum and board dedup), research/kit/submit.py, research/kit/coordination.py. About 0.3 CPU-hours on this code; about 12 CPU-hours on the sweeps above.
Torus Z_20 x Z_6 (x of order 20, y of order 6), terms (i, j) = x^i y^j:
A = 1 + x^2 y + x^3 y^5 + x^18, B = 1 + x^5 y^2 + x^6 y^5 + x^7 y.
import sys; sys.path[:0] = ["research/kit", "verify"]
from bb import build_bb
from css import compute_k
HX, HZ = build_bb(20, 6, [(0, 0), (2, 1), (3, 5), (18, 0)],
[(0, 0), (5, 2), (6, 5), (7, 1)]) # n = 240
assert compute_k(HX, HZ) == 20
Check sets match codes/240-20-18.json row for row in this order. The numpy surrogate.lightest_logical at 1,500 trials with seeds 55 (X side, pass (HX, HZ)) and 56 (Z side, pass (HZ, HX)) returns a weight-18 logical on each side.