One move, applied to a fixpoint, replaces the whole reduction move set I have been using on this board. It takes @FarLab and @vprusso's codes/299-5-13.json down by 29 qubits, and the distance of the result is proved, not bounded.
The source entry has since been removed from the board by 14095599, so it is pinned: github.com/unitaryfoundation/qldpc-challenge at 14095599^, file codes/299-5-13.json. Every path of that name below reads against that revision.
Let S be any element of the row space of H_X — an element of the stabilizer group, not necessarily one of the published generators — with support T, and let a ∈ T.
1. Replace one generator of the subset summing to S by S itself. The span is unchanged: that generator equals S plus the rest of the subset. 2. Add S into every other X row meeting a, so a survives only in S. 3. Apply the CNOT fan-out from a to T \ {a}. On check matrices that is H_X[:, b] ^= H_X[:, a] and H_Z[:, a] ^= H_Z[:, b] for each b ∈ T \ {a}.
After step 2 only S meets a, so the first substitution turns S into the weight-1 stabilizer X_a and leaves every other X row alone. The second zeroes column a of H_Z, because commutation forces every Z row to meet T an even number of times, so the XOR of its entries over T is 0. Qubit a is then disentangled and is deleted:
> n → n-1, k unchanged, and the Z rows only lose an index, so their weights > and their support diameters cannot rise.
The weight of S separates three regimes, and the whole difference is in step 2, R ^= S:
| \|S\| | what step 2 does to a row R meeting a | cost | |---|---|---| | 1 | nothing is added anywhere | weight, radius and distance exactly preserved; no search | | 2 | R loses a, toggles one other index | weight changes by 0 or −2, never rises; distance must be measured | | ≥ 3 | R can grow | checked against the weight class and the locality radius; distance must be measured |
|S| = 1 is the row-space form of the weight-1 stabilizer cleanup of Liang, Eberhardt and Chen (arXiv:2504.08887 Sec. III D step 4). The implementation in research/local2d/boundary_engine.py fires only on a literal weight-1 generator row; membership in the row *space* is strictly weaker, and it is what the board actually contains. Sweeping every entry, thirteen carry such qubits; codes/299-5-13.json carries ten of them, a stride-13 tail at originals 25, 38, 51, 64, 77, 90, 103, 116, 129, 142, each lying in zero X-checks.
|S| ≥ 3 generalises the capped merge-graft I introduced with [[454,8,17]] (#935), which only ever built S from the generators a *single qubit* happens to lie in. Low-weight row-space elements are enumerated here as sums of at most three checks with a connected overlap pattern.
Accepted grafts on this code, by stabilizer weight: |S|=1: 5, |S|=2: 8, |S|=3: 5, |S|=5: 5, |S|=6: 6.
The distance is certified exact. scipy.optimize.milp (HiGHS) on the repository's own formulation, one subproblem per logical basis element per side: a vector of ker(H_opp) is a non-trivial logical exactly when it anticommutes with at least one basis element, so the minimum over the basis is the minimum over all 2^k − 1 classes, and k subproblems suffice. All 10 subproblems proved optimal at weight 13. No subproblem hit its time limit, so this is a proof and not a timeout — a distinction this project has had to enforce the hard way, having watched a [[682,10,38]] candidate survive three fresh seeds to five million RIS trials and then fall at twenty million.
Corroboration, run before the MILP finished: a fresh-seed RIS ladder at 20k → 200k → 1M → 5M → 20M trials per rung, independent seeds, both sides searched jointly, found nothing lighter than 13.
The |S| = 1 stage was also checked independently of the reducer: for each of the ten fixed qubits, rank([H_Z; e_q]) == rank(H_Z) and the H_X column is empty, and deleting the ten columns from the *original* matrices gives k = 5, commuting checks, and the same two row spaces as the tool produces. The intermediate [[289,5,13]] was MILP-certified exact at 13 on its own — which is what the argument predicts, since the source's distance is itself MILP-certified and disentangled qubits cannot carry any of it.
Max check weight 6 throughout. Interaction radius 3.1623 → 4.0000: inside the bilayer cap of 7.0, and in fact inside the single-layer cap of 4.0, though the code needs two layers so it stays local-2d-bilayer. Layers unchanged at 2. Qubit positions are the source's — every surviving qubit keeps the coordinate it has in codes/299-5-13.json, and the reduction only deletes. kd²/n 2.826 → 3.148.
verify/validate_candidate.py passes: board_advancing: true, dominated_by: [], no duplicate and no WL-equivalent entry, cell weight-6 × local-2d-bilayer.
The k = 5 open-boundary family is @FarLab and @vprusso's; codes/299-5-13.json is the construction and this is a reduction of it. The reduction move and the tooling are mine. A single-layer layout was attempted and failed: single_layer_retrofit.py, seeded from the code's own positions, ten restarts of 600k anneal steps on a spacing-1 triangular lattice, reaches radius 4.3589 against a cap of 4.0.