← back to the board
[[40,10,5]] d ≤
n
40
k
10
d
5
kd²/n
6.25
w
8
X/Z
1

Share this result

Distance

X/Z asymmetry 1 · d_X ≤ 5, d_Z ≤ 5 · w_X = 8, 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 5 · witness weight 5 (claimed upper_bound)
witness found by @vprusso · research/kit/surrogate.lightest_logical · found at 3000 trials · survived 3000 trials · 2026-11-03
witness operator (support, 5 qubits)
[4, 14, 18, 22, 32]
d_Z 5 · witness weight 5 (claimed upper_bound)
witness found by @vprusso · research/kit/surrogate.lightest_logical · found at 3000 trials · survived 3000 trials · 2026-11-03
witness operator (support, 5 qubits)
[0, 8, 9, 10, 29]
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 4 (shortest cycle of each side’s Tanner graph; longer is friendlier to belief propagation)
check weights H_X 7–8 (mean 7.8) · H_Z 7–8 (mean 7.867)
qubit degrees H_X 1–5 (mean 2.925) · H_Z 1–5 (mean 2.95)
trapping sets H_X (1,1)×1 (2,1)×8 (3,1)×26 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 1 (1,2): 16 (1,3): 13 (1,4): 5 (1,5): 5 (2,1): 8 (2,2): 37 (2,3): 78 (2,4): 81 (2,5): 71 (2,6): 43 (2,7): 14 (2,8): 5 (3,1): 26 (3,2): 113 (3,3): 442 (3,4): 737 (3,5): 780 (3,6): 742 (3,7): 486 (3,8): 233 (3,9): 78 (3,10): 22 (3,11): 3 (3,13): 1
trapping sets H_Z (1,1)×3 (2,1)×7 (3,1)×16 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 3 (1,2): 12 (1,3): 11 (1,4): 12 (1,5): 2 (2,1): 7 (2,2): 32 (2,3): 75 (2,4): 93 (2,5): 66 (2,6): 57 (2,7): 11 (2,8): 1 (3,1): 16 (3,2): 122 (3,3): 421 (3,4): 698 (3,5): 819 (3,6): 809 (3,7): 520 (3,8): 252 (3,9): 57 (3,10): 21 (3,11): 2

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction Priced construction calculus E-PEEL of codes/41-10-5.json ([[41,10,5]], max check weight 8; itself Mathys Rennela's priced-calculus E-PEEL of codes/42-10-6.json, a generalized bicycle code reconstructed from qecdb record 67ac182d9d65c7b409826af2): delete qubit 22 (0-based index in the parent file) together with its unique Z check b5, and relabel the surviving qubits in increasing order of their parent indices. 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 E-PEEL child of board entry 41-10-5. verify/validate_candidate.py found no board entry sharing this code's fingerprint or Weisfeiler-Leman signature, local-Hadamard images included.
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

[[40,10,5]] priced calculus E-PEEL of codes/41-10-5.json

Direction & hypothesis

Unrestricted weight-8 CSS cell. The priced construction calculus was applied one move deep to every CSS entry on the board, and this code is the E-PEEL of codes/41-10-5.json ([[41,10,5]], max check weight 8; itself Mathys Rennela's priced-calculus E-PEEL of codes/42-10-6.json, a generalized bicycle code reconstructed from qecdb record 67ac182d9d65c7b409826af2). Peeling qubit 22 with the one Z check that touches it keeps k = 10 and keeps the witnessed distance bound at 5 while dropping one qubit. Max check weight stays 8.

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 [[40,10,5]] at max check weight 8. 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 | | ---: | ---: | | 3,000 (staging screen, seeds 1 and 2) | 5 | | 1,000,000 (seed 101) | 5 | | 1,000,000 (seed 102) | 5 | | 10,000,000 (seed 103) | 5 |

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 <= 5 (upper_bound), Z: d <= 5 (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/41-10-5.json, delete qubit 22 (0-based index in that file) together with its unique Z check b5, where the Z rows are numbered b1, b2, ... in file order after dropping rows dependent on earlier ones, as CodeState.from_challenge in machine/priced_calculus.py labels them, and relabel the surviving qubits in increasing order of their parent indices; in github.com/unitaryfoundation/code-calculus @ 1b9a942 this is apply_operation(state, {'op': 'E-PEEL', 'qubit': 22, 'sector': 'Z', 'row_id': 'b5'}). 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 15 (max weight 8) · Z-checks 15 (max weight 8)
H_X (15 checks, sparse supports)
[3, 10, 17, 23, 29, 30, 32, 37] [5, 14, 18, 24, 28, 37, 38, 39] [4, 13, 17, 23, 34, 36, 37, 38] [6, 8, 19, 25, 29, 31, 38, 39] [0, 2, 10, 20, 31, 32, 35] [1, 12, 15, 20, 21, 27, 35, 36] [3, 7, 16, 22, 33, 35, 36, 37] [0, 5, 8, 23, 24, 25, 28, 35] [2, 12, 17, 21, 26, 32, 38] [1, 7, 18, 21, 22, 27, 39] [3, 13, 19, 21, 22, 23, 31, 33] [1, 9, 16, 22, 28, 29, 30, 36] [4, 11, 14, 20, 22, 23, 24, 34] [6, 9, 15, 24, 25, 26, 29, 36] [4, 12, 18, 24, 27, 30, 32, 38]
H_Z (15 checks, sparse supports)
[4, 5, 6, 12, 18, 24, 27, 38] [6, 8, 9, 10, 19, 25, 29, 31] [5, 8, 9, 14, 18, 24, 28, 39] [9, 10, 11, 12, 20, 26, 30] [1, 7, 12, 13, 15, 21, 27, 36] [3, 7, 13, 14, 16, 22, 33, 37] [4, 8, 13, 14, 17, 23, 34, 38] [6, 9, 15, 16, 17, 26, 29, 36] [1, 7, 11, 18, 19, 22, 27, 39] [0, 3, 11, 13, 19, 23, 31, 33] [0, 4, 11, 14, 15, 20, 24, 34] [3, 4, 5, 10, 17, 23, 32, 37] [0, 5, 8, 15, 16, 25, 28, 35] [2, 12, 17, 18, 19, 21, 32, 38] [5, 6, 7, 19, 25, 33, 39]
Code ID 40-10-5 · download JSON · raw on GitHub