💥 Remove the legacy circuit surface for v4 - #2288
Conversation
4d1ce9d to
e4c9047
Compare
e4c9047 to
4285c37
Compare
52c9671 to
1d16092
Compare
Remove CoreIR, CoreQASM, classic bindings, converters, and circuit DD adapters. Keep CoreDD primitives independent and execute DDSIM through QC/QCO and QIR when MLIR is enabled. Skip the DDSIM target entirely in no-MLIR builds. Provide no compatibility or density layer. Print local C++ lint diagnostics so failures remain actionable. Assisted-by: GPT-5.6 via Codex
42937ab to
ee49849
Compare
Internalize QCO sampling resources behind a shots-and-seed API, update callers and coverage, and remove redundant surface checks. Clarify the migration notes, references, wheel smoke test, and README execution example. Assisted-by: GPT-5.6 via Codex
|
Important Approval pendingCodeRabbit has no unresolved comments, but it has not reviewed the latest commit. Use the checkbox below to review the latest commit. CodeRabbit will approve the changes if it finds no blocking issues.
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Leave the DDSIM-specific custom seed parameter out of the introductory QDMI workflow. Assisted-by: GPT-5.6 via Codex
burgholzer
left a comment
There was a problem hiding this comment.
Approving this now to get it in once CI is green! 🚀
Issues for all kinds of follow-ups have been created.
So let's ship this ![]()
|
Seems like the maximum diff for linting is 20000 lines 🤔 |
Yeah. We can simply ignore the failing check here and simply merge if everything else is green. |
GitHub omits patch data for the large deleted file when the pull request diff exceeds its 20,000-line limit. Exclude only that removed path so cpp-linter retains changed-file-only coverage for every surviving source file. Assisted-by: GPT-5.6 via Codex
Restore the standard changed-file lint scope. The known large-PR cpp-linter API failure is acceptable for this pull request. Assisted-by: GPT-5.6 via Codex
Would be ready to merge now. |
|
Let's go 🚀 |
🤖 AI text below 🤖
Description
Remove the complete legacy circuit surface for MQT Core v4:
qc::QuantumComputation, CoreIR/CoreQASM targets and headers,mqt.core.ir,mqt.core.load, classic Qiskit converters, and circuit-oriented DD adapters. MQT Core v4 deliberately provides no compatibility aliases, legacy circuit constructs, or density-simulation layer.CoreDD retains only its DD-native gate, control, qubit, and permutation vocabulary. The compiler-backed DDSIM QDMI provider accepts OpenQASM through QC/QCO and QIR. Terminal sampling simulates once and draws every shot from the resulting state; statevector extraction supports programs with only terminal measurements or no measurements. Expected compiler and simulation failures become failed jobs without exception-driven control flow.
When MLIR is disabled, MQT Core does not build the DDSIM device because no execution frontend remains. CoreDD, the QDMI driver, the superconducting device, and their applicable tests remain available.
This PR is the second and final layer of #2079 → #2288. The stack keeps the small math execution extensions and intentionally does not include density simulation. Symbolic Python execution can follow in a later release.
The local C++ lint wrapper now prints Clang diagnostics as file annotations instead of reporting only their count.
This implementation and PR description were produced with GPT-5.6 via Codex under explicit maintainer authorization. Maintainer review remains required.
Validation
uvx nox -s lintuvx nox -s cpp-lint -- 5ebdb6da5da533b40ccdf19a5ab6af4e0a294d49(Clang 22; zero findings)uvx nox -s tests-3.13(745 passed, one Python 3.14-only test skipped)cmake --build --preset debug -j2ctest --preset debug --output-on-failure -j2(3,755 passed)cmake --build --preset debug-no-mlir -j2ctest --preset debug-no-mlir --output-on-failure -j2(511 passed, one intentional device-specification skip)git diff --checkFixes #2097
Fixes #2103
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).