Fault-Tolerant Syndrome Extraction
Every quantum error-correcting code rests on a promise: measure the stabilizers, read the syndrome, and repair the damage before it accumulates. But the measurement is itself a quantum circuit built from noisy gates, and a circuit can betray the very code it serves. The textbook syndrome circuit couples one ancilla qubit to every data qubit in the support of a stabilizer and reads the ancilla — correct in a noiseless world, catastrophic in a real one. A single fault on that shared ancilla, struck midway, propagates through the remaining CNOTs and lands as a correlated, high-weight error on the data. One fault becomes weight- damage; the code's distance is silently spent, and the protection evaporates exactly when it is needed. Fault-tolerant syndrome extraction is the discipline of building measurement gadgets that cannot do this. The governing requirement is deceptively simple — no single faulty location may produce more than one correctable error on the encoded data, so that faults yield at most residual errors and the distance- guarantee survives the act of measuring. Three classic constructions meet it: Shor's verified cat-state ancilla, which gives each data qubit its own wire so a fault cannot fan out; Steane's and Knill's encoded-ancilla blocks, which read an entire syndrome or teleport the data transversally in one shot; and the modern flag schemes, which use one or two "tripwire" qubits to catch precisely the dangerous events while an ordinary ancilla does the routine work. Layered on top is a temporal fix: because the measurement can lie, the cycle is repeated times and the space-time record decoded, separating persistent data errors from fleeting measurement faults. This gadget-level engineering is the hinge on which the threshold theorem — and therefore all of scalable quantum computing — turns.
- Measuring a weight- stabilizer with one shared ancilla is not fault tolerant: a single mid-circuit ancilla fault propagates through the CNOTs into a weight-up-to- correlated data error, exceeding the correction radius and spending the code distance.
- The gadget criterion is that any faults leave a residual data error of weight at most — so faults stay correctable and the distance- promise remains usable.
- Shor's scheme replaces the shared ancilla with a verified -qubit cat (GHZ) state, one qubit per data qubit, so a single fault kicks only one data qubit; the bitwise measurement is repeated to defeat measurement faults.
- Steane and Knill schemes prepare a whole encoded ancilla block — a logical / or a Bell pair — and interact it transversally, reading a full syndrome or teleporting the data in constant depth at the cost of a code block of ancillas.
- Flag fault tolerance uses one or two extra qubits to detect exactly the "hook" errors that would grow to weight , running a distance-3 code with only ancilla qubits.
- Repeating the noisy cycle times and matching defects in the -dimensional space-time graph makes the effective distance — the step that lets the threshold theorem hold.
- Key idea: shape the ancilla — cat state, encoded block, or flag — so one fault reaches at most one data qubit, then repeat the noisy measurement enough times to tell measurement faults from data faults in space-time.
Redesign the syndrome measurement so that any single fault produces at most one correctable data error: shape the ancilla (a verified cat state, an encoded block, or a flagged low-weight ancilla) so it cannot fan one fault into a high-weight correlated error, and repeat the noisy measurement times to separate measurement faults from data faults in space-time.
Where this lives today
Fault-tolerant syndrome extraction is no longer a theorem on paper — it is the inner loop of every serious quantum-error-correction experiment. Superconducting and trapped-ion surface-code memories run repeated rounds of stabilizer measurement with dedicated measure-qubits arranged so no ancilla ever fans a fault across the data, then feed the accumulated defect record to a decoder — minimum-weight perfect matching, union-find, or a neural network — that separates data errors from measurement errors in space-time exactly as Derivation 3 prescribes. In 2023–2024 Google's superconducting group crossed the crucial line: enlarging the surface code from distance 3 to 5 to 7 lowered the logical error rate, the below-threshold behaviour of equation (7) seen directly. On the flag side, Chao and Reichardt's minimal-overhead constructions make fault tolerance feasible on small devices where a full cat state is unaffordable, and Quantinuum's ion traps have demonstrated real-time, mid-circuit Steane-style extraction fast enough to keep pace with the errors. The open frontiers are all about cost — how few ancilla qubits and how little depth a cycle can use (flag optimizations, single-shot codes that skip the repetition, LDPC codes with cheap non-local checks), and how to decode the space-time graph in real time before the next round arrives. Every one is, at bottom, a search for a cheaper way to satisfy the single rule of this article: one fault, at most one correctable error.
The physical picture
Picture the syndrome ancilla as a single wire that touches several data qubits in turn — in the naive circuit, the control of CNOTs reading the parity of every data qubit in the stabilizer's support. It works flawlessly when nothing goes wrong. The danger is entirely about where a fault can travel. A bit-flip on the shared control wire, struck after the first few CNOTs, is faithfully copied by every remaining CNOT onto its data target: one slip becomes a cascade of kicks, a weight- avalanche from a single event. Because a distance- code corrects only errors, an avalanche of weight is a logical failure from one fault — the code behaving as if its distance were . The first figure contrasts this fan-out with its cure: give each data qubit its own ancilla wire, as a cat state does, and a fault on one wire reaches only one data qubit.
A flag qubit turns the cheap circuit back on but wraps a tripwire around its dangerous middle: run an ordinary low-weight ancilla and add just two extra CNOTs from it to a flag qubit, one before and one after the interior data-CNOTs. The only faults that can grow into a weight- data error strike between those two flag-CNOTs — and any such fault is copied onto the flag by exactly one of the pair, flipping it from to . A raised flag tells the decoder "a correlated error may have happened here, decode with care"; benign faults outside the bracket leave it at rest. Separately, because the ancilla and its readout can themselves fail, a single round of syndrome bits is untrustworthy — so the whole cycle is repeated in time and decoded not round by round but as one three-dimensional object. The second figure is that space-time picture: a genuine data error persists across rounds as a defect pair separated in space, while a measurement fault flips one round only, a defect pair separated in time; the decoder tells them apart by geometry.
Steane and Knill extraction take the opposite tack from Shor's tall, thin circuit, trading depth for width: they prepare an ancilla that is already an encoded block of the same code — a logical / for Steane, a logical Bell pair for Knill — and interact it through a single transversal layer of CNOTs, reading an entire syndrome sector or teleporting the data in one shot. Transversality keeps this fault tolerant: qubit of one block only ever touches qubit of the other, so no fault can spread within a block.
The core equations
Fault tolerance is ultimately about how Pauli errors move through Clifford gates, so the first equation is the propagation rule for the CNOT — the gate every syndrome circuit is built from. Conjugating a Pauli by CNOT tells us what a fault before the gate looks like after it.
where: — the control and target qubits; — the Pauli bit-flip and phase-flip. Reading it: a bit-flip on the control copies forward onto the target (), a phase-flip on the target copies backward onto the control (), and the complementary errors pass through untouched. This single asymmetry is the whole story of syndrome-circuit fault tolerance. Apply the rule to the naive circuit. One ancilla in is the control of CNOTs onto the data qubits of an -type check , then measured in . Inject a bit-flip on the ancilla after the -th CNOT and propagate it through the survivors.
where: the product runs over every data qubit whose CNOT has not yet fired, so one fault becomes a weight- correlated error, nearly for a fault near the start. The dual statement is a phase fault on a shared target ancilla fanning out as errors — either way, one shared wire is fatal. The cure is to hand each data qubit its own ancilla wire, entangled into a -qubit cat (GHZ) state so the bitwise measurement still recovers the joint parity; a fault on any one cat qubit reaches only the data qubit it couples to.
where: — the weight of the stabilizer. Each cat qubit couples to one data qubit, so a single fault stays weight- on the data; the syndrome bit is the parity of the bitwise measurements, and a lone readout flip changes only one contribution. The cat must be verified — parity-checked to reject a preparation fault like that would masquerade as a low-weight error. All of these constructions chase one target property — the gadget-level definition of fault tolerance, which quantifies "one fault, one error" and is exactly what the threshold theorem needs from each piece of the computer.
where: — the number of faulty locations (gate, preparation, measurement, or idle). As long as fewer than faults occur, the leftover error stays correctable, so measuring the syndrome costs no distance. A gadget that violates this — like the naive circuit, where gives weight — is not fault tolerant however correct its noiseless behaviour. Steane extraction meets the criterion differently — it never lets one ancilla touch two data qubits at all. An encoded ancilla block is coupled to the data by a transversal CNOT (qubit to qubit ), copying an entire error sector into the ancilla, which is then measured destructively.
where: — a logical zero of the same code, a eigenstate of the -type stabilizers; — the transversal CNOT. A data bit-flip copies onto the ancilla (), whose computational-basis readout, run through the classical parity checks, yields the whole bit-flip syndrome at once; a dual round with measured in returns the phase-flip syndrome — the "Steane method." Because the ancilla and its readout are themselves noisy, one round of syndrome is unreliable, and the fix is temporal: repeat the cycle and decode the differences between consecutive rounds, which localize errors in space-time.
where: — the measured syndrome at round ; — the measurement-error bit; — the defect, a change in a stabilizer between rounds; — the number of rounds. A data error keeps a stabilizer flipped (a single defect at its time); a measurement fault flips it for one round (a defect pair at and ). Choosing matches the "measurement distance" to the code distance. Assemble everything and the payoff is the threshold behaviour: below a critical error rate, growing the code exponentially suppresses the logical error.
where: — the physical per-gate error rate; — the threshold; — an prefactor counting fault locations; — the code distance. Only if every gadget, syndrome extraction included, obeys the "one fault, one error" rule does fall as a power of — which is why fault-tolerant syndrome extraction is a precondition for the whole formula, not an afterthought.
The goal is to prove, by direct propagation, that the simplest imaginable syndrome circuit — one ancilla coupled to every data qubit in a stabilizer's support — fails to be fault tolerant, and to extract from that failure the exact requirement any acceptable scheme must satisfy. We take the standard layout for an -type check, inject a single ancilla fault at an arbitrary point, push it through the remaining gates with the CNOT rule of equation (1), and compare the resulting error weight against the correction radius. The conclusion fixes the target the cat, flag, and encoded-ancilla constructions all exist to hit.
Step 1. Set up the circuit. To measure , prepare the ancilla in , apply with the ancilla as shared control and data qubit as the target of , then measure the ancilla in . With no faults this returns the eigenvalue of exactly, so the circuit is correct. Why: the shared-control design is the most economical way to imprint the joint parity on one ancilla — the textbook default, which is what makes its failure instructive.
Step 2. Inject a single fault. Let a bit-flip strike the ancilla after but before — one faulty location, the minimal event a gadget must tolerate. Why: fault tolerance is defined against single faults first; if one fault already breaks the code, no downstream decoding can save it.
Step 3. Propagate through the survivors. By equation (1) a bit-flip on the control copies onto every subsequent target, so applying it to deposits an on each of data qubits :
The residual data error has weight , up to when the fault lands early. Why: the shared control broadcasts its own errors — every gate that reads the ancilla also copies its fault, turning one event into a correlated cascade.
Step 4. Compare to the correction radius. A distance- code corrects weight . Whenever — for a high-weight check () a whole range of — the single fault is uncorrectable, a logical failure from one physical fault, violating equation (4): yields residual weight . Why: this is exactly the "one fault, many errors" pathology fault tolerance forbids, and reading it backwards gives the design rule — no single ancilla may couple to more than one data qubit unless a flag or repeat certifies no dangerous propagation occurred.
Go deeper · Derivation B · 2 minFlag fault tolerance for a distance-3 code
The aim is to show that the overhead of a full cat state is unnecessary for a distance-3 code: a single ordinary ancilla, watched by a single flag qubit, is already fault tolerant. We measure a weight-4 stabilizer with one ancilla, identify the small set of "hook" faults that would create a weight-2 data error, and prove that a two-CNOT flag bracket catches every one while leaving the harmless faults undisturbed. The result, due to Chao and Reichardt, is that distance-3 protection survives with just ancilla qubits — the minimal-overhead face of fault-tolerant syndrome extraction.
Step 1. Lay out the flagged circuit. To measure , use one ancilla in as the shared control of four data-CNOTs in order , plus one flag in with two CNOTs — one just after , one just before — bracketing the interior data-CNOTs and ; measure in . Why: the flag CNOTs straddle exactly the region where a single ancilla fault can still reach two or more data qubits.
Step 2. Check the benign faults. A bit-flip on outside the bracket (before or after ) reaches at most one data qubit, which the code corrects; it crosses both flag-CNOTs or neither, so the copies cancel and . Why: harmless faults must not raise the flag, or the scheme aborts constantly; the even number of crossings guarantees they do not.
Step 3. Check the dangerous faults. A bit-flip on inside the bracket propagates through and to a weight-2 data error:
The same fault crosses exactly one flag-CNOT, which copies it onto (): the flag reads . Why: the dangerous faults are precisely those an odd number of flag-CNOTs see, so "dangerous" and "flagged" are the same set by design.
Step 4. Close with the decoder. When the measurement is trusted and any residual error is weight ; when the decoder uses a flagged lookup accounting for the possible pattern, which for a distance-3 code identifies and corrects it. Every single fault is correctable, so the guarantee holds with only two ancilla qubits. Why: fault tolerance needs not the absence of correlated errors but knowing when one might have happened — the flag supplies exactly that one bit, at minimal cost.
Go deeper · Derivation C · 2 minWhy noisy syndromes demand O(d) repeated rounds
This derivation covers the temporal half of fault-tolerant syndrome extraction: even a perfectly fan-out-free ancilla is not enough, because the measurement outcome itself can be wrong, and a single lie is indistinguishable from a real error within one round. We model the noisy round, show that one measurement fault costs a unit of effective distance, and demonstrate that repeating the cycle times and decoding in space-time restores the full distance — the analysis, due to Dennis, Kitaev, Landahl and Preskill, that underlies every surface-code memory.
Step 1. Model one noisy round. Each round reports with an independent measurement-error bit; the decoder never sees , only the corrupted stream . Why: the readout is a physical measurement with its own error rate, so treating the syndrome as ground truth is the mistake that breaks single-round schemes.
Step 2. Decode differences, not raw values. Form the defect . A real data error flips a stabilizer and keeps it flipped, a single defect in time (with a spatial partner at the same round); a measurement fault flips it for one round, a defect pair at and . Why: the two error types have distinct space-time signatures — spacelike versus timelike — and differencing exposes that geometry.
Step 3. See why one round fails. With there is no time direction to separate the signatures: a measurement flip looks identical to a data error, and the decoder may correct wrongly, spending one unit of distance — against timelike faults. Why: distance corrects nothing, so an unrepeated noisy syndrome offers no protection against measurement error.
Step 4. Repeat and match. Over rounds, find a minimum-weight perfect matching of the defects in the -dimensional graph; a logical timelike failure now needs measurement faults to span the time boundary, so the measurement distance grows as . Choosing gives
with a final perfect (destructive, transversal) round closing the time boundary so no residual fault hides at the end. Why: matching rounds to the code distance balances the two ways a logical error can happen — through space or through time — so neither is the weak link, and equation (7) applies.
Limiting cases
The four classic schemes trade qubits against depth against the strength of their guarantee; the table reads off where each sits.
| Case | Result | Meaning |
|---|---|---|
| Shor (cat state) | , depth , repeat | One verified -qubit cat per weight- generator; many ancillas, modest per-round depth, needs repetition for measurement faults. The historically first fault-tolerant scheme. |
| Steane (CSS block) | , one transversal layer | Encoded and blocks read all bit-flip and phase-flip syndromes at once; short and wide, one code block of ancillas, requires a verified encoded ancilla. |
| Knill (teleportation) | , Bell-pair teleport | Teleports the logical data through a logical Bell pair; error correction happens in the Bell measurement. Most qubit-hungry, very general, natural for non-CSS codes. |
| Flag fault tolerance | One ordinary ancilla plus flags; minimal overhead, uses extra rounds conditioned on flags. A distance-3 code needs (Chao–Reichardt). |
Worked examples
1 · One fault on a weight-4 check: counting the damage across schemes (fully worked)
A distance-3 code () has a weight-4 stabilizer . Compare the worst-case residual data error and the ancilla cost of measuring it four ways: naive shared ancilla, Shor cat, flag, and Steane block. Assume the underlying code is the seven-qubit code ().
Step 1. Naive shared ancilla (). By equation (2), a bit-flip on the ancilla after propagates to — weight . Since , this single fault is uncorrectable: the naive circuit turns one fault into a logical error, effective distance . Correct without noise, useless with it.
Step 2. Shor cat (). Each of the four cat qubits couples to one data qubit, so a single fault reaches at most weight 1 — correctable. The cost is four ancilla qubits plus verification (reject on a failed parity check) and repeated rounds for measurement faults. Fault tolerant.
Step 3. Flag (). A benign fault gives weight and ; a dangerous interior fault gives (weight ) but raises , and the flagged decoder corrects it (Derivation 2). Every single fault is handled with just two ancilla qubits — a overhead versus the cat's , the reason flags dominate near-term hardware.
Step 4. Steane block (). A full encoded ancilla and one transversal CNOT layer read the entire bit-flip syndrome in one shot; a single fault touches one data and one ancilla qubit, weight per block. Summary of residual weight from one fault: naive (fails), cat , flag -but-flagged, Steane — only the last three are fault tolerant, costing , , and ancilla qubits respectively.
2 · Repetition and the threshold: how fast does the logical error fall
A surface-code memory runs at physical per-gate error rate with threshold . Using equation (7) with prefactor , estimate the logical error per cycle at distances , and state how many rounds each needs.
Step 1. Fix the suppression ratio. The number that matters is . Because it is below , so raising it to a positive power shrinks it — the defining feature of being below threshold. Above threshold the same formula blows up with , and larger codes make things worse.
Step 2. Evaluate the exponent : it is at — just , the number of faults needed to cause a logical error.
Step 3. Read off the rates: , , . Each increase of by 2 divides the logical error by another factor of — exponential suppression in , bought linearly in code size.
Step 4. Count the rounds. Each figure assumes the cycle repeated times so that : 3, 5, and 7 rounds, capped by a final perfect round. Skimp on rounds () and the effective distance drops to — a code run for only rounds suppresses no better than , the measurement direction becoming the weak link. Spatial and temporal distance must be balanced.
Physics of the portrait
Fault-tolerant syndrome extraction is inseparable from the person who proved fault tolerance was possible at all — the same mathematician whose factoring algorithm had, a year earlier, made the stakes existential.
Origins · 1 minPeter Shor and how this was discovered
Peter Williston Shor (born 1959) is an applied mathematician at MIT whose work in the mid-1990s founded two load-bearing pillars of quantum computing within eighteen months. In 1994 he gave the polynomial-time quantum algorithm for factoring and discrete logarithms that made the field suddenly urgent; in 1995 he answered the obvious objection — that decoherence would wreck any real quantum computer — with the first quantum error-correcting code, the nine-qubit code that protects one logical qubit against an arbitrary single-qubit error. But a code is not enough if the circuits that use it are themselves noisy, and the syndrome measurement is a circuit. His 1996 paper "Fault-Tolerant Quantum Computation" (Proc. 37th FOCS, 56) closed that gap: he introduced the verified cat-state ancilla for extracting a syndrome without letting one fault fan out, made gates, measurements, and state preparation all tolerate single faults, and combined these gadgets into the first proof that arbitrarily long quantum computations are possible if the physical error rate is small enough. That argument — sharpened by Aharonov and Ben-Or, by Kitaev, and by Knill, Laflamme and Zurek into the threshold theorem — is the theoretical license under which every quantum-computing company now operates, and Shor's cat-state method remains the archetype against which Steane's encoded-ancilla scheme, Knill's teleported correction, and the modern flag constructions are all measured. A MacArthur Fellow and Gödel and Dirac medallist, he has also worked on quantum channel capacities and the additivity conjecture — but it is the one-two of Shor's algorithm and Shor's fault-tolerance proof that fixed the shape of the field.
Going further
Texts. Nielsen & Chuang, Quantum Computation and Quantum Information, §10.6 (fault-tolerant quantum computation) · Preskill, Lecture Notes for Physics 219, Ch. 7 (Quantum Error Correction) · Gottesman, Stabilizer Codes and Quantum Error Correction (PhD thesis, Caltech, 1997) and An Introduction to Quantum Error Correction and Fault-Tolerant Quantum Computation (2009) · Lidar & Brun (eds.), Quantum Error Correction (2013) · Terhal, Quantum error correction for quantum memories, Rev. Mod. Phys. 87, 307 (2015).
Provenance. The CNOT propagation rules of equation (1) and the single-ancilla no-go of Derivation 1 reproduce Nielsen & Chuang §10.6 and Preskill Ch. 7; a verifier can confirm and by direct conjugation of the CNOT, and the weight- fan-out by composing them. The verified cat-state scheme is from Shor, Fault-Tolerant Quantum Computation, FOCS 1996; the Steane encoded-ancilla method from Steane, Active Stabilization, Quantum Computation and Quantum State Synthesis, PRL 78, 2252 (1997); the teleported-correction scheme from Knill, Quantum computing with realistically noisy devices, Nature 434, 39 (2005). The flag construction and the -qubit distance-3 result are from Chao & Reichardt, PRL 121, 050502 (2018). The repeated-round space-time decoding and the surface-code threshold are from Dennis, Kitaev, Landahl & Preskill, Topological quantum memory, J. Math. Phys. 43, 4452 (2002); the threshold value is an order-of-magnitude standard for circuit-level noise, not a fundamental constant, and the suppression law of equation (7) is the standard concatenation/topological scaling.
Prerequisites. Stabilizer Formalism · Syndrome Measurement and Decoding · Pauli Group and Clifford Group · Code Distance and Logical Operators · CSS Codes. Leads to. Threshold Theorem · Surface Code Decoding · Shor Nine-Qubit Code.
Ask the tutor: Ask me to trace a single fault through any of these gadgets — cat, flag, or Steane block — and show exactly why it stays correctable while the naive circuit's does not.
Why is the single-ancilla circuit fine in theory but forbidden in practice?
Because "fault tolerance" is a statement about noisy circuits, not noiseless ones. With no faults, one ancilla coupled to all data qubits reports the stabilizer's eigenvalue perfectly — the textbook default. The trouble is that the shared ancilla is a single point of failure that also broadcasts its own errors: by the rule , a bit-flip on the ancilla after the -th CNOT is copied onto every later data target, giving a weight-up-to- correlated error from one fault. A distance- code corrects only errors, so a single fault can exceed the radius and cause a logical failure. Fault tolerance demands one fault cause at most one correctable error, and this circuit flunks that test — which is exactly why the cat, flag, and encoded-ancilla constructions exist.
How exactly does a cat state stop the fan-out?
It removes the shared wire. Instead of one ancilla controlling CNOTs, you prepare a -qubit cat state and couple cat qubit to data qubit with a single CNOT — one wire per data qubit. A fault on any one cat qubit can reach at most the single data qubit it touches, so the worst-case residual data error is weight , comfortably correctable. The joint parity is still recoverable: measure all cat qubits bitwise and take the parity, and a lone readout flip changes only one contribution. The one extra requirement is that the cat be verified before use — a preparation fault could create a state like that looks like a low-weight error, so you parity-check the cat and discard it if it fails.
What is a "hook" error, and why does one flag qubit suffice for it?
A hook error is the danger a flag is built to catch: a single ancilla fault, struck partway through the data-CNOTs, that propagates to two or more data qubits before the circuit ends. For a distance-3 code the only faults that matter are those creating a weight- error, and these all lie in a bracketed interior region. A flag qubit is coupled to the ancilla by two CNOTs placed just outside that region. A hook fault crosses exactly one of the two flag-CNOTs and is copied onto the flag, raising it; a harmless fault crosses both (they cancel) or neither, leaving it down. So the flag's single bit tells the decoder precisely when a correlated error might have occurred — all the information a distance-3 code needs to correct it. Hence one ancilla plus one flag, just two qubits, is fault tolerant.
Why isn't a fan-out-free ancilla enough on its own?
Because it fixes only the spatial half of the problem. A cat state or flag guarantees a fault on the ancilla cannot spread across the data — but the ancilla's measurement outcome can still be wrong, and a single misreported syndrome bit is, within one round, indistinguishable from a genuine data error. The decoder must then guess and will sometimes apply a wrong correction, costing a unit of distance. The temporal fix is to repeat the cycle times and decode the differences between rounds: a real data error keeps a stabilizer flipped (a defect localized in time), while a measurement fault flips it for one round only (a defect pair adjacent in time). Matching these in the space-time graph separates them, and the effective distance becomes . You need both the spatial and the temporal fix.
How do the Steane and Knill schemes differ from Shor's?
Shor's cat-state scheme is a tall, thin circuit: it measures one stabilizer at a time with a dedicated cat, using few qubits per measurement but many measurements. Steane and Knill go wide instead. Steane extraction prepares a whole encoded ancilla block — a logical or — and reads an entire syndrome sector in one transversal CNOT layer; a block measured in returns the bit-flip syndrome, a block the phase-flip syndrome. Knill extraction goes further, teleporting the logical data through a logical Bell pair so the correction happens implicitly in the Bell measurement — very general and well suited to non-CSS codes. The trade is qubits for depth: Steane needs a full -qubit block and Knill needs , but both extract syndromes in constant depth, which is why they are favoured in concatenated-code threshold analyses.
Does fault-tolerant syndrome extraction change the code's distance?
No — and that is exactly the point. The purpose of a fault-tolerant gadget is to let you use the code's abstract distance honestly, rather than have the measurement circuit secretly reduce it. A distance- code corrects errors; a fault-tolerant gadget ensures the act of measuring introduces at most one residual error per fault, so the effective distance stays spatially and once you include noisy rounds. The naive circuit does change the effective distance — it collapses it toward — which is precisely why it is not fault tolerant. So these gadgets do not improve the code; they preserve a guarantee the code already has, against a circuit that would otherwise squander it.