Every module so far lived on the surface code, a flat grid you can click. The gross code is the frontier: it stores 12 logical qubits in 144 physical ones, where a surface code would need thousands. The price is that its stabilizers reach across the whole code, not just to neighbors, so it cannot honestly be drawn as a tidy grid. Here it is two ways: as the Tanner graph its decoder actually sees, and as a live decode lab where you inject real errors and watch real BP-OSD clean them up.
To protect 12 logical qubits this well, a surface code would need roughly:
That order-of-magnitude saving is the whole point of qLDPC, and the price is the long-range wiring you see in the graph.
Bravyi et al., Nature 627 (2024). Everything here is computed live in qldpc-core.js, the same engine the decode lab uses.
Belief propagation passes reliabilities along the Tanner graph you just explored. On qLDPC codes BP alone often stalls, so OSD-0 post-processing solves the syndrome equations exactly over GF(2). The result always returns to the codespace.
But returning to the codespace is not the same as being right: the correction can differ from the true error by a logical operator, which no syndrome-only decoder can detect. The lab reports that honestly.
This code has distance 12, so it is guaranteed to fix any error of weight up to 5. Past that, even a perfect decoder starts to guess. Try the Heavy (w=8) preset a few times and you will eventually see a logical error slip through, which is real, not a bug.
The surface code is easy to build because every check is local: neighboring qubits, short wires, a clean 2D chip. The gross code throws that away. Its checks are long-range, which is why it looks like a web instead of a grid, and why it needs long-distance connections that are hard to fabricate. In exchange, it protects the same information with roughly ten times fewer qubits.
That is the central bet of the qLDPC program: if the hardware can be built, the qubit savings are enormous. The decoder does not care about geometry at all. BP-OSD reads the Tanner graph directly, which is exactly why the same algorithm you saw win the surface-code race also drives the frontier codes. The physics on this page is computed live from the code's defining polynomials, and checked against its invariants in the test suite.