← back to the board
[[108,20,4]] d =
n
108
k
20
d
4
kd²/n
2.963
w
6
X/Z
1.5
g
0.0044
r
5.099
layers
2
swaps
351

Share this result

Distance

X/Z asymmetry 1.5 · d_X = 6, d_Z = 4 · w_X = 6, w_Z = 4 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 6 · witness weight 6 (claimed upper_bound)
witness operator (support, 6 qubits)
[7, 14, 31, 47, 56, 76]
d_Z 4 · witness weight 4 (claimed upper_bound)
witness operator (support, 4 qubits)
[2, 3, 7, 42]
certificate exact, d = 4 · CryptoMiniSat 5.14.7 SAT
X: no logical < 6 exists; Z: no logical < 4 exists

Diagnostics

computed by the verifier from the parity checks, the layout, and the stored witnesses; shown as evidence, not used for ranking
girth H_X 8 · H_Z 12 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 6 · H_Z 4
qubit degrees H_X 1–2 (mean 1.944) · H_Z 1–2 (mean 1.963)
trapping sets H_X (1,1)×6 (2,1)×30 (3,1)×150 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 6 (1,2): 102 (2,1): 30 (2,2): 495 (3,1): 150 (3,2): 2400 (3,3): 60 (3,4): 640
trapping sets H_Z (1,1)×4 (2,1)×12 (3,1)×36 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 4 (1,2): 104 (2,1): 12 (2,2): 306 (3,1): 36 (3,2): 900 (3,3): 12 (3,4): 200
witness diameter X 8.544 · Z 4.1231 (Euclidean support diameter of the stored distance witnesses in the layout; an upper bound on the exhibited logicals’ spread, not a minimum over all logicals)

Verified 2D layout

as measured by the verifier: every check drawn over the submitted coordinates; the interaction radius is the longest dashed pair
r = 5.099
X checkZ checkqubit site (54)2 qubits stacked (2 layers)dashed: the pair setting the interaction radiushover a check to isolate its qubits; click to pin — repeated clicks cycle through overlapping checks; click empty space to release
routing cost 351 nearest-neighbor SWAPs per round in total, at most 9 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

provenance submitted through the challenge
novelty novelty not audited
construction Reconstructed from qecdb.org record (see provenance.references); H-field X/Z row split, k recomputed, witnesses from the kit's random search.
model DeepSeek V4 Flash 0731 (claimed, not verified)
date 2026-08-15
family topological (a tag, not a ranking)
locality 2D-local bilayer (computed from the layout)
weight class weight ≤ 6 (computed)

How this code was found

the research note submitted with this code · raw markdown · all notes

[[108,20,4]] — topological code sourced from qecdb.org record 67a4b421

Direction & hypothesis

Aiming at the weight-6 track's frontier: find low-check-weight CSS codes that strictly dominate an existing board entry on (n, k, d). The candidate pool is the qecdb.org database (36,830 records, mirrored and deduped to 2,369 unique CSS records), which is ~140x denser in small-block CSS codes than this board.

What was searched

