- verdict.v1.json (wai.quantum.verdict/1), target.v1.json (wai.quantum.target/1) and estimate.v1.json (wai.quantum.estimate/1) are committed; verdict::json_schema() and targets::schema() are those files. - tools.v1.json: the job layer's J codes beside the reader's, a refusal as data, the repair, debug_step and debug_branches, the target listing and a target's summary, and every draw format; the job request's intent, verdict, target and repair, the result's verdict, target and repaired, and the plan's target. - Every tool on both servers has its output schema (Registry::tool_output): its answer or a refusal as data, the verdict beside either and required for a tool that states one, and an $id versioning it (wai-quantum://schemas/TOOL/1). The strict every-tool tests call repair_qasm, estimate_resources, debug_step, debug_branches, list_targets, show_target and run_on_target too, and the refusals. - An estimate's sealed result names its engine and schema; its re-run check leaves both out, so an estimate another version sealed re-runs. Pins that moved: wai-web's ESTIMATE_DIGEST (aaa42bc8… to 0cd25cf6…). The no-verdict byte pins in engine::job hold the bytes they held, the stamp left out of what they hash. - The tool lists regenerated. Co-Authored-By: Claude Opus 5.5 <[email protected]>
340 lines
8.3 KiB
JSON
340 lines
8.3 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.",
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"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_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."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|