-
-
Notifications
You must be signed in to change notification settings - Fork 73
✨ Adopt exact QDMI 1.4 payload contracts across Core #2226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
burgholzer
wants to merge
1
commit into
v4.1
Choose a base branch
from
codex/qdmi-v14-payload-contract
base: v4.1
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,52 @@ | ||
| # Independent QDMI program-capability prototype | ||
|
|
||
| Status: independent rebase; design decisions remain gated. | ||
|
|
||
| ## Scope and dependencies | ||
|
|
||
| Core #2226 adopts the experimental format descriptors and optional execution | ||
| feature query from QDMI #508. It is a non-blocking Core 4.1 / QDMI 1.4 | ||
| candidate, not Core 4.0 scope. Core #2365 and QDMI #523 must settle the contract | ||
| before implementation is merge-ready. | ||
|
|
||
| This runtime layer has no compiler-only #2219 ancestry, no driver replacement, | ||
| and no metadata-removal dependency. Native multi-program jobs were extracted to | ||
| Core #2362 and QDMI #509 with the existing program-format enum. This branch | ||
| retains single-program setters and unindexed results against QDMI #508. The | ||
| compiler/runtime integration layer remains in Core PR `#2227`. | ||
|
|
||
| ## Preserved behavior and prototype boundaries | ||
|
|
||
| Retain optional shots, byte-exact binary transport, current DDSIM QCO-backed | ||
| simulation, session ownership, concurrent job behavior and target inference. | ||
| Unknown topology or gate sets still fail early; simulator controlled-operation | ||
| families and zero-arity global phase remain unchanged. | ||
|
|
||
| Format descriptors, optional feature records and text/result framing retain the | ||
| existing prototype semantics for evaluation. They are not a final answer to | ||
| format identity versus execution capabilities, supported versus native | ||
| operations, classical guarantees, opaque programs or provider-neutral verbatim | ||
| execution. Calibration status remains distinct from program vocabulary. | ||
|
|
||
| Keep mechanical SDK adaptations here because the same package must still import | ||
| and use the descriptor-valued runtime. Backend-owned serializers and decoders | ||
| remain part of that prototype. Core issues `#2363` and `#2364` track native SDK | ||
| batching separately. Do not replace concurrent single submissions with synthetic | ||
| aggregate jobs. | ||
|
|
||
| ## Validation and release gate | ||
|
|
||
| Build independently against QDMI #508. Test descriptor validation, optional | ||
| feature metadata, text and binary submission/retrieval, optional shots, SDK | ||
| serialization/layout, asynchronous failure and concurrency. Preserve newer | ||
| mainline tests. Run stubs, repository lint and C++ lint. Check both bundled | ||
| devices and the compiler's existing device-to-target adapter. | ||
|
|
||
| Local validation passed 3,874 native tests with one existing skip and 399 Python | ||
| QDMI/SDK tests. Generated stubs, repository lint and C++ lint passed. Hosted CI | ||
| and contract design review remain separate gates. | ||
|
|
||
| Use the design trackers to record any contract change rather than silently | ||
| stabilizing one during a rebase. Published artifacts require released pins. | ||
| Preserve existing PR identity, attribution and review history; no archives or | ||
| automatic review requests. |
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feels like a leftover of the back port after the 3.9.1 release. Consider removing.