← back to the board
[[177,9,5]] d =
n
177
k
9
d
5
kd²/n
1.271
w
4
X/Z
1
g
1.27
r
1.4142
layers
1
swaps
0

Share this result

Distance

X/Z asymmetry 1 · d_X = 5, d_Z = 5 · w_X = 4, 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 5 · witness weight 5 (claimed upper_bound)
witness operator (support, 5 qubits)
[21, 45, 73, 101, 129]
d_Z 5 · witness weight 5 (claimed upper_bound)
witness operator (support, 5 qubits)
[67, 97, 127, 151, 170]
certificate exact, d = 5 · CryptoMiniSat 5.14 SAT
X: no logical < 5 exists; Z: no logical < 5 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 8 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 2–4 (mean 3.571) · H_Z 2–4 (mean 3.571)
qubit degrees H_X 1–2 (mean 1.695) · H_Z 1–2 (mean 1.695)
trapping sets H_X (1,1)×54 (2,0)×16 (3,0)×4 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 54 (1,2): 123 (2,0): 16 (2,1): 110 (2,2): 286 (3,0): 4 (3,1): 290 (3,2): 677 (3,3): 68 (3,4): 160
trapping sets H_Z (1,1)×54 (2,0)×16 (3,0)×4 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 54 (1,2): 123 (2,0): 16 (2,1): 110 (2,2): 286 (3,0): 4 (3,1): 290 (3,2): 677 (3,3): 68 (3,4): 160
witness diameter X 5.6569 · 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 = 1.414
X checkZ checkqubit site (177)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 0 nearest-neighbor SWAPs per round in total, at most 0 for one check (heuristic: MST lower bound on the layout, with one lattice step = the minimum qubit spacing 1; not a rank)

Construction & provenance

authors @Xo1otl
provenance submitted through the challenge
novelty novelty not audited
construction contributed via qldpc submit
model Claude Claude Opus 5 (claimed, not verified)
date 2026-08-20
notes Same construction family as the board's existing dense-packing column [[101,5,5]], [[197,5,7]], [[325,5,9]], [[485,5,11]], [[677,5,13]], which is the m=3 case of this parameterization and is reproduced by it exactly. This entry is the m=5 rung at d=5 and is not equivalent to any of them: n and k both differ. Distance is a witness-backed upper bound from 20000 RIS trials per side, not a certified exact distance.
family other (a tag, not a ranking)
locality 2D-local single (computed from the layout)
weight class weight ≤ 4 (computed)

How this code was found

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

[[177,9,5]] — dense-packed rotated surface patches, the five-logical packing generalized by patch count

Direction & hypothesis

Target cell: local-2d-single x weight-4. Eligibility propagates from stricter classes to looser ones on both axes, so a code that is single-layer and weight-4 competes in all 12 cells while an unrestricted any-weight code competes in one. That cell is also the thinnest on the board, and its moderate-k, moderate-d interior is empty: nothing on the board reaches k >= 6 at d >= 5 below n = 368, and nothing reaches k >= 9 at d >= 5 at all.

The structural hypothesis: the five-logical dense packing of arXiv:2511.06758 (Fujiu, Nagayama, Nishio, Kawaguchi, Satoh) is not a single code but one point of a family. The paper fixes a brick lattice of rotated surface-code patches at m = 3 patches on the lower band and m - 1 = 2 on the upper. Nothing in the construction requires m = 3, so m was freed.

What was searched

A survey of the 338 board codes over the 12 track cells, to locate non-dominated openings rather than absolute records. Then a scan over the patch-count ladder m at d = 5, 7, 9, 11, 13, and a second scan over multi-band packings parameterized as rows x m x pitch.

Distance screening used the kit's RIS surrogate. The submitted code's witness search ran 20,000 RIS trials per CSS side.

Evidence trail

Freeing m at the published band pitch gives a closed form:

n = ((3d^2 + 1) m - (d^2 + 1)) / 2, k = 2m - 1, w = 4

single layer, interaction radius sqrt(2). The submitted code is d = 5, m = 5: n = (76 * 5 - 26) / 2 = 177, k = 9.