Full funnel (see fieldnotes/2026-08-15-qecdb-mine-plan.md and fieldnotes/2026-08-15-qecdb-sourced-submissions.md):

  • mirror qecdb.org -> 2,369 unique records (by _id) under research/db_dump/
  • parse css=True records into (HX, HZ): X rows then Z rows; require CSS
  • commutation and k matching the DB (1,013 survived; 133 rejected as GF(4)- style Y rows)

  • dedupe by stabilizer fingerprint (RREF convention, same as the verifier)
  • frontier cross-check per (locality x weight-class) cell against codes/*
  • screen with the kit's RIS surrogate (distance_rand, 2k-4k trials x 2 seeds)
  • witness extraction + packaging via research/kit/submit.make_submission
  • (trials=8000), then the trusted gate verify/validate_candidate.py

Evidence trail

  • Screening d (RIS upper bound, 2-4k trials): held at the claimed value for
  • this code's cell.

  • The submitted distance is the kit's witness upper bound
  • (confidence: upper_bound); the DB's claimed d was never used as evidence.

  • Gate: verify/validate_candidate.py -> passed: true; dedup: no exact
  • duplicate, no WL-equivalent on the board.

Dead ends

  • 133 CSS records use GF(4)-style Y characters in their rows and were
  • excluded (not importable conservatively).

  • 2 records ([[85,53,5]], [[89,67,4]]) have check weight 40-44, above the
  • schema's per-check cap of 32, and cannot be represented.

  • 19 records pass the gate but "do not advance their board cell"; 4 more
  • share a [[n,k,d]] already occupied on the board and were not submitted.

Tools

Model: DeepSeek V4 Flash 0731 (provenance.model). Author: @mathysrennela. Repo tooling: research/kit (css, search.fingerprint, surrogate, submit.make_submission), verify/validate_candidate.py (trusted gate). Pipeline scripts: research/db_mirror.py -> db_phase1.py -> db_phase2.py -> db_phase3.py -> db_phase3_witness.py -> db_phase3_backfill.py -> db_phase3_provenance.py.

Reproduction

The code is reconstructed from qecdb.org record 67a4b421 (https://qecdb.org/codes/67a4b4217cff110ed639a841). The record's H field holds all X-rows followed by all Z-rows; split them, take the X/Z support matrices, and re-derive k and witnesses with the kit: research/kit/db_phase1.py-style parsing then make_submission. The raw record is preserved under research/db_dump/raw/67a4b421.json (gitignored).

Parity checks

X-checks 35 (max weight 6) · Z-checks 53 (max weight 4)
H_X (35 checks, sparse supports)
[20, 22, 29, 37, 50, 106] [2, 7, 33, 36, 56, 104] [21, 28, 31, 36, 73, 76] [16, 21, 63, 82, 86, 102] [5, 74, 81, 86, 92, 100] [53, 59, 67, 68, 74, 76] [6, 26, 73, 75, 81, 93] [1, 24, 30, 38, 47, 106] [5, 8, 64, 87, 94, 101] [8, 27, 54, 63, 89, 104] [14, 19, 26, 30, 96, 99] [10, 17, 50, 62, 66, 99] [49, 58, 61, 65, 91, 102] [6, 32, 38, 45, 88, 103] [15, 57, 80, 83, 96, 103] [22, 23, 54, 78, 79, 84] [20, 48, 60, 69, 85, 98] [11, 12, 15, 41, 64, 107] [0, 3, 18, 41, 42, 44] [4, 44, 57, 66, 71, 79] [0, 13, 34, 68, 90, 98] [7, 42, 59, 69, 84, 87] [9, 11, 19, 25, 46, 92] [29, 51, 55, 58, 77, 89] [10, 52, 67, 75, 78, 82] [32, 34, 37, 49, 52, 71] [4, 12, 27, 39, 43, 65] [16, 25, 35, 39, 62, 77] [47, 48, 51, 56, 72, 95] [45, 70, 90, 91, 100, 107] [23, 24, 33, 83, 93, 101] [17, 18, 40, 46, 53, 85] [14, 31, 35, 40, 72, 105] [2, 3, 43, 80, 97, 105] [13, 28, 61, 88, 95, 97]
H_Z (53 checks, sparse supports)
[68, 74, 90, 100] [9, 25, 55, 77] [12, 65, 91, 107] [6, 32, 52, 75] [60, 70, 90, 98] [14, 30, 47, 72] [0, 3, 13, 97] [42, 44, 79, 84] [20, 22, 69, 84] [51, 58, 61, 95] [8, 55, 89, 94] [21, 36, 63, 104] [21, 28, 61, 102] [0, 34, 44, 71] [4, 39, 62, 66] [10, 16, 62, 82] [2, 33, 80, 83] [13, 48, 95, 98] [32, 37, 38, 106] [3, 18, 40, 105] [11, 15, 19, 96] [22, 29, 54, 89] [15, 45, 103, 107] [24, 33, 47, 56] [7, 36, 59, 76] [14, 26, 31, 73] [29, 37, 49, 58] [5, 59, 74, 87] [1, 24, 94, 101] [16, 25, 86, 92] [23, 57, 79, 83] [11, 18, 41, 46] [35, 39, 43, 105] [17, 20, 50, 85] [57, 66, 96, 99] [41, 42, 64, 87] [1, 38, 45, 70] [8, 12, 27, 64] [34, 52, 67, 68] [35, 51, 72, 77] [23, 75, 78, 93] [30, 50, 99, 106] [19, 26, 81, 92] [10, 17, 53, 67] [9, 46, 60, 85] [5, 81, 93, 101] [6, 28, 73, 88] [4, 49, 65, 71] [86, 91, 100, 102] [7, 48, 56, 69] [31, 40, 53, 76] [80, 88, 97, 103] [54, 63, 78, 82]
Code ID 108-20-4 · download JSON · raw on GitHub