open-standards/wai/wai-quantum-cli/schemas/local-tools.v1.json
Transaction Science 5307518b27 wai-quantum-qpu and wai-quantum-cli: a job on a provider outlives what sent it
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 22:18:51 -05:00

450 lines
11 KiB
JSON

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://git.transaction.science/Transaction-Science/open-standards/raw/branch/main/wai/wai-quantum-cli/schemas/local-tools.v1.json",
"title": "wai.quantum.local-tools/1",
"description": "The answers of the local MCP server's own tools (wai-quantum mcp), those the command line writes beside the engine's: a receipt's check, the workbench archive's submissions, a program's history, the person's taste, and the person's own providers. Each is a $def; every tool's outputSchema in tools/list is its answer's schema standing alone. The engine's answers are in wai-quantum's schemas.",
"$defs": {
"verify": {
"description": "Whether a job's receipt seals its request and its result, and the key that signed it; for an estimate, also every estimate's receipt and the request re-run here; for an answer of the variational and algorithm library, also its digest chain and the answer re-run here.",
"anyOf": [
{
"type": "object",
"description": "Whether a job's receipt seals its request and its result, and the key that signed it.",
"required": [
"valid",
"key"
],
"properties": {
"valid": {
"type": "boolean"
},
"key": {
"type": [
"string",
"null"
],
"description": "The signing key, 32 bytes in hex."
}
}
},
{
"$ref": "https://git.transaction.science/Transaction-Science/open-standards/raw/branch/main/wai/wai-quantum/schemas/estimate.v1.json#/$defs/verify"
},
{
"$ref": "https://git.transaction.science/Transaction-Science/open-standards/raw/branch/main/wai/wai-quantum/schemas/algorithms.v1.json#/$defs/verify"
}
]
},
"discover_submit": {
"type": "object",
"description": "What the archive did with a generator, and its best entry after.",
"required": [
"outcome",
"best"
],
"properties": {
"outcome": {
"type": "object"
},
"best": {
"type": [
"object",
"null"
]
}
}
},
"history_commit": {
"type": "object",
"description": "The version an agent's edit was recorded as, and in whose name.",
"required": [
"version",
"parent",
"by",
"history"
],
"properties": {
"version": {
"type": "string"
},
"parent": {
"type": "string"
},
"by": {
"type": [
"object",
"null"
],
"properties": {
"kind": {
"enum": [
"person",
"assistant",
"agent",
"engine",
"origin"
]
},
"name": {
"type": [
"string",
"null"
]
}
}
},
"history": {
"type": "string",
"description": "The history file's path."
}
}
},
"history_changes": {
"type": "object",
"required": [
"changes",
"rules"
],
"properties": {
"changes": {
"type": "array",
"items": {
"type": "object"
}
},
"breaches": {},
"rules": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"history_blame": {
"type": "object",
"required": [
"version",
"lines",
"authorship"
],
"properties": {
"version": {
"type": "string"
},
"lines": {
"type": "array",
"items": {
"type": "object"
}
},
"authorship": {
"type": "object"
}
}
},
"history_log": {
"type": "object",
"required": [
"versions",
"check"
],
"properties": {
"versions": {
"type": "array",
"items": {
"type": "object"
}
},
"check": {
"type": "object"
}
}
},
"taste_rank": {
"type": "object",
"description": "Programs ranked by the person's own taste profile: each with its score, its parts' scores and its typicality; where the parts or the cost put another first; and whether the ranking narrows what comes first.",
"required": [
"choices",
"ranked"
],
"properties": {
"choices": {
"type": "integer",
"description": "The choices the profile has learned from."
},
"dial": {
"type": "number",
"description": "The novelty dial, -1 to 1."
},
"ranked": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"score",
"final"
],
"properties": {
"name": {
"type": "string"
},
"score": {
"type": "number"
},
"final": {
"type": "number"
},
"novelty": {
"type": [
"number",
"null"
]
},
"typicality": {
"type": [
"number",
"null"
]
},
"cost": {
"type": [
"number",
"null"
]
},
"parts": {
"type": "object",
"additionalProperties": {
"type": "number"
}
}
}
}
},
"disagree": {
"type": "array",
"items": {
"type": "object",
"properties": {
"part": {
"type": "string"
},
"first": {
"type": "string"
}
}
}
},
"narrowing": {
"type": [
"object",
"null"
]
}
}
},
"taste_next": {
"type": "object",
"description": "The pair the person's taste profile is least sure of that the engine proves equal, or why there is none.",
"required": [
"a"
],
"properties": {
"a": {
"type": [
"string",
"null"
]
},
"b": {
"type": "string"
},
"how": {
"type": "string",
"description": "How the engine proved them equal."
},
"p_a": {
"type": "number",
"description": "The profile's probability that the person prefers a."
},
"why": {
"type": "string"
}
}
},
"providers_list": {
"type": "object",
"description": "The person's providers, and where each one's credential is; with free, what is free.",
"required": [
"registry",
"providers"
],
"properties": {
"registry": {
"type": "string",
"description": "The registry file's path."
},
"providers": {
"type": "array",
"items": {
"type": "object"
}
},
"free": {
"type": "object"
}
}
},
"provider_job": {
"type": "object",
"description": "A job on a provider, in the form of a job (job.v1.json), its id the record's handle: running, ended with its error, or done with its result and receipt, which verify_quantum_result checks.",
"required": [
"id",
"status",
"method",
"request"
],
"properties": {
"id": {
"type": "string"
},
"status": {
"enum": [
"running",
"done",
"failed",
"cancelled"
]
},
"method": {
"const": "provider"
},
"why": {
"type": "string"
},
"request": {
"type": "object"
},
"result": {
"type": "object"
},
"error": {
"type": "string"
},
"submitted_ms": {
"type": "integer"
},
"finished_ms": {
"type": "integer"
}
}
},
"provider_jobs": {
"type": "object",
"description": "Every job recorded on this machine, as it last stood: no provider is asked.",
"required": [
"ledger",
"jobs",
"unread"
],
"properties": {
"ledger": {
"type": "string",
"description": "The directory the records are in."
},
"jobs": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"provider",
"status",
"shots",
"submitted_ms"
],
"properties": {
"id": {
"type": "string"
},
"provider": {
"type": "string"
},
"status": {
"enum": [
"running",
"done",
"failed",
"cancelled"
]
},
"shots": {
"type": "integer"
},
"submitted_ms": {
"type": "integer"
},
"finished_ms": {
"type": "integer"
},
"error": {
"type": "string"
}
}
}
},
"unread": {
"type": "array",
"items": {
"type": "string"
},
"description": "Why any file among the records could not be read."
}
}
},
"provider_estimate": {
"type": "object",
"description": "The dry run of a job on a provider: nothing submitted, nothing spent.",
"required": [
"dry_run",
"provider",
"plan",
"estimate",
"free",
"confirm"
],
"properties": {
"dry_run": {
"const": true
},
"provider": {
"type": "object"
},
"calibration": {
"type": [
"string",
"null"
]
},
"billing": {
"type": "object"
},
"plan": {
"type": "object"
},
"estimate": {
"type": "object"
},
"free": {
"type": "boolean"
},
"confirm": {
"type": "string",
"description": "What the person reads before confirming a run that is not free."
}
}
}
}
}