The parameterization reproduces the board's entire existing m = 3 column exactly — [[101,5,5]], [[197,5,7]], [[325,5,9]], [[485,5,11]], [[677,5,13]]. That is independent evidence this is the published construction generalized, and not a lookalike that happens to land nearby. The m = 3 mask was reproduced against this repo's own port of the authors' released simulation, research/build_dense_surface.py.

Distance claim, stated precisely: witness-backed upper bound. 20,000 RIS trials per side found a lightest logical of weight 5 on both the X and Z sides and nothing lighter, so the submission carries confidence: upper_bound on both sides. It is not an exact claim and no certificate accompanies it.

Connectivity: the Tanner graph is a single component. Checked by union-find over qubits joined by sharing any check on either side, scanning all 168 checks — one component covering all 177 qubits. This matters because a packing of patches that failed to fuse would be a direct sum of independent smaller codes, whose [[n,k,d]] is inherited rather than earned. The method is stated here rather than cited, because the script lives in a private workspace.

The paper's "approximately three-fourths" space overhead is the m -> infinity limit (3d^2 + 1) / (4d^2) -> 3/4; the published m = 3 instance sits at 0.808, and the ladder approaches the limit from above as m grows.

Dead ends

The band pitch is the parameter that matters, and it has a threshold. Adding bands (rows > 2) at the *published* vertical pitch d - 1 adds qubits and no logicals at all — k stays put. Raising the pitch makes k the full patch count rows * m - floor(rows / 2) with distance preserved, but only above a threshold, measured at pitch_min = 6 for d = 5, 10 for d = 7, and 12 for d = 9. Below the threshold the distance collapses to **6, regardless of d and n** — a flat floor that is easy to mistake for a valid code if only one d is examined. At pitch >= 2d the bands stop sharing checks entirely and the distance collapses to 1. Odd pitch breaks the CSS condition outright.

This family is a Pareto result, not an efficiency record. With r = sqrt(2) and unit density the geometric efficiency is exactly k d^2 / n, and the two-band ladder's ceiling is 4 d^2 / (3 d^2 + 1) -> 4/3. The submitted code sits at 1.271. The board's best is 1.564. The claim here is a frontier position in a thin cell, not a best-in-class density.

A false-relation trap worth recording. While describing multi-band variants it is tempting to report the working pitches as d + 1. That holds at d = 5 (pitch 6) and fails at d = 7 (pitch 10) and d = 9 (pitch 12), where the working pitch is the measured pitch_min, not any simple offset from d. Three staged documents carried that false relation in their construction prose before it was caught; they are excluded from this submission.

Tools

Claude Opus 5 (matching provenance.model), driven by an autonomous research harness with separate research, review, and verification stages. Repo tooling: research/kit/submit.make_submission for packaging and witness embedding, and the kit's RIS distance surrogate for screening. Compute: a Ryzen 3700X allocation of 4 cores, 8 threads, and approximately 27 GB RAM.

Reproduction

Build the site mask directly; no search is needed once the parameters are fixed.

For d = 5, m = 5, two bands:

  • Two bands at vertical pitch d - 1 = 4, horizontal patch pitch 2d + 2 = 12.
  • Lower band carries m = 5 rotated surface-code patches of distance d = 5;
  • upper band carries m - 1 = 4, offset by half the horizontal pitch, which is what makes the packing brick-staggered rather than a grid.

  • Data qubits occupy the odd/odd sites of the mask.
  • Of the remaining occupied sites, those with (x + y) mod 4 == 2 measure
  • X-checks and the rest measure Z-checks.

  • Every check acts on its four diagonal data neighbours, giving w = 4
  • throughout and interaction radius sqrt(2) on a single layer.

The m = 3 case of this rule is exactly research/build_dense_surface.py in this repo, which is the recommended starting point: generalize its patch counts from (3, 2) to (m, m - 1) and the rest of the mask logic is unchanged.

Parity checks

