♻️ Own neutral-atom OpenQASM serialization - #1124
Conversation
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: Opus 5 via Claude Code
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5 via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
There was a problem hiding this comment.
This LGTM now as well, and I'll leave the final say to @burgholzer! 😎
Edit: Well, I won't request a review from @burgholzer just yet. This will probably stay open for some weeks.
Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
denialhaag
left a comment
There was a problem hiding this comment.
Ahh, looks like the build is currently failing. 🤔
burgholzer
left a comment
There was a problem hiding this comment.
This one was small enough to quickly browse through. Besides the CI errors flagged by Daniel, this looks pretty good to me.
Will keep failing until MQT Core v4 is released due to the missing header. |
That makes a lot of sense. I could have figured that out myself. 🧍 |
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Assisted-by: GPT-5.6 Sol via Codex
Signed-off-by: Daniel Haag <121057143+denialhaag@users.noreply.github.com>
Keep move and bridge operations outside Core's standard gate hierarchy. Discover neutral-atom devices by registered ID so equal display names do not hide distinct configurations. Refresh the branch with current main and regenerate the Python stubs. Assisted-by: GPT-6 via Codex
Own the extended OpenQASM serializer in the neutral-atom IR target. Use qasm3::Serializer for Core traversal and retain exact-output tests for move, bridge, AOD, compound, and conditional operations. Adapt the custom operation equality interface to Core 3.10 and refresh the parent neutral-atom port. Assisted-by: GPT-6 via Codex
Assisted-by: GPT-6 via Codex
🤖 AI text below 🤖
Description
Provide
na::serializeOpenQASMinMQT::QMapNAIRfor move, bridge, and AOD operations. Core 3.10'sqasm3::Serializerhandles compounds, conditionals, and register names; QMAP supplies the custom leaf syntax. Remove obsolete operation dump overrides and migrate hybrid mapper output andDataLogger.This draft targets
na-transfer(#1111). The target is Core 3.10. The combined C++ dependency update and integration are in #1144. The Python update requires a QCEC release containing qcec#1060; the dependency pins on this branch remain unchanged.Validation
uvx nox -s lintpassed locally.munich-quantum-toolkit/corefrom v3.9.1 to v3.10.0 #1144 tree passed 1,459 C++ tests and 491 Python tests, with one skip in each suite. Python used local dependency overrides for Core 3.10 and QCEC's merged update.AI assistance
GPT-6 via Codex assisted with the implementation, regression tests, validation, and this description. A human must review the updated changes.
Checklist
If PR contains AI-assisted content:
🤖 *AI text below* 🤖(titles are exempt).