← back to the board
[[46,8,5]] d ≤
n
46
k
8
d
5
kd²/n
4.34783
w
6
X/Z
1.2

Share this result

Distance

X/Z asymmetry 1.2 · d_X ≤ 6, d_Z ≤ 5 · w_X = 6, w_Z = 6 (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 found by @vprusso · research/kit/surrogate.lightest_logical · found at 3000 trials · survived 3000 trials · 2026-11-03
witness operator (support, 6 qubits)
[2, 10, 16, 32, 33, 34]
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)
[1, 7, 8, 19, 40]
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 6 · H_Z 5–6 (mean 5.8)
qubit degrees H_X 1–3 (mean 2.348) · H_Z 1–3 (mean 2.522)
trapping sets H_X (1,1)×4 (2,1)×11 (3,1)×39 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_X
(1,1): 4 (1,2): 22 (1,3): 20 (2,1): 11 (2,2): 60 (2,3): 115 (2,4): 78 (3,1): 39 (3,2): 189 (3,3): 576 (3,4): 744 (3,5): 419 (3,6): 121 (3,7): 48
trapping sets H_Z (1,1)×2 (2,1)×7 (3,1)×11 (smallest syndrome weight at each size, connected sets of up to 3 qubits)
full (size, syndrome weight): count census for H_Z
(1,1): 2 (1,2): 18 (1,3): 26 (2,1): 7 (2,2): 31 (2,3): 119 (2,4): 116 (3,1): 11 (3,2): 111 (3,3): 418 (3,4): 875 (3,5): 645 (3,6): 143 (3,7): 85

Construction & provenance

authors @vprusso
provenance submitted through the challenge
novelty novelty not audited
construction Priced construction calculus E-PEEL of codes/47-8-5.json ([[47,8,5]], max check weight 6; itself Mathys Rennela's priced-calculus E-PEEL of codes/48-8-6-b.json, a coset code over SmallGroup(384,512) from arXiv:2606.17268): delete qubit 23 (0-based index in the parent file) together with its unique X check a9, 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 47-8-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 ≤ 6 (computed)

How this code was found

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

[[46,8,5]] priced calculus E-PEEL of codes/47-8-5.json

Direction & hypothesis

Unrestricted weight-6 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/47-8-5.json ([[47,8,5]], max check weight 6; itself Mathys Rennela's priced-calculus E-PEEL of codes/48-8-6-b.json, a coset code over SmallGroup(384,512) from arXiv:2606.17268). Peeling qubit 23 with the one X check that touches it keeps k = 8 and keeps the witnessed distance bound at 5 while dropping one qubit. Max check weight stays 6.

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 [[46,8,5]] at max check weight 6. 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 <= 6 (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/47-8-5.json, delete qubit 23 (0-based index in that file) together with its unique X check a9, 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, 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': 23, 'sector': 'X', 'row_id': 'a9'}). 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 18 (max weight 6) · Z-checks 20 (max weight 6)
H_X (18 checks, sparse supports)
[0, 8, 14, 23, 38, 40] [1, 9, 19, 24, 41, 43] [0, 2, 20, 25, 26, 44] [3, 16, 21, 26, 30, 32] [4, 5, 17, 27, 31, 44] [5, 6, 16, 28, 29, 45] [2, 6, 12, 29, 34, 36] [2, 7, 8, 30, 31, 33] [4, 10, 12, 32, 33, 38] [11, 13, 22, 25, 33, 39] [3, 12, 13, 34, 35, 37] [1, 8, 13, 24, 35, 42] [14, 15, 22, 36, 37, 41] [10, 15, 20, 28, 37, 42] [9, 15, 16, 25, 27, 38] [1, 10, 17, 26, 39, 40] [11, 18, 19, 27, 30, 40] [11, 20, 21, 29, 42, 43]
H_Z (20 checks, sparse supports)
[0, 9, 22, 23, 25, 41] [1, 13, 24, 35, 39] [2, 11, 16, 25, 29, 30] [2, 3, 17, 26, 31, 34] [4, 16, 18, 27, 32, 45] [5, 15, 19, 27, 28, 41] [5, 6, 20, 28, 29, 44] [7, 19, 21, 30, 43] [3, 8, 18, 23, 30, 35] [4, 8, 9, 24, 31, 38] [3, 10, 22, 32, 37, 39] [8, 10, 11, 33, 40, 42] [6, 12, 21, 29, 32, 34] [7, 12, 13, 33, 34, 35] [6, 14, 23, 36, 45] [12, 14, 15, 36, 37, 38] [0, 10, 16, 26, 28, 38] [9, 11, 17, 27, 39, 43] [0, 17, 18, 40, 44] [1, 14, 19, 24, 40, 41]
Code ID 46-8-5 · download JSON · raw on GitHub