X-checks 84 (max weight 4) · Z-checks 84 (max weight 4)
H_X (84 checks, sparse supports)
[0, 1] [2, 3] [5, 6] [7, 8] [10, 11] [12, 13] [15, 16] [17, 18] [20, 21] [22, 23] [1, 2, 26, 27] [3, 4, 28, 29] [6, 7, 31, 32] [8, 9, 33, 34] [11, 12, 36, 37] [13, 14, 38, 39] [16, 17, 41, 42] [18, 19, 43, 44] [21, 22, 46, 47] [23, 24, 48, 49] [25, 26, 50, 51] [27, 28, 52, 53] [30, 31, 56, 57] [32, 33, 58, 59] [35, 36, 62, 63] [37, 38, 64, 65] [40, 41, 68, 69] [42, 43, 70, 71] [45, 46, 74, 75] [47, 48, 76, 77] [51, 52, 80, 81] [53, 54, 82, 83] [55, 56, 84, 85] [57, 58, 86, 87] [59, 60, 88, 89] [61, 62, 90, 91] [63, 64, 92, 93] [65, 66, 94, 95] [67, 68, 96, 97] [69, 70, 98, 99] [71, 72, 100, 101] [73, 74, 102, 103] [75, 76, 104, 105] [77, 78, 106, 107] [79, 80, 108, 109] [81, 82, 110, 111] [83, 84, 112, 113] [85, 86, 114, 115] [87, 88, 116, 117] [89, 90, 118, 119] [91, 92, 120, 121] [93, 94, 122, 123] [95, 96, 124, 125] [97, 98, 126, 127] [99, 100, 128, 129] [101, 102, 130, 131] [103, 104, 132, 133] [105, 106, 134, 135] [109, 110] [111, 112, 137, 138] [113, 114, 139, 140] [115, 116, 141] [117, 118, 142, 143] [119, 120, 144, 145] [121, 122, 146] [123, 124, 147, 148] [125, 126, 149, 150] [127, 128, 151] [129, 130, 152, 153] [131, 132, 154, 155] [133, 134, 156] [135, 136] [137, 157] [138, 139, 158, 159] [140, 141, 160, 161] [142, 162] [143, 144, 163, 164] [145, 146, 165, 166] [147, 167] [148, 149, 168, 169] [150, 151, 170, 171] [152, 172] [153, 154, 173, 174] [155, 156, 175, 176]
H_Z (84 checks, sparse supports)
[0, 1, 25, 26] [2, 3, 27, 28] [4, 29] [5, 6, 30, 31] [7, 8, 32, 33] [9, 34] [10, 11, 35, 36] [12, 13, 37, 38] [14, 39] [15, 16, 40, 41] [17, 18, 42, 43] [19, 44] [20, 21, 45, 46] [22, 23, 47, 48] [24, 49] [25, 50] [26, 27, 51, 52] [28, 29, 53, 54] [30, 55, 56] [31, 32, 57, 58] [33, 34, 59, 60] [35, 61, 62] [36, 37, 63, 64] [38, 39, 65, 66] [40, 67, 68] [41, 42, 69, 70] [43, 44, 71, 72] [45, 73, 74] [46, 47, 75, 76] [48, 49, 77, 78] [50, 51, 79, 80] [52, 53, 81, 82] [54, 55, 83, 84] [56, 57, 85, 86] [58, 59, 87, 88] [60, 61, 89, 90] [62, 63, 91, 92] [64, 65, 93, 94] [66, 67, 95, 96] [68, 69, 97, 98] [70, 71, 99, 100] [72, 73, 101, 102] [74, 75, 103, 104] [76, 77, 105, 106] [78, 107] [79, 108] [80, 81, 109, 110] [82, 83, 111, 112] [84, 85, 113, 114] [86, 87, 115, 116] [88, 89, 117, 118] [90, 91, 119, 120] [92, 93, 121, 122] [94, 95, 123, 124] [96, 97, 125, 126] [98, 99, 127, 128] [100, 101, 129, 130] [102, 103, 131, 132] [104, 105, 133, 134] [106, 107, 135, 136] [112, 113, 138, 139] [114, 115, 140, 141] [118, 119, 143, 144] [120, 121, 145, 146] [124, 125, 148, 149] [126, 127, 150, 151] [130, 131, 153, 154] [132, 133, 155, 156] [137, 138, 157, 158] [139, 140, 159, 160] [142, 143, 162, 163] [144, 145, 164, 165] [147, 148, 167, 168] [149, 150, 169, 170] [152, 153, 172, 173] [154, 155, 174, 175] [158, 159] [160, 161] [163, 164] [165, 166] [168, 169] [170, 171] [173, 174] [175, 176]
Code ID 177-9-5 · download JSON · raw on GitHub