Skip to content

🐛 Validate QDMI jobs and SDK execution - #2458

Merged
burgholzer merged 2 commits into
mainfrom
codex/qdmi-job-plugin-validation
Sep 8, 2026
Merged

🐛 Validate QDMI jobs and SDK execution#2458
burgholzer merged 2 commits into
mainfrom
codex/qdmi-job-plugin-validation

Conversation

@burgholzer

Copy link
Copy Markdown
Member

🤖 AI text below 🤖

Description

Preserve usable QDMI jobs when providers return a warning, and reject unsupported SDK programs before submission. These changes prepare the unreleased v4 plugins using the released QDMI API.

  • Share PennyLane validation between QASM2 and QASM3, including finite parameters and fixed-arity placements, and normalize operation metadata once per session.
  • Support named-wire deferred measurements, graph decomposition, and standard PennyLane tracking. Require explicit QNode or tape shots instead of the deprecated device-level argument and implicit 1024-shot default.
  • Validate Qiskit native width and ordered placements after preprocessing. Reject invalid batches before submission, preserve custom serializers and hidden native sites, and validate operations inside explicitly supported control flow.

Extract the independent deferred-only capability declaration and nested-validation behavior from #2226. Exact payload descriptors, feature inference, and native one-shot execution remain there; no new QDMI dependency is introduced.

Validation: 500 Python QDMI/plugin tests and 104 native driver tests passed. Repository lint and full-file C++ lint passed. Hosted CI is pending. Documentation covers the shot API and validation behavior; no standalone changelog or upgrade entry is added for these unreleased v4 features, following repository guidance.

AI assistance was used for implementation, specialist review, tests, documentation, and this description.

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.

Preserve warning-status job ownership and validate PennyLane programs
against cached operation metadata in both OpenQASM formats. Support
named-wire deferral, graph decomposition, and standard tracking while
requiring explicit QNode or tape shot budgets.

Validate Qiskit native placements after preprocessing and check nested
control-flow operations without constraining custom serializers.
These SDK changes use the released QDMI contract.

Assisted-by: Codex
@burgholzer burgholzer self-assigned this Sep 8, 2026
@burgholzer burgholzer added c++ Anything related to C++ code fix Fix for something that isn't working python Anything related to Python code QDMI Anything related to QDMI skip-changelog Changes that do not need to show up in the changelog labels Sep 8, 2026
@burgholzer burgholzer added this to the v4.0.0 - IEEE Quantum Week milestone Sep 8, 2026
@codecov

codecov Bot commented Sep 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@burgholzer burgholzer left a comment

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Some more improvements for the PennyLane and Qiskit adapters 🙌

@burgholzer
burgholzer merged commit 3be5ee9 into main Sep 8, 2026
26 of 27 checks passed
@burgholzer
burgholzer deleted the codex/qdmi-job-plugin-validation branch September 8, 2026 00:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

c++ Anything related to C++ code fix Fix for something that isn't working python Anything related to Python code QDMI Anything related to QDMI skip-changelog Changes that do not need to show up in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant