Re-landed from PR #668 (branch wai/quantum-planner-contract, merged with main
495651ddd at 37350335b) as one commit on main, under the land-it model. Five
review rounds; round 5's findings (two high: workers that died as PID 1) were
fixed on the branch, and its CI reds were traced and fixed before landing.
A job may carry a contract (deadline, energy ceiling, cost, accuracy); the
planner chooses a route that meets it or refuses with every route's reason,
and its reasoning is sealed in the receipt. Under #676's reading child the
contract job is planned in the child from the per-method timings the parent
sends, bounded as a job naming its chosen method plus its reasoning, kept
across a restart. Both verifiers (Rust and receipt_verify.py) check the
planner statement beside wasmQ's; the receipts corpus is regenerated with
both kinds (268 crafted receipts, 14 plants caught). The views page carries
its engine raw-deflated and stays under its 1 MiB limit (669,484 bytes).
Passed before the push (Framework, linux; M3, macOS): every repository
check, receipts conformance, breaking, corpora, catalogue, the qpu clients,
energy (wai-rs, wai-quantum full, serve), the CLI tests and clippy, writer,
smoke, cross-simulator corpus, job receipts, wasmQ tests and vectors, the
engine with and without receipts under -D warnings, the docs pages, and the
service suite with clippy.
Co-Authored-By: Claude Opus 5.5 <[email protected]>
1 line
5.5 KiB
JSON
1 line
5.5 KiB
JSON
{"status":"done","method":"density_matrix","why":"density matrix of the 2 physical qubits the program touches, each gate and channel one superoperator pass, under the noise of the target synthetic-line-5 (calibration content:0b152c6f06102941): the program compiled to rzsxxcz on physical qubits [3, 4], 0 swaps, expected success 0.9563; each gate costed as the target's own, equal up to one-qubit gates; the route the job names, which meets its contract (1 of 1 routes)","estimate":{"memory_bytes":268435720,"work":400},"request":{"qasm":"OPENQASM 3.0;\ninclude \"stdgates.inc\";\nqubit[2] q;\nbit[2] c;\nh q[0];\ncx q[0], q[1];\nc = measure q;\n","shots":50,"seed":2,"contract":{"deadline_seconds":60.0,"providers":"allowed"},"target":"synthetic-line-5"},"result":{"method":"density_matrix","qubits":2,"gates":2,"accuracy":{"class":"exact","note":"the noisy state under the target's noise model, exactly: a model of the device from its calibration snapshot: each gate's reported error as depolarising noise beside the amplitude damping and dephasing its T1, T2 and duration give, idling relaxed the same way, and each qubit's readout by its assignment errors; Markovian and gate-local, so crosstalk, leakage, coherent over-rotation and drift are not modelled; counts are seeded samples of its distribution, each bit misread by its qubit's assignment errors; expectation values are of the state before the measurement, with no readout error"},"counts":{"00":26,"11":22,"01":2},"distinct_outcomes":3,"omitted_shots":0,"ideal":{"computed":true,"total_variation_distance":0.03964591211886446,"hellinger_fidelity":0.960218501561203,"note":"the noisy distribution over the classical bits, exactly, against the circuit's ideal one by the bit-exact state vector: how far the target's noise moves the answer"},"target":{"name":"synthetic-line-5","hash":"a618b0e1c671834a0a8967524b4a7018752f50e3c11d98c1c49a687806e81701","hash_is":"BLAKE3 of the target document's RFC 8785 text","calibration":{"id":"content:0b152c6f06102941","timestamp":"2026-10-01T09:00:00+00:00"},"source":{"format":"device-properties","note":"synthetic: written for wai-quantum in the shape of the device-properties format, its numbers made up; no device's data"},"placement":{"basis":"rzsxxcz","exact":false,"layout":[3,4],"final_layout":[3,4],"swaps":0,"native_gates":9,"two_qubit_gates":1,"expected_success":0.9563103156162862,"fewest_swaps":{"layout":[0,1],"swaps":0,"expected_success":0.9491455074213893},"layouts_compared":8,"chosen":"noise-aware: of 8 layouts and their routes, the highest expected success (0.956310, against 0.949146 for the fewest swaps)","expected_success_is":"the product of each gate's success (one less its reported error, or where none is reported its relaxation over its duration) and each measured qubit's readout success (one less the mean of its assignment errors); idling is in the noise model, not in this figure","checked":"the compiled program's final state equals the circuit's, each logical qubit on the physical qubit it ends on, by the bit-exact simulator","notes":["the target's gates do not hold one of the compiler's sets, so the program is compiled to rz sx x cz and each gate costed as the target's (cz as cx): the same up to one-qubit gates, which are not counted; a simulation of the device, not a program it runs as it is"]},"noise":{"model":"a model of the device from its calibration snapshot: each gate's reported error as depolarising noise beside the amplitude damping and dephasing its T1, T2 and duration give, idling relaxed the same way, and each qubit's readout by its assignment errors; Markovian and gate-local, so crosstalk, leakage, coherent over-rotation and drift are not modelled","simulated_qubits":[3,4],"duration_ns":491.0,"idle_ns":35.5,"channels":16,"one_qubit_depolarizing":{"gates":8,"mean":0.000025084801525975534},"two_qubit_depolarizing":{"gates":1,"mean":0.0029999418028110424},"readout":[{"logical":0,"physical":3,"p01":0.006877,"p10":0.03886},{"logical":1,"physical":4,"p01":0.007857,"p10":0.01804}],"notes":[]}},"engine":{"name":"wai-quantum","version":"0.8.1"},"schema":"wai.quantum.job-result/1","planner":{"format":"wai.quantum.planner/1","wanted":"exact","wanted_from":"named","named":"method:density_matrix","question":"counts","auto":null,"host":{"job_bytes":17179869184,"providers":[]},"routes":[{"route":"method:density_matrix","kind":"local","method":"density_matrix","class":"exact","host_dependent":false,"auto_rank":null,"price":{"money":{"free":true},"time":{"seconds":7.2e-8,"basis":"nominal"},"memory_bytes":268435720,"work":400,"energy":{"joules":null,"why":"this host estimates no job's energy before it runs"},"leaves_out":[]},"outcome":"chosen"}],"choice":"method:density_matrix","why":"the route the job names, which meets its contract (1 of 1 routes)","stable":{"scope":"digest: what each route that depends on nothing of the host costs, the same for this request and job memory on every host of one engine; choice: whether the route chosen is one of those whatever the host","routes":["method:density_matrix"],"digest":"16b4bfb6541720b9990c891168f637b933f09ef1134cd0bfb5165ac5d248a7e3","choice":false},"kept":{"deadline":{"seconds":60.0,"elapsed_ms":1,"kept":true}}},"energy":{"unmetered":"the command line does not meter a run's energy"},"receipt":{"alg":"ed25519","canon":"rfc8785","key":"197f6b23e16c8532c6abc838facd5ea789be0c76b2920334039bfa8b3d368d61","digest":"756e787363f6c18d3392c97f574846e8d5ec9642cb5eade81f698068fa650d9a","signature":"03bfebaee776044398a164427e01924ded2bce9c4ae4bf5dbad6e408b02e49564e7017f6beaf5b5b42e8655825b2306942fc448b4ea0b8e902b0580848761405"}}}
|