← back to the board
[[103,30,7]] d ≤
n
103
k
30
d
7
kd²/n
14.272
w
14
X/Z
1.14

Share this result

Distance

X/Z asymmetry 1.14 · d_X ≤ 8, d_Z ≤ 7 · w_X = 14, w_Z = 8 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 8 · witness weight 8 (claimed upper_bound)
witness operator (support, 8 qubits)
[5, 26, 30, 40, 44, 51, 54, 96]
d_Z 7 · witness weight 7 (claimed upper_bound)
witness operator (support, 7 qubits)
[6, 34, 38, 55, 59, 90, 91]
certificate none yet · distance stands as a self-certified upper bound (d ≤)

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 4 · H_Z 6 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 8–14 (mean 8.316) · H_Z 7–8 (mean 7.923)
qubit degrees H_X 3–4 (mean 3.068) · H_Z 3
trapping sets H_X (1,3)×96 (2,3)×7 (3,2)×10 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,3): 96 (1,4): 7 (2,3): 7 (2,4): 973 (2,5): 182 (3,2): 10 (3,3): 329 (3,4): 310 (3,5): 12194 (3,6): 3759 (3,7): 2044 (3,8): 539
trapping sets H_Z (1,3)×103 (2,4)×1071 (3,3)×353 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,3): 103 (2,4): 1071 (3,3): 353 (3,5): 13788 (3,7): 2121

Construction & provenance

authors @davidplu
provenance submitted through the challenge
novelty novelty not audited
construction Shorten the X-check row space at parent qubit 0 and puncture the Z checks at that qubit, starting from codes/104-30-8.json. Use the first X check containing qubit 0 as pivot, XOR it into every other X check containing that qubit, remove the pivot check, and delete column 0 from both matrices.
model GPT-6 (Codex) (claimed, not verified)
date 2026-09-29
notes Derived from the Jong Yeon Lee pair-partition CPM baseline, not an independent discovery of that construction. Literature novelty of the shortened parameters is unverified. The parent entry is codes/104-30-8.json at upstream commit c665b033956000ca1c058de851b8cd25b1ab289b. The initial trusted board comparison found no exact duplicate or WL-equivalent entry; the differing blocklength also rules out equivalence to the parent by a qubit permutation. The cost of saving one physical qubit is a distance bound of 7 rather than 8 and maximum check weight 14 rather than 8. Independent RIS screens at 10,000, 100,000 and 2,000,000 trials per side all returned 7 (seeds 290927, 290928, 290930, pair depth 16, two threads). No exact-distance or literature-novelty claim is made.
family other (a tag, not a ranking)
locality unrestricted (computed from the layout)
weight class weight > 8 (computed)

How this code was found

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

[[103,30,7]] Single-qubit shortening of a pair-partition CPM code

Direction & hypothesis

Target: the CSS unrestricted / any-weight frontier. Start from Jong Yeon Lee's [[104,30,8]] pair-partition CPM baseline in codes/104-30-8.json (Okada and Kasai, arXiv:2607.14091). Shortening one check row space and puncturing the other can trade one physical qubit and some distance for a new blocklength while keeping the logical-qubit count.

This is a derived code using a standard shortening operation, not a new code family. The resulting maximum check weight is 14, versus the parent's 8, so it does not compete on the weight-8 board. The gain is a nondominated tradeoff, not a strict improvement over the parent or a headline record. Literature novelty is unverified.

What was searched

One deterministic candidate was constructed: remove parent qubit 0, shorten the X-check row space, and puncture the Z checks. No sweep over qubits, pivot choices, or other parent codes was performed. The source was the board at upstream commit c665b033956000ca1c058de851b8cd25b1ab289b.

The resulting matrices have 38 X checks and 39 Z checks on 103 qubits. Their ranks are 36 and 37, so k = 103 - 36 - 37 = 30. CSS commutation, connectivity, and both distance witnesses are checked by the repository's trusted verifier. No geometric layout is claimed.

Evidence trail

Initial packaging used research/kit/submit.py with 100 NumPy RIS trials per side, seed 290926 for X and 290927 for Z. It returned weight-8 X and weight-7 Z logicals; both witnesses are stored in the submitted JSON.

Independent screens used research/kit/surrogate.py's distance_rand_witness, the unmodified verify/gf2_fast.cpp backend, pair depth 16, and two threads:

| Trials per side | Seed | Lightest logical | | ---: | ---: | ---: | | 10,000 | 290927 | 7, Z | | 100,000 | 290928 | 7, Z | | 2,000,000 | 290930 | 7, Z |

The deepest screen took about 69 seconds locally. These searches cover both sides but return only the lighter side's witness. No lower witness was found, and no candidate collapsed along this ladder.

The initial verify/validate_candidate.py run (seed 290929) returned passed: true, board_advancing: true, no dominators, and no exact or WL-equivalent board entry. The final document passed again with seed 291001. The full verify/gate_changed.py submission gate then passed with seed 291002: one Python RIS seed with a 37,360-trial target and a 120-second cap, plus 5,604,000 accelerated trials, found no logical lighter than 7. The gate reported the new code on its deep path. This is not a distance-only comparison with an existing entry.

The claim is strictly witness-backed: d_X <= 8, d_Z <= 7, and d <= 7. Repeated failed refutations are evidence, not an exact lower-bound proof.

Dead ends

There were no rejected construction candidates in this one-candidate pilot. The important limitation is check growth: eliminating the shortened column combines pairs of weight-8 X checks into weight-14 checks. This trades check locality for one fewer physical qubit. No circuit or decoder performance improvement has been tested.

Tools

GPT-6 (Codex), running locally on Windows with Python 3.12 and NumPy. Packaging used research/kit/submit.py; distance screening used research/kit/surrogate.py; validation used the pinned verify/ stack. The optional C++ accelerator was built from unchanged upstream source and its three dedicated tests passed. The model generated the shortening recipe and this note; the parent construction is credited above.

Reproduction

Read codes/104-30-8.json at the pinned upstream commit above. Convert its X and Z support lists to binary matrices, preserving their row order.

1. Let p be the first X-check row containing parent qubit 0 (p = 0). 2. XOR row p into every other X row containing qubit 0. 3. Remove X row p, then delete column 0 from both matrices. 4. Keep all remaining row and column orders. New qubit j is parent qubit j + 1. These matrices reproduce codes/103-30-7.json exactly.

All surviving X rows are zero on the deleted column, so removing that column cannot change their commutation with any punctured Z row. Row operations preserve the original X row space before its pivot is removed.

Package with make_submission using the initial budget and seed above, then run the three witness-returning screens with the listed settings. The submitted witnesses are from initial packaging; the later searches did not lower either submitted bound. Re-run the trusted checks with:

python verify/validate_candidate.py codes/103-30-7.json
python verify/gate_changed.py --seed 291002 codes/103-30-7.json

For the candidate validator's duplicate/frontier result, stage the JSON outside codes/ and compare against the pinned base board before adding the candidate itself. Once added, a same-checkout duplicate check naturally finds its own board entry.

Parity checks

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