• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Qiskit / qiskit-fermions / 29992301003
98%

Build:
DEFAULT BRANCH: main
Ran 23 Jul 2026 08:58AM UTC
Jobs 1
Files 87
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

23 Jul 2026 08:46AM UTC coverage: 97.679% (-0.009%) from 97.688%
29992301003

push

github

web-flow
fix(transpiler): build fresh output DAG in F2QSynthesis (#201)

F2QSynthesis produced its qubit output DAG by copying the fermionic
input DAG (`copy_empty_like`) and then deleting the mode wires via
`remove_qregs`/`remove_qubits`. That in-place surgery leaves the DAG's
internal wire graph structurally inconsistent, which trips a spurious
`not a DAG` panic in downstream analysis — concretely Qiskit's `Depth`
pass in the qubit stage of the JW preset.

The panic originates in Qiskit's rustworkx-backed DAG and is a
heisenbug: whether a given process enters the failing state depends on
memory layout (~70% of fresh processes here), but once it does, every
`depth()` call on the corrupted DAG panics. This is why it showed up as
a flaky CI failure. A standalone reducer (see the PR description)
demonstrates it with Qiskit alone.

Only circuits that synthesize to single-qubit gates on a subset of the
wires expose it: an identity `OrbitalRotation` lowers to just `X` gates
with idle qubits. Circuits whose 2-qubit gates touch every wire connect
all the wires and mask the inconsistency.

Build the output DAG from scratch instead — carry over name, global
phase and metadata, add the mapped qubit registers, and re-add any
input classical registers — so the wire graph stays consistent. The
synthesis plugins are unchanged: they still index the same layout
registers, whose bits are the canonical ones `add_qreg` holds.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

6 of 7 new or added lines in 1 file covered. (85.71%)

9764 of 9996 relevant lines covered (97.68%)

329.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
88.24
-1.35% python/qiskit_fermions/transpiler/passes/synthesis/synthesis.py
Jobs
ID Job ID Ran Files Coverage
1 29992301003.1 23 Jul 2026 08:58AM UTC 87
97.68
GitHub Action Run
Source Files on build 29992301003
  • Tree
  • List 87
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #29992301003
  • 8ec675ce on github
  • Prev Build on main (#29924432889)
  • Next Build on main (#30005363214)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc