Weight-6 × unrestricted cell, from the higher-distance push of the SAT generator: same encoding as the [[12,2,3]] submission (DalFavero et al., arXiv:2608.23460 Sec. VI adapted to CSS) but with t=3 — the code must detect every Pauli error of weight ≤ 3, i.e. d ≥ 4. Hypothesis: the SAT generator's hardness cliff sits between w≤6 (cheap) and w≤4 (intractable so far), so d≥4 codes should be reachable in the weight-6 cell even though weight-4 resists.
research/sat_search.py (committed with the [[12,2,3]] PR #709): Minisat22 CNF over X/Z row-incidence variables; even-overlap commutation chains (HX·HZᵀ=0); per-error detection clauses; Sinz row-weight bound; blocking- clause enumeration; stabilizer-absorbed errors rejected post-hoc.
t=3 bisection at n=12, 5 rows/side: dense checks solve instantly (k=2); w≤10/8/6 all solve in 0.2–0.7 s; w≤5 and w≤4 did not finish — >300 s on Minisat22 and >600 s on CaDiCaL (a Kissat-class solver, no better here). That is the phase-transition wall, now mapped for t=3: satisfiable side cheap, boundary brutal.
This sweep: 40 solutions at w≤6/t=3 (~0.3 s), screened at 2000 RIS trials. Four survivors had d upper bound ≥ 4, all [[12,2,4]] with efficiency 2.67; the first was packaged.
Submitted [[12,2,4]]: witness d_X ≤ 4 and d_Z ≤ 4 found by qldpc submit (20k RIS trials); local gate passed (validate_candidate → passed, weight-6 × unrestricted, board-advancing: dominated by nothing in the cell). Claim is an honest upper bound, not exact.
Fixing it likely needs proper symmetry breaking or the paper's slack-variable group-membership encoding instead of post-hoc rejection of absorbed errors.
CSS detection semantics, stabilizer-absorbed errors, and a CPython id() reuse bug that silently disabled the weight bound — caught by the verifier's computed weight class disagreeing with the CNF bound.
ox-alpha agent; repo kit (search.screen, submit, verify/validate_candidate); python-sat / Minisat22 (CaDiCaL tried on the hard instances). Laptop, seconds per sweep.
uv run --with python-sat python - <<'EOF' import sys sys.path.insert(0, "research"); sys.path.insert(0, "research/kit") from sat_search import enumerate_sat_codes spec, HX, HZ = next(iter(enumerate_sat_codes(12, 5, 6, 3, max_codes=1))) EOF
Parameters: n=12, 5 rows per side, max row weight 6, detect-all weight-≤3 errors. The first solution is the submitted code.