🔀 Backport compatible main changes for MQT Core 3.9.0 - #2117
Merged
Conversation
Record the compatible scope, architecture exclusions, validation boundaries, and combined publication strategy for the remaining QDMI and Slurm functionality. Assisted-by: GPT-5.6 via Codex
Expose optional device queue length and job queue position through the v3 driver, C++ wrappers, and QDMI Python namespace. Update the bundled QDMI revision and retain optional low-level job retrieval for provider compatibility. Backports #2010. Assisted-by: GPT-5.6 via Codex
Expose provider job retrieval by stable job ID through the v3 C++ wrappers and QDMI Python namespace. Keep the built-in devices explicit about their unsupported retrieval contract. Backports #2008. Assisted-by: GPT-5.6 via Codex
Expose provider-specific operation-handle arrays through the v3 C++ wrappers and QDMI Python namespace. Preserve unsupported, empty, malformed-payload, shared-handle, and lifetime semantics. Backports #2042. Assisted-by: GPT-5.6 via Codex
Add the mechanism-specific C++ and Python adapters that open the registered device named by one local Slurm license environment value. Preserve the selection-only trust boundary and provider-owned authorization. Backports #2025. Assisted-by: GPT-5.6 via Codex
Add the modern two-node Slurm admission workflow and trust-boundary tutorial for the v3 QDMI namespace. Build the test wheel with the v3 LLVM and MLIR 21 toolchain. Backports #2043. Assisted-by: GPT-5.6 via Codex
Replace generated neutral-atom provider state with strict session-owned JSON configuration. Preserve the v3 QDMI namespace, typed registry transport, job retrieval contract, and embedded-build device options. Backports #1974. Assisted-by: GPT-5.6 via Codex
Replace generated superconducting provider state with strict session-owned JSON configuration. Preserve job retrieval, custom-operation support, the v3 QDMI namespace, and independent per-session models. Backports #1980. Assisted-by: GPT-5.6 via Codex
Bundle strict runtime descriptions for IQM Garnet and Emerald with stable QDMI registry IDs. Reuse the superconducting provider library without loading it during registry discovery. Backports #1992. Assisted-by: GPT-5.6 via Codex
Advertise CPython 3.15, build its wheels without running dependency-limited tests, include the complete JSON device catalog in wheel tests, and update the reusable workflow revision while preserving the v3 MLIR presets. Backports #2011. Assisted-by: GPT-5.6 via Codex
Update the Markdown linter and formatter hook to v0.2.49. Backports #2027. Assisted-by: GPT-5.6 via Codex
Adopt scikit-build-core's standard dynamic-metadata table for setuptools-scm version discovery. Backports #2065. Assisted-by: GPT-5.6 via Codex
Update the build, stub-generation, lock, and clang-tidy environments to nanobind 2.14.0. Backports #2073. Assisted-by: GPT-5.6 via Codex
Build only the extension modules required by recursive stub generation using a small non-optimized unity build and reuse the worktree-local environment. Keep the v3 documentation session unchanged. Backports #2075. Assisted-by: GPT-5.6 via Codex
Enable unity builds for ordinary v3 builds, keep lint non-unity with interface-header verification, and reduce the routine C++ matrix to one Debug and one Release job per operating system while retaining LLVM/MLIR 21. Backports #2083. Assisted-by: GPT-5.6 via Codex
Inline the Qiskit and PennyLane import checks while preserving the public availability flags, and remove the now-unused private compatibility helper and its tests. Backports #2108. Signed-off-by: simon1hofmann <119581649+simon1hofmann@users.noreply.github.com> Assisted-by: GPT-5.6 via Codex
Verify multi-controlled X, Z, and RZ constructions against independent exact-unitary references before checking their ZX representations. Backports #2029. Assisted-by: GPT-5.6 via Codex
Remove the unused private typing compatibility module and its Ruff configuration. No v3 production code imports the module. Backports #2059. Assisted-by: GPT-5.6 via Codex
Update the release publishing actions, release drafter, uv lock hook, project-schema validator, Ruff, and ty to the compatible patch revisions already used on main. Backports the compatible updates from #2019, #2020, #2021, and #2023. The newer rumdl update from #2027 is already present in this series. Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Assisted-by: GPT-5.6 via Codex
Keep the v3 DD bindings and neutral-atom operation sources compatible with the unity builds enabled by the CI optimization. Main-only LLVM/MLIR documentation-build changes are intentionally not included. Backports the applicable native fixes from #2047. Assisted-by: GPT-5.6 via Codex
Correct the Markdown hook indentation, simplify two documentation links, and keep the QDMI installation snippet independent of a particular virtual-environment prompt. Backports the remaining compatible maintenance changes from #1989. Assisted-by: GPT-5.6 via Codex
Build Python packages through one aggregate target whose dependencies follow the enabled QDMI devices. This preserves the existing v3 wheel contents and lets stub and documentation builds disable unused providers without requesting absent targets. Backports the applicable packaging target from #2074 and completes the #2075 optimization on v3. Assisted-by: GPT-5.6 via Codex
Record the complete compatibility sweep and exact validation results. Adapt the Slurm workflow and runtime-configuration documentation to the v3 branch and documentation toolchain, and use current QDMI terminology throughout. Assisted-by: GPT-5.6 via Codex
Codecov Report❌ Patch coverage is 📢 Thoughts on this report? Let us know! |
Use the neutral-atom lattice scalar type for the determinant threshold and construct complete device session configurations in the backported tests. This avoids double-promotion and partial-aggregate diagnostics without changing runtime behavior. Assisted-by: GPT-5.6 via Codex
Exercise the compatibility paths that disable a plugin only when its top-level dependency is absent and propagate missing nested dependencies. Apply the same contract tests to the Qiskit and PennyLane plugins. Assisted-by: GPT-5.6 via Codex
Add public session and job parameter TypedDicts and typed stable-ID keyword overrides while preserving the v3 session_parameters mapping. Keep PennyLane session and job mappings separate and retain runtime validation. Backports the compatible configuration typing from #2084. Assisted-by: GPT-5.6 via Codex
Record the registry ID when a backend opens a registered device. Allow already-open and specialized devices to supply an ID explicitly while keeping direct construction and the v3 session-parameter mapping valid. Backports the compatible stable-ID behavior from #2084. Assisted-by: GPT-5.6 via Codex
Read the live QDMI registry for each discovery call and open fresh backends only when requested. Add exact stable-ID lookup and sanitized warnings that skip unavailable devices without exposing configuration. Backports the provider discovery behavior from #2084. Assisted-by: GPT-5.6 via Codex
Add sampler and estimator factories to each QDMI backend and match #2084 by replacing the generic primitive options mapping with explicit shot and precision defaults. Assisted-by: GPT-5.6 via Codex
Document the selected QDMI, Slurm, device, Qiskit, maintenance, build, and documentation changes. Record the explicit primitive-default migration and the main-only compiler, QCO, QIR, OpenQASM, and ZX boundaries. Assisted-by: GPT-5.6 via Codex
Remove the unused pybind11 binding helper and make add_mqt_python_binding the sole nanobind helper. Update all v3 binding targets and document the downstream CMake migration. Backports #2106. Assisted-by: GPT-5.6 via Codex
Stop discovering QDMI device definitions from [tool.qdmi], remove the vendored toml++ dependency, and retain qdmi.json as the project-level configuration format. Backports #2116 with v3-compatible tests and documentation. Assisted-by: GPT-5.6 via Codex
Backport the final-design, concise writing, terminology, and contract-test guidance from #2072 to the v3 maintenance branch. Assisted-by: GPT-5.6 via Codex
Remove the unused SVG conversion dependency and favor a fast debug build without IPO for the short-lived documentation environment. Preserve v3's optional MLIR architecture. Assisted-by: GPT-5.6 via Codex
burgholzer
force-pushed
the
agent/backport-qdmi-slurm-v3
branch
from
August 14, 2026 21:00
d8d262f to
8831eb2
Compare
This was referenced Aug 15, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 AI text below 🤖
Description
Backport the remaining suitable changes from
maintov3.xfor MQT Core 3.9.0. One pull request presents the complete stable-branch result and avoids repeated CI runs. Separate signed commits preserve upstream provenance, authorship, and revert boundaries.The series includes:
pybind11CMake support #2106 and removal of[tool.qdmi]configuration from 💥 Drop QDMI configuration throughpyproject.toml#2116;v3 boundary
QDMIBackend.from_device_id()retains the compatiblesession_parameters={...}mapping and rejects duplicate values supplied through typed keywords.QDMISamplerandQDMIEstimatorno longer accept the genericoptions={...}mapping. Direct constructors and backend factories use explicitdefault_shotsanddefault_precisionarguments, as onmain.CompilerTarget.from_device_id()is omitted because v3 has no Python MLIR compiler-target binding.qdmi.jsonconfiguration remains supported. The deprecated[tool.qdmi]parser and its vendored TOML dependency are removed.add_mqt_python_bindingfunction.SLURM_JOB_LICENSESmetadata. Slurm licenses control admission. Provider credentials or operating-system isolation authorize access.Validation
llc: passed;llms.txtandllms-full.txt;git diff --checkgates: passed.The privileged Slurm workflow remains an exact-head CI check because it requires Docker, systemd, cgroup v2, and two Slurm compute containers.
Checklist
Codex assisted with the backport analysis, implementation, tests, documentation, validation, history reconstruction, and adversarial review. The author reviewed the resulting changes and remains responsible for them.