Skip to content

🧹 MQT Core v4 cleanup and ownership tracking #2085

Description

@burgholzer

🤖 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:

  1. straightforward removals and API pruning;
  2. dependency and packaging simplification;
  3. ownership transfers to QMAP, QCEC, DDSIM, and QDMI-on-IQM; and
  4. 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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

CoreAnything related to the Core library and IRcode qualityCode quality improvementsmajorMajor version updaterefactorAnything related to code refactoring

Type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions