🤖 AI text below 🤖
Goal
Use the MQT Core v4 boundary to reduce legacy surface, remove unused APIs, and move specialized functionality to the repositories that actually own it. The aim is a smaller and clearer Core package with fewer public targets, transitive dependencies, compatibility layers, and domain-specific concepts.
The sub-issues are grouped into four tracks:
- straightforward removals and API pruning;
- dependency and packaging simplification;
- ownership transfers to QMAP, QCEC, DDSIM, and QDMI-on-IQM; and
- bounded architectural cleanup of CoreIR, DD, QDMI, QIR, and OpenQASM support.
Each sub-issue should remain independently reviewable. Cross-repository transfers should prepare the downstream owner before removing the corresponding Core API.
Scope principles
- Backward compatibility is not a reason to retain deprecated or unused machinery in v4.
- Preserve useful user-facing behavior while simplifying its implementation and ownership.
- Do not replace one maintenance burden with a generic abstraction that has no demonstrated consumer.
- Record removed targets, headers, namespaces, Python APIs, options, and migration paths in
CHANGELOG.md and UPGRADING.md.
- Validate installed shared and static CMake packages, Python wheels, downstream source builds, documentation, and dependency inspection where applicable.
Explicit non-goals
- The compiler collection remains in MQT Core.
- The generic QDMI layer remains in MQT Core for now.
- The Qiskit and PennyLane adapters are not being assigned a new owner before v4.
- The DDSIM and SC QDMI devices remain supported.
- Jeff remains supported.
- This tracker does not pursue CMake templating merely to remove repeated declarations.
Audit basis
The initial inventory was performed against MQT Core main at 2953866e3f0b424c434cd4c4f882795e3a18e85e. Individual issues should refresh usage and downstream evidence before implementation.
🤖 AI text below 🤖
Goal
Use the MQT Core v4 boundary to reduce legacy surface, remove unused APIs, and move specialized functionality to the repositories that actually own it. The aim is a smaller and clearer Core package with fewer public targets, transitive dependencies, compatibility layers, and domain-specific concepts.
The sub-issues are grouped into four tracks:
Each sub-issue should remain independently reviewable. Cross-repository transfers should prepare the downstream owner before removing the corresponding Core API.
Scope principles
CHANGELOG.mdandUPGRADING.md.Explicit non-goals
Audit basis
The initial inventory was performed against MQT Core
mainat2953866e3f0b424c434cd4c4f882795e3a18e85e. Individual issues should refresh usage and downstream evidence before implementation.