- Desktop: providers_list, provider_estimate and run_on_provider
commands; the app reads the credential from the keychain, seals the
counts with the user's key, and refuses a run that is not free unless
the page confirms it.
- Studio: a "Your hardware" switch. In the desktop app it lists the
person's providers, asks for the estimate first and shows a dialog
before a run that is not free; in a browser tab it says such runs go
through the desktop app or the command line, since a tab must not hold
a provider's credential.
- Tests: test/hardware.test.mjs (the switch's logic without a browser),
a check in the browser test, and a desktop test of the estimate, the
refusal and the sealed run. The Studio workflow runs the first and
pins the last, and follows wai-quantum-qpu.
Co-Authored-By: Claude Opus 5.5 <[email protected]>