Skip to content

💥 Remove the neutral-atom stack - #2137

Merged
denialhaag merged 5 commits into
mainfrom
remove-na-stack
Aug 17, 2026
Merged

💥 Remove the neutral-atom stack#2137
denialhaag merged 5 commits into
mainfrom
remove-na-stack

Conversation

@denialhaag

@denialhaag denialhaag commented Aug 17, 2026

Copy link
Copy Markdown
Member

Description

🤖 AI text below 🤖

MQT Core no longer contains any neutral-atom functionality. MQT QMAP is now its sole owner and absorbs the transferred code in munich-quantum-toolkit/qmap#1111.

This removes the neutral-atom computation model (MQT::CoreNA), the neutral-atom FoMaC device session, the neutral-atom QDMI device together with its runtime configuration parser and device schema, the mqt.core.na Python module, and AodOperation. It also drops the Move, Bridge, AodActivate, AodDeactivate, and AodMove operation kinds from the closed qc::OpType enum, along with the OpenQASM names they dumped and parsed, QuantumComputation::bridge, and the BUILD_MQT_CORE_QDMI_NA_DEVICE option. The bundled mqt.na.default QDMI device is no longer registered. UPGRADING.md lists every removed name.

Several tests used the neutral-atom device merely as a stand-in for some device rather than for anything neutral-atom-specific. The QDMI driver, device-ownership, and Python QDMI tests now use the superconducting device instead. Because the superconducting device is a circuit-model device, the ownership test that asserted a site is a zone now asserts the opposite.

Three tests covered the rejection of zone-model devices at the circuit-target boundary: CompilerQDMIAdapterTest.RejectsNeutralAtomZoneModels, test_compiler_target_rejects_qdmi_zone_model, and test_zoned_operation_rejected_at_backend_init. The rejection logic stays and still guards external zone-model devices, but MQT Core no longer bundles a device that exercises it, so these tests are removed. MQT QMAP is the natural home for them once it owns the device.

Fixes #2092

AI notice

This PR and its contents were created with the assistance of Opus 5 via Claude Code.

Checklist

  • The pull request only contains commits that are focused and relevant to this change.
  • I have added appropriate tests that cover the new/changed functionality.
  • I have updated the documentation to reflect these changes.
  • I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals.
  • I have added migration instructions to the upgrade guide (if needed).
  • The changes follow the project's style guidelines and introduce no new warnings.
  • The changes are fully tested and pass the CI checks.
  • I have reviewed my own code changes.

If PR contains AI-assisted content:

  • Any agent that created, edited, or submitted GitHub content was explicitly authorized for that scope, as required by our AI Usage Guidelines.
  • Every agent-authored or agent-edited public text body begins with the visible disclosure 🤖 *AI text below* 🤖 (titles are exempt).
  • I have disclosed AI assistance in the PR description.
  • I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it.

Assisted-by: Opus 5 via Claude Code
@denialhaag denialhaag self-assigned this Aug 17, 2026
@denialhaag denialhaag added refactor Anything related to code refactoring major Major version update NA Anything related to Neutral Atom Quantum Computing QDMI Anything related to QDMI labels Aug 17, 2026
Assisted-by: Opus 5 via Claude Code
@codecov

codecov Bot commented Aug 17, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code

@burgholzer burgholzer left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice work 👍🏼
The integration on the other side is likely a bit more cumbersome, but I think we can already move along with this 👍🏼

@denialhaag

Copy link
Copy Markdown
Member Author

The integration on the other side is likely a bit more cumbersome, but I think we can already move along with this 👍🏼

Yeah, I think the other side will be much more involved, but I agree that we can merge here. 😌

@denialhaag
denialhaag merged commit 7be8326 into main Aug 17, 2026
27 checks passed
@denialhaag
denialhaag deleted the remove-na-stack branch August 17, 2026 21:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

major Major version update NA Anything related to Neutral Atom Quantum Computing QDMI Anything related to QDMI refactor Anything related to code refactoring

Projects

None yet

Development

Successfully merging this pull request may close these issues.

🚚 Move the neutral-atom stack from MQT Core to QMAP

2 participants