### wai-quantum-cli: a job on a provider is an MCP task

An agent ran a job on a person's provider and then had to remember to ask after it with `get_provider_job`. A client
that speaks MCP 2025-11-25 can now run `run_on_provider` as a task, the protocol's own way to wait.

- **The task is the job.** `initialize` declares `tasks` (list, cancel, `tools/call`) from that version on, and
  `run_on_provider` declares `execution.taskSupport` "optional". `tools/call` with `task` records and sends the job as
  the call does and answers once the provider has taken it, the job's handle its `taskId`. A run that is not free and
  not confirmed makes no task and sends nothing; the error's data carries the plan.
- **Every job recorded here is a task**, whatever sent it: `run --no-wait`, an earlier session, another agent.
  `tasks/get` asks the provider once and says why when it could not; `tasks/list` reads the records and asks no one,
  since they are one person's own; `tasks/cancel` cancels at the provider and refuses a task that has ended. A task's
  time to live is unlimited, as the records are kept.
- **`tasks/result` waits without holding the server.** Asked before the job has ended, it is answered when the job ends,
  by a thread that asks the provider at an interval growing from 2 s to a minute, while the server answers every other
  message. A `tasks/cancel` here ends that wait at once, and a request the client cancels
  (`notifications/cancelled`) is never answered. Nothing is lost if the server stops: the job is in its record.
- A tool call and a task's wait asking after one job no longer both seal it: this process asks one question at a time.

