{
 "schema_version": "0.2",
 "name": "[[117,38,3]] reduction of [[119,38,3]]",
 "code_type": "CSS",
 "n": 117,
 "k": 38,
 "checks": {
  "X": [
   [
    23,
    33,
    79,
    90,
    103,
    112
   ],
   [
    12,
    13,
    28,
    56,
    57,
    103
   ],
   [
    2,
    4,
    9,
    50,
    52,
    97
   ],
   [
    11,
    28,
    36,
    50,
    107,
    108
   ],
   [
    32,
    44,
    46,
    56,
    65,
    75
   ],
   [
    10,
    44,
    74,
    81,
    88,
    102
   ],
   [
    1,
    22,
    34,
    51,
    95,
    105
   ],
   [
    36,
    48,
    53,
    88,
    92,
    116
   ],
   [
    7,
    51,
    73,
    76,
    101,
    108
   ],
   [
    29,
    42,
    49,
    81,
    84,
    99
   ],
   [
    3,
    31,
    46,
    86,
    109
   ],
   [
    9,
    35,
    45,
    62,
    67,
    114
   ],
   [
    25,
    26,
    62,
    106,
    115,
    116
   ],
   [
    19,
    40,
    66,
    70,
    115
   ],
   [
    0,
    15,
    47,
    64,
    70,
    94
   ],
   [
    7,
    8,
    14,
    79,
    84
   ],
   [
    16,
    20,
    59,
    60,
    112,
    113
   ],
   [
    20,
    25,
    30,
    32,
    61,
    111
   ],
   [
    48,
    58,
    69,
    89,
    90,
    104
   ],
   [
    38,
    55,
    72,
    76,
    106,
    109
   ],
   [
    19,
    54,
    57,
    77,
    82,
    85
   ],
   [
    2,
    85,
    86,
    91,
    98,
    99
   ],
   [
    14,
    37,
    41,
    67,
    75,
    78
   ],
   [
    3,
    6,
    18,
    47,
    58,
    68
   ],
   [
    15,
    41,
    91,
    92,
    95,
    113
   ],
   [
    0,
    10,
    17,
    33,
    55,
    97
   ],
   [
    11,
    30,
    49,
    64,
    71,
    93
   ],
   [
    37,
    38,
    39,
    69,
    82,
    93
   ],
   [
    1,
    13,
    26,
    29,
    63,
    68
   ],
   [
    21,
    39,
    74,
    87,
    100,
    105
   ],
   [
    5,
    61,
    98,
    101,
    104
   ],
   [
    12,
    24,
    45,
    87,
    94
   ],
   [
    24,
    27,
    42,
    60,
    72,
    96
   ],
   [
    22,
    23,
    35,
    43,
    71
   ],
   [
    4,
    6,
    8,
    83,
    100,
    111
   ],
   [
    21,
    31,
    40,
    59,
    80,
    107
   ],
   [
    27,
    43,
    53,
    77,
    83,
    110
   ]
  ],
  "Z": [
   [
    34,
    48,
    89,
    92,
    95
   ],
   [
    2,
    46,
    52,
    65,
    86
   ],
   [
    62,
    73,
    76,
    106,
    114
   ],
   [
    25,
    32,
    62,
    67,
    75
   ],
   [
    23,
    27,
    43,
    60,
    112
   ],
   [
    21,
    80,
    83,
    100,
    110
   ],
   [
    66,
    72,
    96,
    106,
    115
   ],
   [
    6,
    58,
    61,
    104,
    111
   ],
   [
    6,
    18,
    74,
    100,
    102
   ],
   [
    26,
    47,
    68,
    70,
    115
   ],
   [
    8,
    30,
    49,
    84,
    111
   ],
   [
    37,
    39,
    44,
    74,
    75
   ],
   [
    20,
    31,
    32,
    46,
    59
   ],
   [
    15,
    40,
    59,
    70,
    113
   ],
   [
    19,
    28,
    40,
    57,
    107
   ],
   [
    17,
    31,
    55,
    80,
    109
   ],
   [
    13,
    29,
    44,
    56,
    81
   ],
   [
    48,
    53,
    69,
    77,
    82
   ],
   [
    16,
    88,
    92,
    102,
    113
   ],
   [
    11,
    25,
    30,
    36,
    116
   ],
   [
    27,
    42,
    77,
    85,
    99
   ],
   [
    14,
    17,
    33,
    78,
    79
   ],
   [
    39,
    64,
    87,
    93,
    94
   ],
   [
    24,
    34,
    87,
    96,
    105
   ],
   [
    4,
    9,
    35,
    43,
    83
   ],
   [
    10,
    42,
    55,
    72,
    81
   ],
   [
    7,
    16,
    73,
    79,
    112
   ],
   [
    11,
    23,
    28,
    71,
    103
   ],
   [
    2,
    50,
    98,
    101,
    108
   ],
   [
    21,
    51,
    105,
    107,
    108
   ],
   [
    1,
    7,
    29,
    51,
    84
   ],
   [
    38,
    69,
    76,
    101,
    104
   ],
   [
    12,
    45,
    54,
    57,
    114
   ],
   [
    0,
    33,
    47,
    58,
    90
   ],
   [
    3,
    18,
    54,
    85,
    86
   ],
   [
    22,
    35,
    41,
    67,
    95
   ],
   [
    15,
    49,
    64,
    91,
    99
   ],
   [
    26,
    53,
    63,
    110,
    116
   ],
   [
    56,
    65,
    89,
    90,
    103
   ],
   [
    10,
    36,
    50,
    88,
    97
   ],
   [
    5,
    41,
    78,
    91,
    98
   ],
   [
    0,
    9,
    45,
    94,
    97
   ]
  ]
 },
 "distance": {
  "d": 3,
  "X": {
   "value": 3,
   "confidence": "upper_bound",
   "witness": [
    19,
    28,
    71
   ],
   "witness_provenance": {
    "found_by": [
     "@dorakingx"
    ],
    "date": "2026-10-02",
    "found_at_samples": 20000,
    "survived_samples": 20000000,
    "tool": "gf2_fast RIS ladder (verify/gf2_fast.cpp), both sides searched jointly",
    "seeds": [
     777001,
     777138,
     777275,
     777412,
     777549
    ]
   }
  },
  "Z": {
   "value": 3,
   "confidence": "upper_bound",
   "witness": [
    18,
    63,
    68
   ],
   "witness_provenance": {
    "found_by": [
     "@dorakingx"
    ],
    "date": "2026-10-02",
    "found_at_samples": 4000,
    "survived_samples": 20000000,
    "tool": "gf2_fast RIS in the packaging search; the ladder searched both sides jointly",
    "seeds": [
     7,
     777001,
     777138,
     777275,
     777412,
     777549
    ]
   }
  }
 },
 "provenance": {
  "authors": [
   "@dorakingx"
  ],
  "construction": "Reduction of the board's codes/119-38-3.json ([[119,38,3]]) by 2 qubits at unchanged k, unchanged check-weight class and unchanged locality class, by one move applied to a fixpoint: graft a qubit away using a low-weight element of the stabilizer ROW SPACE. Let S be an element of the row space of H_X with support T and let a be in T. Replace one generator of the subset summing to S by S itself -- the span is unchanged, that generator being S plus the rest of the subset -- and add S into every other X row meeting a, so that a survives only in S. Then apply the CNOT fan-out from a to T\\{a}, which acts on the check matrices as H_X[:, b] ^= H_X[:, a] and H_Z[:, a] ^= H_Z[:, b] for each b in T\\{a}. Only S still meets a, so the first substitution turns S into the weight-1 stabilizer X_a and leaves every other X row alone; the second zeroes column a of H_Z, because commutation forces every Z row to meet T an even number of times. Qubit a is then disentangled and is deleted: n -> n-1, k unchanged, and the Z rows only LOSE an index, so their weights and support diameters cannot rise. The weight of S separates three regimes, and the difference is entirely in the clearing step R ^= S. |S| = 1: nothing is added anywhere, so the weights, the radius AND THE DISTANCE are all preserved exactly, and no distance search is needed -- this is the row-space form of the weight-1 stabilizer cleanup of Liang, Eberhardt and Chen (arXiv:2504.08887 Sec. III D step 4), which the implementation in research/local2d/boundary_engine.py applies only to literal weight-1 generator ROWS. |S| = 2: R loses a and toggles one other index, so its weight changes by 0 or -2 and can never rise. |S| >= 3: R can grow, so every touched row is checked against the code's weight class and its locality radius, measured in the source's own layout. This generalises the capped merge-graft I introduced with [[454,8,17]], which only ever built S from the generators a single qubit happens to lie in. Here the accepted grafts were . Low-weight row-space elements are enumerated as sums of at most three checks with a connected overlap pattern. Every graft with |S| >= 2 was accepted only if k was unchanged and a bit-packed RIS search found nothing lighter than 3, screened once and confirmed twice with independent seeds; those in-loop rungs are a filter, not the evidence. QUBIT POSITIONS ARE THE SOURCE'S: every surviving qubit keeps the coordinate it has in codes/119-38-3.json, so the layout is inherited rather than re-derived, and the reduction only deletes. The surviving qubits' indices into the source numbering are [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]... (full list implied by the coordinates in this file).",
  "references": [
   "arXiv:2504.08887"
  ],
  "date": "2026-10-02",
  "notes": "Derived from codes/119-38-3.json, not an independent construction; the source's authors are @vprusso and the reduction is mine. The gate reports no exact duplicate and no WL-equivalent entry. It dominates [[119,35,3]], [[119,36,3]], [[119,37,3]], [[119,38,3]], [[120,36,2]], [[126,36,2]] on (n, k, d, w), which therefore leave the frontier of every cell they share with it. Distance is a witness-backed upper bound: the deepest null result is 20000000 fresh-seed RIS trials. Literature novelty is unverified.",
  "model": "Claude Opus 5 (Claude Code)",
  "origin": "submission",
  "novelty": "unknown"
 },
 "family": "check-deletion"
}
