← back to the board
[[90,17,6]] d ≤
n
90
k
17
d
6
kd²/n
6.8
w
7
X/Z
1.17
g
0.0028
r
7.0
layers
2
swaps
487

Share this result

Distance

X/Z asymmetry 1.17 · d_X ≤ 7, d_Z ≤ 6 · w_X = 7, w_Z = 7 (max(d_X,d_Z)/min(d_X,d_Z); each side carries its own earned tier: = certified exact, ≤ witness upper bound)
d_X 7 · witness weight 7 (claimed upper_bound)
witness found by @vprusso · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-11-03
witness operator (support, 7 qubits)
[4, 10, 18, 21, 43, 46, 51]
d_Z 6 · witness weight 6 (claimed upper_bound)
witness found by @vprusso · research/kit/surrogate.lightest_logical · found at 2000 trials · survived 2000 trials · 2026-11-03
witness operator (support, 6 qubits)
[12, 28, 43, 45, 68, 83]
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 6 · H_Z 6 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 7 · H_Z 7
qubit degrees H_X 1–4 (mean 2.8) · H_Z 1–4 (mean 2.878)
trapping sets H_X (1,1)×5 (2,1)×4 (3,1)×8 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 5 (1,2): 28 (1,3): 37 (1,4): 20 (2,1): 4 (2,2): 54 (2,3): 135 (2,4): 290 (2,5): 207 (2,6): 66 (3,1): 8 (3,2): 122 (3,3): 463 (3,4): 1571 (3,5): 2746 (3,6): 2871 (3,7): 1550 (3,8): 566 (3,9): 135 (3,10): 26
trapping sets H_Z (1,1)×4 (2,1)×4 (3,1)×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): 4 (1,2): 24 (1,3): 41 (1,4): 21 (2,1): 4 (2,2): 34 (2,3): 132 (2,4): 295 (2,5): 244 (2,6): 68 (3,1): 4 (3,2): 84 (3,3): 355 (3,4): 1449 (3,5): 2818 (3,6): 3252 (3,7): 1780 (3,8): 633 (3,9): 158 (3,10): 26
witness diameter X 6.0828 · Z 6.0828 (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 = 7
X checkZ checkqubit site (46)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 487 nearest-neighbor SWAPs per round in total, at most 11 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 @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction Priced construction calculus C-DELETE-CHECK of codes/90-16-7.json ([[90,16,7]], max check weight 7; a weight-7 generalized bicycle code contributed by Mathys Rennela): delete X check a1 (rows numbered in file order after dropping dependent rows, as machine/priced_calculus.py labels them) and keep every qubit at its parent index. Consumer: github.com/unitaryfoundation/code-calculus @ 1b9a942, machine/priced_calculus.py.
model Claude Claude Fable 5.1 (claimed, not verified)
date 2026-11-04
notes Single-step priced-calculus C-DELETE-CHECK child of board entry 90-16-7. verify/validate_candidate.py found no board entry sharing this code's fingerprint or Weisfeiler-Leman signature, local-Hadamard images included.
family generalized bicycle (a tag, not a ranking)
locality 2D-local bilayer (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

[[90,17,6]] priced calculus C-DELETE-CHECK of codes/90-16-7.json

Direction & hypothesis

2D-local bilayer weight-8 CSS cell, through the layout inherited from the parent. The priced construction calculus was applied one move deep to every CSS entry on the board, and this code is the C-DELETE-CHECK of codes/90-16-7.json ([[90,16,7]], max check weight 7; a weight-7 generalized bicycle code contributed by Mathys Rennela). Deleting X check a1 raises k from 16 to 17 and lowers the witnessed distance bound from 7 to 6; n = 90 and the max check weight 7 are unchanged. The layout is the parent's unchanged, since no qubit was removed; the verifier re-measured its radius and layer count.

What was searched

Every C-DELETE-CHECK, E-PEEL, and E-PUNCTURE move on each of the 2,783 CSS board entries as of 2026-11-02, 1,684,787 moves in all, with the consumer at github.com/unitaryfoundation/code-calculus @ 1b9a942. Children with a bare qubit, a disconnected Tanner graph, a Weisfeiler-Leman signature equal to a board entry or to an earlier child, or parameters already dominated inside the parent's cell were dropped before any search, leaving 334,191 distinct children. Children with n <= 60 and an inherited distance bound of at least 2, and children with 61 <= n <= 100 and a bound of at least 5, were screened with research/kit/surrogate.lightest_logical at 2,000 RIS trials per side; the survivors the kit's novelty pre-check called board-advancing were staged with research/kit/submit.py and gated with verify/validate_candidate.py, one representative per distinct (n, k, d, max weight, locality) point. This code is that representative for [[90,17,6]] at max check weight 7. The thirteen points audited first went to the board on 2026-11-04 (PRs #4588 to #4600); this one is from the remainder, re-checked against the board of 2026-11-04 with the gate's structural, deduplication, and novelty stages before the ladder below was run. The screen distance is a witness-backed upper bound; the rungs below are the independent confirmation runs on the staged file.

Evidence trail

Confirmation ladder for the submitted code, each rung a fresh seed unless marked otherwise, reading the lightest logical found:

| budget (trials/side) | lightest logical | | ---: | ---: | | 2,000 (staging screen, seeds 1 and 2) | 6 | | 1,000,000 (seed 101) | 6 | | 1,000,000 (seed 102) | 6 | | 10,000,000 (seed 103) | 6 |

4 fresh-seed rung(s) agree at the best bound, the deepest of them at 10,000,000 trials per side. The submitted witness reproduces it: X: d <= 7 (upper_bound), Z: d <= 6 (upper_bound).

Dead ends

None recorded for this candidate.

Tools

Model: Claude Fable 5.1 (Claude Code). Repo tooling: research/kit/coordination.py, research/kit/submit.py, research/kit/surrogate.py, research/audits/leader_audit.py. The local verdict is verify/validate_candidate.py; the bundle was assembled by research/kit/promote.py.

Reproduction

Load codes/90-16-7.json and delete X check a1, where the X rows are numbered a1, a2, ... in file order after dropping rows dependent on earlier ones, as CodeState.from_challenge in machine/priced_calculus.py labels them; every qubit keeps its index. In github.com/unitaryfoundation/code-calculus @ 1b9a942 this is apply_operation(state, {'op': 'C-DELETE-CHECK', 'row_id': 'a1'}). Then run research/audits/leader_audit.py ladder on the result with --ladder 1000000:101,102 10000000:103 to reproduce the confirmation rungs; the witnesses in the entry are the ones those runs validated.

Parity checks

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