Workbench¶
The workbench is eighteen research tools at /workbench, each a focused page over a tested, dependency-free module in lib/workbench/ or lib/quantum/. The design rule is the same as the simulator's: the computation is a pure module with a unit test against a known result, and the page is a thin view over it.
| Tool | Kind | What it does |
|---|---|---|
| Generate | generate | Generate → verify → repair loop: a model proposes a circuit against a spec, the verifier checks histogram, state or unitary and resource constraints, and the loop repairs. The provider is injected, so the loop is tested with a scripted fake |
| Algorithm Evolution | optimise | A demo-scale replica of an evolutionary program search. Candidates are programs in a tiny line-based DSL that is parsed and interpreted; nothing from a model is ever evaluated as code |
| Decoder Lab, Code Explorer, Stabilizer | measure | Surface-code decoders (lookup versus a learned decoder), Clifford circuits on thousands of qubits via the tableau engine |
| Calibration | train | A drifting single qubit with two calibration strategies, trained off the main thread in a worker |
| Routing | optimise | SABRE and a REINFORCE-trained router on real coupling maps, with equivalence verification |
| Experiments | run | A lab notebook: hypothesis, steps with circuits, seeds and results, conclusion; persisted to Supabase or memory and also exposed as five MCP tools |
| Noise, Mitigation | measure | Trajectory noise models and readout-error mitigation by confusion-matrix inversion |
| QML Check | train | A variational quantum classifier versus logistic regression and a small MLP on three datasets, in a worker |
| GPU Simulator, Simulator Benchmark | run | CPU float64 versus WebGPU float32, capacity probing, and the correctness and performance suites for the engine |
| Run This Paper | run | A curated list of landmark results, each backed by an existing tested module, not an arXiv executor |
| Equivalence | measure | Checks two circuits for equivalence up to global phase |
| Device Advisor, Resource Estimator | measure | Device ranking from calibration data; order-of-magnitude fault-tolerant resource estimates |
| Entanglement Transition, Barren Plateaus | measure | Measurement-induced entanglement transition; gradient variance falling with qubit count (McClean et al. 2018) |
Shared machinery¶
verify.tschecks a circuit against a spec in the engine's own qubit convention, so a verification result means the same thing in the workbench, in the MCPgenerate_verified_circuittool and in the challenge grader.exportBundle.tsbuilds a citable, re-runnable bundle (README.md,manifest.json,circuit.qasm,results.json,CITATION.bib). It is pure, takes the timestamp as a parameter and never reads the clock, so the same inputs always produce the same bytes, which is the property a reproducibility artefact must have. The circuit is emitted once, bytoQasm, so there is exactly one OpenQASM emitter in the codebase.notebook.tswrites a Jupyter notebook (nbformat 4.5) targeting Qiskit or PennyLane with deterministic cell ids, so exports are byte-identical for the same circuit.circuitImage.tsrenders SVG, PNG and quantikz LaTeX from the same geometry the editor uses.lib/numerics/nn.tsis a minimal shared neural-network toolkit (Float64Array parameters, Adam, Glorot initialisation) used by the decoders, zero-noise extrapolation and QML modules, so every learned component in the workbench trains with the same, tested optimiser.
Workers¶
Anything that trains runs in a Web Worker (routing.worker.ts, calibration.worker.ts, qml.worker.ts) with start and stop messages, periodic progress reports and budgets in episodes and seconds. The page stays responsive and a learner can abandon a run.
Why no arbitrary code execution¶
Several tools take text from a language model. None evaluates it. Generated circuits are parsed by fromQasm into a Circuit, evolved candidates are interpreted by a purpose-built DSL interpreter, and verification runs on the parsed structure. This is both a security boundary and what makes the tools testable: a scripted fake provider exercises every branch of the generate–verify–repair loop in milliseconds.