♻️ Remove CircuitOptimizer - #2262
Conversation
Resolve #2088 after moving domain-specific behavior to its owning repositories. Assisted-by: GPT-5.6 via Codex
b53423a to
287e176
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
|
Just out of interest: how many users are there of the methods that are still here? |
|
🤖 AI text below 🤖 I reran the production-use census across the current companion PR heads plus DDSIM and the Debugger:
This covers MQT production consumers; it does not count unknown external consumers. A complete removal would therefore turn the three shared implementations into nine repository-local method copies across five production repositories:
QuSAT has no production use after munich-quantum-toolkit/qusat#512, but its tests still use flattening and would need adjustment. The retained implementation is a 303-line source file backed by 16 focused tests. Based on that, my inclination would be to keep the reduced three-method target: every remaining method is genuinely shared, and duplicating Would you still prefer us to remove the target completely and localize all three implementations? |
|
Hm. I do not quite like the fact that this is another shared library that needs to be distributed and appropriately handled downstream. So I'd have a slight preference for trying to remove it. How about the following proposal
Would that make sense? |
…uit-optimizer # Conflicts: # CHANGELOG.md # UPGRADING.md
|
🤖 AI text below 🤖 Yes, that split makes sense, and it is now implemented:
I re-audited every MQT repository and found no additional production consumers. Core passes 298/298 IR tests and 51/51 QDMI-device tests, warning-clean static/shared builds and installs, and out-of-tree The coordinated downstream migrations are open as drafts and will remain pinned to Core 3.9 until Core v4 is released: |
burgholzer
left a comment
There was a problem hiding this comment.
Nice! Let's get this in as soon as CI is green here!
Assisted-by: GPT-5.6 via Codex
Use the Doxygen and fixed-width type conventions introduced on main. Clarify the generated-header migration note and record the new C++ lint workflow. Assisted-by: GPT-5.6 via Codex
🤖 AI text below 🤖
Description
Remove the standalone
qc::CircuitOptimizerAPI andMQT::CoreCircuitOptimizerlibrary:QuantumComputationmember methods inMQT::CoreIR;This implements the ownership split proposed in review while avoiding a separately distributed library for three functions.
Fixes #2088
Downstream drafts and release sequence
The downstream projects remain pinned to Core 3.9.x, so these PRs stay in draft until Core v4 is released. After the release, each project can update its Core pin, revalidate, and merge its migration:
Validation
WARNINGS_AS_ERRORS=ONMQT::CoreIRconsumer compiled, linked, and ran against both installsuvx nox -s lintandgit diff --checkAI assistance
Codex materially assisted with the organization-wide consumer census, implementation, tests, cross-repository validation, independent review, and this pull request description. A human must review and understand the changes before merge.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).