Describe the bug
The qpi-ui dashboard's Jobs Console can only submit a single circuit per job. The backend JobPayload and all three client SDKs (Python, JavaScript, Go) accept a list of circuits with per-circuit parameter_values and shots overrides, but the dashboard exposes none of this.
The Job Submission panel (qpi-ui/internal/dashboard/src/components/tabs/JobsConsoleTab/elements/JobSubmissionPanel.tsx) holds a single QASM string in state (qasmCode) with one textarea, and its onSubmitJob callback is typed to take a single qasm: string. The submit handler in qpi-ui/internal/dashboard/src/App.tsx (handleSubmitQuantumJob) then hard-codes the request body as:
body: JSON.stringify({
circuits: [{ circuit: qasm }], // always exactly one circuit
shots: shots,
meas_level: measLevel,
meas_return: "single",
qpu_target: qpuId,
}),
So there is no way from the UI to submit a batch of circuits, to set parameter_values for a parametrized circuit, or to give a circuit its own shots override. By contrast:
- Python client
submit_job(circuits: list[dict], ...) posts {"circuits": circuits} and documents optional parameter_values/shots per circuit.
- JS client
JobSubmitRequest.circuits: CircuitPayload[], where CircuitPayload has circuit, parameter_values?, shots?.
- Go client
JobSubmitRequest.Circuits []CircuitPayload, where CircuitPayload has Circuit, ParameterValues, Shots.
To Reproduce
Steps to reproduce the behavior:
- Open the dashboard and go to the Jobs Console tab.
- Open the Job Submission panel — there is a single OpenQASM 3.0 textarea, a Shots Count field, and a Meas Level slider.
- Try to add a second circuit, or set parameter bindings / a per-circuit shot count.
- See that there is no control to do so; only one circuit can ever be sent.
Expected behavior
The dashboard should let a user submit multiple circuits in one job (matching the backend and the client SDKs), for example by allowing several QASM editors / a list of circuits to be added and removed, with optional per-circuit shots and parameter_values. The submitted request body should populate circuits with all of them rather than wrapping a single QASM string in a one-element array. At minimum, if batches are intentionally out of scope for the UI, this limitation should be documented.
Screenshots
N/A.
Desktop (please complete the following information):
- OS: N/A (platform-independent web UI)
- Browser: any
- Version: qpi-ui dashboard —
src/components/tabs/JobsConsoleTab/elements/JobSubmissionPanel.tsx and src/App.tsx (handleSubmitQuantumJob)
Smartphone (please complete the following information):
- Device: N/A
- OS: N/A
- Browser: N/A
- Version: N/A
Additional context
The Python, JavaScript, and Go clients already support multi-circuit submission (including per-circuit parameter_values and shots), so this gap is specific to the dashboard UI. Severity: Medium — no data loss, but batched and parametrized jobs are simply not reachable through the dashboard, forcing users to drop down to a client SDK.
Describe the bug
The qpi-ui dashboard's Jobs Console can only submit a single circuit per job. The backend
JobPayloadand all three client SDKs (Python, JavaScript, Go) accept a list of circuits with per-circuitparameter_valuesandshotsoverrides, but the dashboard exposes none of this.The Job Submission panel (
qpi-ui/internal/dashboard/src/components/tabs/JobsConsoleTab/elements/JobSubmissionPanel.tsx) holds a single QASM string in state (qasmCode) with one textarea, and itsonSubmitJobcallback is typed to take a singleqasm: string. The submit handler inqpi-ui/internal/dashboard/src/App.tsx(handleSubmitQuantumJob) then hard-codes the request body as:So there is no way from the UI to submit a batch of circuits, to set
parameter_valuesfor a parametrized circuit, or to give a circuit its ownshotsoverride. By contrast:submit_job(circuits: list[dict], ...)posts{"circuits": circuits}and documents optionalparameter_values/shotsper circuit.JobSubmitRequest.circuits: CircuitPayload[], whereCircuitPayloadhascircuit,parameter_values?,shots?.JobSubmitRequest.Circuits []CircuitPayload, whereCircuitPayloadhasCircuit,ParameterValues,Shots.To Reproduce
Steps to reproduce the behavior:
Expected behavior
The dashboard should let a user submit multiple circuits in one job (matching the backend and the client SDKs), for example by allowing several QASM editors / a list of circuits to be added and removed, with optional per-circuit
shotsandparameter_values. The submitted request body should populatecircuitswith all of them rather than wrapping a single QASM string in a one-element array. At minimum, if batches are intentionally out of scope for the UI, this limitation should be documented.Screenshots
N/A.
Desktop (please complete the following information):
src/components/tabs/JobsConsoleTab/elements/JobSubmissionPanel.tsxandsrc/App.tsx(handleSubmitQuantumJob)Smartphone (please complete the following information):
Additional context
The Python, JavaScript, and Go clients already support multi-circuit submission (including per-circuit
parameter_valuesandshots), so this gap is specific to the dashboard UI. Severity: Medium — no data loss, but batched and parametrized jobs are simply not reachable through the dashboard, forcing users to drop down to a client SDK.