feat(executors): add IonQ Direct executor#17
Conversation
|
Thanks for the PR. I see you're a brand new account, making a number of PRs on projects in the unitaryHACK listing (and your Marqov submission were even before the event started!). The concern here would be that AI has done all the work, and there's not been any good-faith effort to really understand the project, make thoughtful decisions, and properly test the solution in context. To help me understand if that's the case, I'd like to hear your thoughts on this, and talk a little about your experience and approach using the Marqov SDK. |
|
Thanks for raising this here too. I understand the concern, especially because this is a new account and because both Marqov PRs landed around the unitaryHACK window. I did use AI assistance while working on this PR, but I do not want to present it as a black-box submission that I cannot explain. My intent here was to implement the specific IonQ Direct executor requested in #1 while fitting it into Marqov's existing My understanding of the Marqov SDK and this change is:
The main design choices I made were:
For testing, I added focused tests for the deterministic parts: payload construction, QASM submission shape, counts/probability normalization, /tmp/marqov-sdk-venv/bin/python -m ruff check marqov/executors/ionq.py marqov/executors/factory.py marqov/executors/__init__.py tests/test_ionq_executor.pyI should also be clear about what I have not fully verified. I have not run this against a live IonQ account/API key, and a full local project install/test pass is blocked on this machine by the Braket/default-simulator dependency chain: On the event timing: I was looking through listed repos before the event window and opened these Marqov PRs before appreciating that this could create a trust/eligibility issue. If that means this should not be considered for unitaryHACK credit, I understand. I am happy for it to be treated as a normal contribution, revised substantially, or withdrawn if that is better for the project. If the direction is useful, I am happy to adjust the implementation to match your expectations. For example, I can:
I am happy to walk through or revise any part of it. |
Closes #1. Replaces #7 after
mainwas force-pushed/reset and the prior PR was closed without review.Summary
IonQExecutor/IonQExecutorConfigfor direct IonQ API submissionto_qiskit()and QASM before submissionExecutionResultand backend availability intoDeviceStatusIonQ DirectinExecutorFactoryand export the executor APIVerification
/tmp/marqov-sdk-venv/bin/python -m ruff check marqov/executors/ionq.py marqov/executors/factory.py marqov/executors/__init__.py tests/test_ionq_executor.py6 passedusing explicit lightweight stubs for optional cloud/circuit SDK importsLocal environment note
uv run --extra dev --extra all ...setup was blocked locally becausellvmliteneededcmake, which is not installed on this machine. The failure is in Braket simulator dependency setup before these tests run, not in the IonQ executor code.