Among the general-stabilizer board's entries with generator weight <= 5, the best kd^2/n was 2.778 when this search started (codes/18-2-5-s.json, @FarLab). Weight <= 5 is our own filter, not a board track; in the board's weight-6 stabilizer cell this entry does not lead. Wei, Han, He, Li and Liu (arXiv:2601.19848) tabulate the lowest possible generator weight for small stabilizer codes (n <= 12). The hypothesis: small codes whose generators are the translates of a few Pauli strings under a small abelian group (we call them quasi-cyclic; the idea of building non-CSS stabilizer LDPC codes from finite groups goes back to the group-based (coset / Cayley-graph) constructions of non-CSS stabilizer LDPC codes of Camara, Ollivier and Tillich (arXiv:quant-ph/0502086)) leave a SAT solver few enough unknowns to decide directly whether weight 5 allows d = 4 at rate 1/4, which would give kd^2/n = 4.
Also builds on: the low-weight framing and the small-code tables of Wei, Han, He, Li and Liu (arXiv:2601.19848), and the group-based (coset / Cayley-graph) constructions of non-CSS stabilizer LDPC codes of Camara, Ollivier and Tillich (arXiv:quant-ph/0502086).
Board precedents: translate-of-a-Pauli (cyclic) stabilizer codes are already on the board from @FarLab (codes/18-2-5-s.json and siblings codes/20-2-6-s.json, codes/34-2-7-s.json); this entry uses several orbits under Z4 instead of one. SAT-based discovery of small codes is already on the board from @MathysRennela, including a CSS [[16,4,4]] of weight 6 (codes/16-4-4.json); this entry is a different, non-CSS code (hence the -s slug, as in @FarLab's codes/18-2-5-s.json).
Our contribution: the Z4-invariant lazy SAT search that found these generators, and the exact distance checks below.
Frontier: Dominates codes/48-4-4.json ([[48,4,4]], weight 5, @cbjuan) on n; not dominated by any entry in the cell. This is not a claim to lead the cell: many weight-6 stabilizer entries score higher than 4.0.
Exact distance for these generators: an exhaustive enumeration of every Pauli of weight 1, 2 and 3 (16,248 operators) finds no nontrivial logical; at weight 4 there are 89 nontrivial logicals, among them the stored witness (X on 0, 1, 2, 5 and Z on 0, 1, 2: Y0 Y1 Y2 X5). The SAT search reached the same exact value, and two further separate exhaustive programs agree. Every nonidentity element of the stabilizer group has weight >= 5 (all 4,095 enumerated), so the code is nondegenerate.
| effort (CPU-hours) | lightest logical found | |---|---| | 0.01 (exhaustive over all Paulis of weight <= 3, then weight 4) | 4 (no logical of weight 1, 2 or 3) |
Claim: d = 4, filed as a witness-backed upper bound because the board's Pauli-weight certifier is not available yet; the exhaustive enumeration shows it is exact. No trial counts: the distance check is exhaustive, not random.
Non-CSS: the verifier finds no single-qubit Clifford frame that makes the generators CSS, and a separate linear-algebra test finds none for the whole stabilizer group. k = 4 from the rank of the 12 independent generators.
Literature: Grassl's codetables.de gives d = 5 as the optimum for [[16,4]] without a weight limit, so this code is not distance-optimal; its point is the generator weight. We did not find a weight-5 [[16,4,4]] stabilizer code in codetables.de, arXiv:2601.19848 (tables stop at n = 12), arXiv:2601.15446 (Wang, Liu, Li, Kubica and Gu; its [[16,4,4]] has weight 8) or the EC Zoo (errorcorrectionzoo.org); literature novelty is not claimed.
Claude Opus 5.5 (Claude Code) working for @MicheldeMessieres. Python with numpy, PySAT (CaDiCaL 1.9.5) for the search, pycryptosat for the exact low-weight logical search inside the loop, plain Python enumeration for the distance check. Scripts are local (not in this tree); the method is described above, and the SAT search script is available on request. Checked with verify/qldpc_verify.py and verify/validate_candidate.py. Compute: 0.6 CPU-hours up to the find; about 4.4 CPU-hours for the whole session including the dead ends; 0.01 CPU-hours for the exhaustive distance check.
Qubit 4*b + g (b = 0..3 orbit, g in Z4); translation by t sends 4*b + g to 4*b + ((g + t) mod 4). The 12 generators are the 4 translates of each representative:
These are exactly the entry's checks.S rows 0-3, 4-7 and 8-11.