RemoteConditionalCorrection blocks finalizing logical readout even when the correction commutes with logical observables
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 64
- Forks
- 16
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 5
Description
First of all, thank your for building deq and open-sourcing it! It is a fantastic tool!
I'm using RemoteConditionalCorrection to implement Pauli-feedforward. However, I find that such feedforward blocks readouts, even when the propagated Pauli correction commutes with the logical observable.
Problem. A gadget's frame is only computed once every remote conditional readout it references has a resolved frame (deq_runtime/src/misc/pauli_frame_tracker.rs, the early returns in propagate_from). Since downstream gadgets in turn require their input peers' frames, one unresolved conditional correction blocks decode() (via wait_for_pauli_frame, deq_runtime/src/coordinator/window_coordinator.rs) for the entire downstream cone — even when the conditional Pauli commutes with the measured logical observable, so the readout provably cannot depend on it.
Example. A conditional logical Z (remote conditional correction hitting only LX residual rows) followed by a Z-basis logical measurement whose readout_propagation reads only the LZ column: the influence of the condition bit on the readout is identically zero over GF(2), yet the measurement's readout is withheld until the remote readout's frame resolves. For feed-forward that puts an unrelated decode's latency on the critical path.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in deq_runtime/src/misc/pauli_frame_tracker.rs at the early returns in propagate_from, then trace decode() through wait_for_pauli_frame in deq_runtime/src/coordinator/window_coordinator.rs. Compare the conditional correction's propagated frame with the measurement's readout_propagation, including the LX/LZ example. Done means an unrelated unresolved remote frame no longer withholds a commuting logical readout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100