{
 "schema_version": "0.2",
 "name": "[[82,22,3]] reduction of [[87,22,3]]",
 "code_type": "CSS",
 "n": 82,
 "k": 22,
 "checks": {
  "X": [
   [
    0,
    10,
    20,
    30,
    40,
    50,
    60,
    70,
    75
   ],
   [
    1,
    11,
    21,
    31,
    41,
    51,
    61,
    71,
    76
   ],
   [
    2,
    12,
    22,
    32,
    42,
    52,
    62,
    72,
    75,
    76
   ],
   [
    3,
    13,
    23,
    33,
    43,
    53,
    63,
    73,
    76
   ],
   [
    4,
    14,
    24,
    34,
    44,
    54,
    64,
    74,
    75,
    76
   ],
   [
    5,
    10,
    25,
    30,
    45,
    50,
    65,
    70,
    77
   ],
   [
    6,
    11,
    26,
    31,
    46,
    51,
    66,
    71
   ],
   [
    7,
    12,
    27,
    32,
    47,
    52,
    67,
    72,
    77
   ],
   [
    8,
    13,
    28,
    33,
    48,
    53,
    68,
    73
   ],
   [
    9,
    14,
    29,
    34,
    49,
    54,
    69,
    74,
    77
   ],
   [
    15,
    20,
    25,
    30,
    55,
    60,
    65,
    70,
    78
   ],
   [
    16,
    21,
    26,
    31,
    56,
    61,
    66,
    71,
    79
   ],
   [
    17,
    22,
    27,
    32,
    57,
    62,
    67,
    72,
    79
   ],
   [
    18,
    23,
    28,
    33,
    58,
    63,
    68,
    73,
    78,
    79
   ],
   [
    19,
    24,
    29,
    34,
    59,
    64,
    69,
    74,
    78,
    79
   ],
   [
    35,
    40,
    45,
    50,
    55,
    60,
    65,
    70,
    80
   ],
   [
    36,
    41,
    46,
    51,
    56,
    61,
    66,
    71,
    81
   ],
   [
    37,
    42,
    47,
    52,
    57,
    62,
    67,
    72,
    81
   ],
   [
    38,
    43,
    48,
    53,
    58,
    63,
    68,
    73,
    80,
    81
   ],
   [
    39,
    44,
    49,
    54,
    59,
    64,
    69,
    74,
    80,
    81
   ]
  ],
  "Z": [
   [
    0,
    2,
    4,
    75
   ],
   [
    0,
    3,
    4,
    22,
    23,
    30,
    32,
    34,
    77,
    78
   ],
   [
    1,
    2,
    3,
    4,
    76
   ],
   [
    5,
    8,
    9,
    22,
    23,
    32,
    33,
    77
   ],
   [
    6,
    7,
    8,
    9,
    71,
    72,
    73,
    74,
    76,
    79,
    81
   ],
   [
    10,
    12,
    14,
    75,
    77
   ],
   [
    10,
    13,
    14,
    30,
    33,
    34,
    78
   ],
   [
    11,
    12,
    13,
    14,
    71,
    72,
    73,
    74,
    79,
    81
   ],
   [
    15,
    17,
    19,
    50,
    52,
    54,
    60,
    62,
    64,
    77
   ],
   [
    15,
    18,
    19,
    78
   ],
   [
    16,
    17,
    18,
    19,
    79
   ],
   [
    20,
    22,
    24,
    30,
    32,
    34,
    77
   ],
   [
    21,
    22,
    23,
    24,
    76,
    79
   ],
   [
    25,
    27,
    29,
    50,
    52,
    54,
    60,
    62,
    64
   ],
   [
    22,
    23,
    25,
    28,
    29,
    32,
    33,
    77,
    78
   ],
   [
    26,
    27,
    28,
    29,
    71,
    72,
    73,
    74,
    76,
    81
   ],
   [
    30,
    32,
    34,
    50,
    52,
    54,
    60,
    62,
    64,
    75
   ],
   [
    31,
    32,
    33,
    34,
    71,
    72,
    73,
    74,
    81
   ],
   [
    5,
    7,
    9,
    35,
    37,
    39,
    50,
    52,
    54,
    75
   ],
   [
    35,
    38,
    39,
    80
   ],
   [
    36,
    37,
    38,
    39,
    81
   ],
   [
    5,
    7,
    9,
    40,
    42,
    44,
    50,
    52,
    54
   ],
   [
    22,
    23,
    30,
    32,
    34,
    40,
    43,
    44,
    77,
    78,
    80
   ],
   [
    41,
    42,
    43,
    44,
    76,
    81
   ],
   [
    5,
    7,
    9,
    45,
    47,
    49,
    50,
    52,
    54,
    75,
    77
   ],
   [
    22,
    23,
    32,
    33,
    45,
    48,
    49,
    77,
    80
   ],
   [
    46,
    47,
    48,
    49,
    71,
    72,
    73,
    74,
    76,
    79
   ],
   [
    30,
    33,
    34,
    50,
    53,
    54,
    78,
    80
   ],
   [
    51,
    52,
    53,
    54,
    71,
    72,
    73,
    74,
    79
   ],
   [
    5,
    7,
    9,
    55,
    57,
    59,
    60,
    62,
    64,
    75,
    77
   ],
   [
    55,
    58,
    59,
    78,
    80
   ],
   [
    56,
    57,
    58,
    59,
    79,
    81
   ],
   [
    5,
    7,
    9,
    77
   ],
   [
    22,
    23,
    30,
    32,
    34,
    60,
    63,
    64,
    77,
    80
   ],
   [
    61,
    62,
    63,
    64,
    76,
    79,
    81
   ],
   [
    5,
    7,
    9,
    60,
    62,
    64,
    65,
    67,
    69,
    75
   ],
   [
    22,
    23,
    32,
    33,
    65,
    68,
    69,
    77,
    78,
    80
   ],
   [
    66,
    67,
    68,
    69,
    71,
    72,
    73,
    74,
    76
   ],
   [
    5,
    7,
    9,
    60,
    62,
    64,
    70,
    72,
    74
   ],
   [
    30,
    33,
    34,
    70,
    73,
    74,
    80
   ]
  ]
 },
 "distance": {
  "d": 3,
  "X": {
   "value": 3,
   "confidence": "upper_bound",
   "witness": [
    55,
    57,
    58
   ],
   "witness_provenance": {
    "found_by": [
     "@dorakingx"
    ],
    "date": "2026-09-15",
    "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": [
    34,
    44,
    69
   ],
   "witness_provenance": {
    "found_by": [
     "@dorakingx"
    ],
    "date": "2026-09-15",
    "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/87-22-3.json ([[87,22,3]]) by 5 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 |S| = 6: 2, |S| = 8: 3. 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/87-22-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-09-15",
  "notes": "Derived from codes/87-22-3.json, not an independent construction; the source's authors are @mathysrennela and the reduction is mine. The gate reports no exact duplicate and no WL-equivalent entry. It dominates [[87,22,3]] on (n, k, d, w), which therefore leaves the frontier of every cell the two share. 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": "hypergraph-product"
}
