wai-quantum-qpu and wai-quantum-cli: a job on a provider outlives what sent it #581

Closed
dcharlot wants to merge 2 commits from wai/quantum-provider-jobs into main

2026-11-02

Transaction Science
wai-quantum-qpu.yml: the library has 46 tests, and the record's promises are named
All checks were successful
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m51s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 10m14s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 33s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 2m42s
wai-quantum command line / command line · macos (pull_request) Successful in 1m50s
wai-quantum command line / command line · linux (pull_request) Successful in 2m24s
wai-quantum editors / editors · macos (pull_request) Successful in 1m46s
wai-quantum contract / the policy is linked, and the deprecations page reads (pull_request) Successful in 4s
wai-quantum-qpu / credentials in the keychain (macos) (pull_request) Successful in 36s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 9m8s
wai-quantum contract / API compatibility · linux (pull_request) Successful in 4m59s
wai-quantum for Python / python · macos (pull_request) Successful in 2m41s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 9m28s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 2m9s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 19s
wai-quantum contract / schemas and the committed tool lists · linux (pull_request) Successful in 6m8s
wai-quantum service / service · macos (pull_request) Successful in 4m6s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 48s
wai-quantum editors / editors · linux (pull_request) Successful in 2m19s
wai-quantum for Python / python · linux (pull_request) Successful in 2m58s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 5m40s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 14m30s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 4m3s
wai-quantum service / service · linux (pull_request) Successful in 5m3s
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Successful in 3m0s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 5m32s
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 3m27s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 16m50s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 8m59s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 13m30s
The library's pinned count goes from 34 to 46, for the twelve tests the provider
job record adds. Five of them are named so CI fails if any stops running: a
recorded job outlives what sent it, running out of patience does not cancel it,
nothing is sent that was not recorded, a job that may have been sent is never
sent again, and a handle reaches no file but a record's.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 19:07:10 -05:00
Transaction Science
wai-quantum-qpu and wai-quantum-cli: a job on a provider outlives what sent it
Some checks failed
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 21s
wai-quantum-qpu / credentials in the keychain (macos) (pull_request) Successful in 41s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 3m56s
wai-quantum views in agent hosts / does this change touch it (pull_request) Successful in 19s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 2m48s
wai-quantum editors / editors · macos (pull_request) Successful in 1m39s
wai-quantum command line / command line · linux (pull_request) Successful in 3m8s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 19s
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m58s
wai-quantum for Python / python · macos (pull_request) Successful in 2m47s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 2m14s
wai-quantum contract / API compatibility · linux (pull_request) Successful in 4m43s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Failing after 39s
wai-quantum editors / editors · linux (pull_request) Successful in 2m20s
wai-quantum contract / schemas and the committed tool lists · linux (pull_request) Successful in 6m27s
wai-quantum service / service · macos (pull_request) Successful in 4m31s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 7m51s
wai-quantum for Python / python · linux (pull_request) Successful in 2m48s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 5m31s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 8m12s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m50s
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Successful in 3m15s
wai-quantum service / service · linux (pull_request) Successful in 5m5s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 9m50s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 5m27s
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 3m21s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 13m39s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 20m19s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 10m0s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 12m50s
A run on a person's provider waited in its process, and a job that had not
finished in two hours was cancelled at the provider, losing its place in the
queue. If the process stopped first, the job went on and its id was gone, so its
counts could not be read. A device's queue can take days.

A job is now written down before it is sent, with everything sealing it will
need, and the provider's id as soon as the provider gives one. Nothing that
cannot be recorded is sent. Any process can come back to the record, and its
counts are read against the program that was sent, whatever the device's
calibration has become. Running out of patience leaves the job where it is. A
request that did not complete may have reached the provider, so it is never sent
again: that could be a second bill.

The command line gains run --no-wait and providers jobs, collect and cancel. The
local MCP server's run_on_provider answers within a call, and gains
get_provider_job, cancel_provider_job and list_provider_jobs.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-02 13:09:24 -05:00