Skip to main content
Glama

WAI Quantum job service

Check a pulse run by running it again

pulse_check
Read-onlyIdempotent

Check a pulse job as a host returned it ({"request", "result"}, the result with its receipt): the receipt's signature, the program's digest against the request's text, and the request run again here with the result held to the one given field by field (the density matrix's digest among them), each difference named. A pulse run is the same bits on every platform, so a result that does not reproduce was not made from that request by this engine. Sealed with the service's key. Quote verified and the statement.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "request": "<request>",
      "result": "<result>"
    },
    "name": "pulse_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
resultYesIts result, with its receipt.
requestYesThe pulse job's request.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "description": "A pulse answer as every host gives it (engine::pulse: pulse_schedule and pulse_check on both servers, wai-quantum pulse, POST /v1/pulse/*, the Studio): the request, and the result sealed in a job's form. A pulse program's schedule on frames, or a pulse job checked by running it again. A pulse run itself is a job (method pulse) and follows job-result.v1.json. A result names the engine that made it and this schema (engine and schema). docs/pulse.md explains each.",
      -    "properties": {
      -      "request": {
      -        "description": "The call's request, as given.",
      -        "type": "object"
      -      },
      -      "result": {
      -        "anyOf": [
      -          {
      -            "description": "A pulse program's schedule (pulse_schedule, wai-quantum pulse schedule, POST /v1/pulse/schedule): its frames and ports, every instruction at its sample, each waveform's samples, the gate calls, the reader's notes, and the digests a run binds.",
      -            "properties": {
      -              "answer": {
      -                "const": "schedule"
      -              },
      -              "bits": {
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "calibration": {
      -                "description": "What a pulse run's receipt binds of the program: the BLAKE3 of the control program's text, of its calibrations as written (every cal, defcal and defcalgrammar, joined by newlines), and of the schedule's JSON; a run adds the device's and the target snapshot's.",
      -                "properties": {
      -                  "calibrations": {
      -                    "type": "string"
      -                  },
      -                  "device": {
      -                    "type": "string"
      -                  },
      -                  "program": {
      -                    "type": "string"
      -                  },
      -                  "schedule": {
      -                    "type": "string"
      -                  },
      -                  "target": {
      -                    "properties": {
      -                      "calibration": {
      -                        "type": "object"
      -                      },
      -                      "hash": {
      -                        "type": "string"
      -                      },
      -                      "name": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "type": "object"
      -                  }
      -                },
      -                "required": [
      -                  "program",
      -                  "calibrations",
      -                  "schedule"
      -                ],
      -                "type": "object"
      -              },
      -              "calls": {
      -                "items": {
      -                  "properties": {
      -                    "end": {
      -                      "type": "integer"
      -                    },
      -                    "line": {
      -                      "type": "integer"
      -                    },
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "params": {
      -                      "items": {
      -                        "type": "number"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "qubits": {
      -                      "items": {
      -                        "type": "integer"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "start": {
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "decimated": {
      -                "type": "string"
      -              },
      -              "diagnostics": {
      -                "items": {
      -                  "description": "A reader's note or warning (qasm::diag).",
      -                  "properties": {
      -                    "code": {
      -                      "type": "string"
      -                    },
      -                    "column": {
      -                      "type": "integer"
      -                    },
      -                    "length": {
      -                      "type": "integer"
      -                    },
      -                    "line": {
      -                      "type": "integer"
      -                    },
      -                    "message": {
      -                      "type": "string"
      -                    },
      -                    "outcome": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "dt_ns": {
      -                "description": "The sample period, ns.",
      -                "type": "number"
      -              },
      -              "duration": {
      -                "description": "The latest time of any frame, samples.",
      -                "type": "integer"
      -              },
      -              "duration_ns": {
      -                "type": "number"
      -              },
      -              "engine": {
      -                "description": "The engine that made the result: the wai-quantum crate's name and version.",
      -                "properties": {
      -                  "name": {
      -                    "const": "wai-quantum"
      -                  },
      -                  "version": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "version"
      -                ],
      -                "type": "object"
      -              },
      -              "frames": {
      -                "items": {
      -                  "properties": {
      -                    "frequency_hz": {
      -                      "type": "number"
      -                    },
      -                    "kind": {
      -                      "enum": [
      -                        "drive",
      -                        "measure",
      -                        "acquire"
      -                      ]
      -                    },
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "phase": {
      -                      "type": "number"
      -                    },
      -                    "port": {
      -                      "type": "string"
      -                    },
      -                    "qubit": {
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "grammar": {
      -                "type": [
      -                  "string",
      -                  "null"
      -                ]
      -              },
      -              "instructions": {
      -                "items": {
      -                  "properties": {
      -                    "bit": {
      -                      "type": [
      -                        "string",
      -                        "null"
      -                      ]
      -                    },
      -                    "carrier": {
      -                      "description": "The carrier's phase at the play's first sample, cycles in [0, 1).",
      -                      "type": "number"
      -                    },
      -                    "frame": {
      -                      "type": "integer"
      -                    },
      -                    "frequency_hz": {
      -                      "type": "number"
      -                    },
      -                    "length": {
      -                      "type": "integer"
      -                    },
      -                    "line": {
      -                      "type": "integer"
      -                    },
      -                    "op": {
      -                      "enum": [
      -                        "play",
      -                        "delay",
      -                        "shift_phase",
      -                        "set_phase",
      -                        "shift_frequency",
      -                        "set_frequency",
      -                        "capture",
      -                        "barrier"
      -                      ]
      -                    },
      -                    "phase": {
      -                      "type": "number"
      -                    },
      -                    "start": {
      -                      "type": "integer"
      -                    },
      -                    "value": {
      -                      "type": "number"
      -                    },
      -                    "waveform": {
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "required": [
      -                    "frame",
      -                    "op",
      -                    "start",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "ports": {
      -                "items": {
      -                  "properties": {
      -                    "kind": {
      -                      "enum": [
      -                        "drive",
      -                        "measure",
      -                        "acquire"
      -                      ]
      -                    },
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "qubit": {
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              },
      -              "qubits": {
      -                "items": {
      -                  "type": "integer"
      -                },
      -                "type": "array"
      -              },
      -              "receipt": {
      -                "description": "A result's receipt: an Ed25519 signature, by the key it names, over digest = BLAKE3(\"wai:quantum-service-receipt\\x02\" ‖ len ‖ request ‖ len ‖ result), each of request and result in its RFC 8785 canonical text (the result without its receipt member), each length 8 bytes big-endian. Whatever members the request and the result hold are sealed, the result's engine and schema among them. The first receipts (no canon member, $defs/first) signed serde_json's own text under the domain ending \\x01; they still verify.",
      -                "properties": {
      -                  "alg": {
      -                    "const": "ed25519"
      -                  },
      -                  "canon": {
      -                    "const": "rfc8785",
      -                    "description": "The canonical form the digest is taken over."
      -                  },
      -                  "digest": {
      -                    "description": "The digest signed, 32 bytes in hex.",
      -                    "maxLength": 64,
      -                    "minLength": 64,
      -                    "type": "string"
      -                  },
      -                  "key": {
      -                    "description": "The signing key, 32 bytes in hex.",
      -                    "maxLength": 64,
      -                    "minLength": 64,
      -                    "type": "string"
      -                  },
      -                  "signature": {
      -                    "description": "The signature, 64 bytes in hex.",
      -                    "maxLength": 128,
      -                    "minLength": 128,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "alg",
      -                  "canon",
      -                  "key",
      -                  "digest",
      -                  "signature"
      -                ],
      -                "title": "wai.quantum.receipt/2",
      -                "type": "object"
      -              },
      -              "schema": {
      -                "const": "wai.quantum.pulse/1"
      -              },
      -              "waveforms": {
      -                "items": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "integer"
      -                    },
      -                    "name": {
      -                      "type": "string"
      -                    },
      -                    "samples": {
      -                      "items": {
      -                        "items": {
      -                          "type": "number"
      -                        },
      -                        "maxItems": 2,
      -                        "minItems": 2,
      -                        "type": "array"
      -                      },
      -                      "type": "array"
      -                    },
      -                    "samples_every": {
      -                      "description": "Each k-th sample is drawn, when the schedule holds more than the view writes out.",
      -                      "type": "integer"
      -                    }
      -                  },
      -                  "type": "object"
      -                },
      -                "type": "array"
      -              }
      -            },
      -            "required": [
      -              "answer",
      -              "dt_ns",
      -              "duration",
      -              "frames",
      -              "waveforms",
      -              "instructions",
      -              "calls",
      -              "calibration"
      -            ],
      -            "type": "object"
      -          },
      -          {
      -            "description": "A pulse job checked (pulse_check, wai-quantum pulse check, POST /v1/pulse/check): its receipt's signature, its program's digest, and the request run again with the result held to the one given.",
      -            "properties": {
      -              "answer": {
      -                "const": "check"
      -              },
      -              "calibration": {},
      -              "density_hash": {
      -                "properties": {
      -                  "given": {},
      -                  "recomputed": {}
      -                },
      -                "type": "object"
      -              },
      -              "differences": {
      -                "description": "Each field (or field.member) whose value differs from the run here.",
      -                "items": {
      -                  "type": "string"
      -                },
      -                "type": "array"
      -              },
      -              "engine": {
      -                "description": "The engine that made the result: the wai-quantum crate's name and version.",
      -                "properties": {
      -                  "name": {
      -                    "const": "wai-quantum"
      -                  },
      -                  "version": {
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "version"
      -                ],
      -                "type": "object"
      -              },
      -              "key": {},
      -              "program": {
      -                "type": "boolean"
      -              },
      -              "receipt": {
      -                "description": "A result's receipt: an Ed25519 signature, by the key it names, over digest = BLAKE3(\"wai:quantum-service-receipt\\x02\" ‖ len ‖ request ‖ len ‖ result), each of request and result in its RFC 8785 canonical text (the result without its receipt member), each length 8 bytes big-endian. Whatever members the request and the result hold are sealed, the result's engine and schema among them. The first receipts (no canon member, $defs/first) signed serde_json's own text under the domain ending \\x01; they still verify.",
      -                "properties": {
      -                  "alg": {
      -                    "const": "ed25519"
      -                  },
      -                  "canon": {
      -                    "const": "rfc8785",
      -                    "description": "The canonical form the digest is taken over."
      -                  },
      -                  "digest": {
      -                    "description": "The digest signed, 32 bytes in hex.",
      -                    "maxLength": 64,
      -                    "minLength": 64,
      -                    "type": "string"
      -                  },
      -                  "key": {
      -                    "description": "The signing key, 32 bytes in hex.",
      -                    "maxLength": 64,
      -                    "minLength": 64,
      -                    "type": "string"
      -                  },
      -                  "signature": {
      -                    "description": "The signature, 64 bytes in hex.",
      -                    "maxLength": 128,
      -                    "minLength": 128,
      -                    "type": "string"
      -                  }
      -                },
      -                "required": [
      -                  "alg",
      -                  "canon",
      -                  "key",
      -                  "digest",
      -                  "signature"
      -                ],
      -                "title": "wai.quantum.receipt/2",
      -                "type": "object"
      -              },
      -              "reproduced": {
      -                "type": "boolean"
      -              },
      -              "schema": {
      -                "const": "wai.quantum.pulse/1"
      -              },
      -              "signature": {
      -                "type": "boolean"
      -              },
      -              "statement": {
      -                "type": "string"
      -              },
      -              "verified": {
      -                "type": "boolean"
      -              }
      -            },
      -            "required": [
      -              "answer",
      -              "verified",
      -              "signature",
      -              "program",
      -              "reproduced",
      -              "differences",
      -              "statement"
      -            ],
      -            "type": "object"
      -          }
      -        ],
      -        "description": "A schedule or a check, with its receipt."
      -      }
      -    },
      -    "required": [
      -      "request",
      -      "result"
      -    ],
      -    "title": "wai.quantum.pulse/1",
      -    "type": "object"
      -  },
      -  {
      -    "description": "A refusal as data: the message, every code in it (the last is the code), its outcome and meaning as the code's table gives them. A host that refuses for its own reasons gives the error alone.",
      -    "properties": {
      -      "code": {
      -        "type": [
      -          "string",
      -          "null"
      -        ]
      -      },
      -      "codes": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      },
      -      "error": {
      -        "type": "string"
      -      },
      -      "meaning": {
      -        "type": "string"
      -      },
      -      "message": {
      -        "type": "string"
      -      },
      -      "outcome": {
      -        "enum": [
      -          "refused",
      -          "retry",
      -          "failed",
      -          "lowered",
      -          "carried",
      -          "preserved",
      -          "warned",
      -          "dropped",
      -          "defaulted"
      -        ]
      -      }
      -    },
      -    "required": [
      -      "error"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "description": "A pulse answer as every host gives it (engine::pulse: pulse_schedule and pulse_check on both servers, wai-quantum pulse, POST /v1/pulse/*, the Studio): the request, and the result sealed in a job's form. A pulse program's schedule on frames, or a pulse job checked by running it again. A pulse run itself is a job (method pulse) and follows job-result.v1.json. A result names the engine that made it and this schema (engine and schema). docs/pulse.md explains each.",
      +    "properties": {
      +      "request": {
      +        "description": "The call's request, as given.",
      +        "type": "object"
      +      },
      +      "result": {
      +        "anyOf": [
      +          {
      +            "description": "A pulse program's schedule (pulse_schedule, wai-quantum pulse schedule, POST /v1/pulse/schedule): its frames and ports, every instruction at its sample, each waveform's samples, the gate calls, the reader's notes, and the digests a run binds.",
      +            "properties": {
      +              "answer": {
      +                "const": "schedule"
      +              },
      +              "bits": {
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "calibration": {
      +                "description": "What a pulse run's receipt binds of the program: the BLAKE3 of the control program's text, of its calibrations as written (every cal, defcal and defcalgrammar, joined by newlines), and of the schedule's JSON; a run adds the device's and the target snapshot's.",
      +                "properties": {
      +                  "calibrations": {
      +                    "type": "string"
      +                  },
      +                  "device": {
      +                    "type": "string"
      +                  },
      +                  "program": {
      +                    "type": "string"
      +                  },
      +                  "schedule": {
      +                    "type": "string"
      +                  },
      +                  "target": {
      +                    "properties": {
      +                      "calibration": {
      +                        "type": "object"
      +                      },
      +                      "hash": {
      +                        "type": "string"
      +                      },
      +                      "name": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "type": "object"
      +                  }
      +                },
      +                "required": [
      +                  "program",
      +                  "calibrations",
      +                  "schedule"
      +                ],
      +                "type": "object"
      +              },
      +              "calls": {
      +                "items": {
      +                  "properties": {
      +                    "end": {
      +                      "type": "integer"
      +                    },
      +                    "line": {
      +                      "type": "integer"
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "params": {
      +                      "items": {
      +                        "type": "number"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "qubits": {
      +                      "items": {
      +                        "type": "integer"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "start": {
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "decimated": {
      +                "type": "string"
      +              },
      +              "diagnostics": {
      +                "items": {
      +                  "description": "A reader's note or warning (qasm::diag).",
      +                  "properties": {
      +                    "code": {
      +                      "type": "string"
      +                    },
      +                    "column": {
      +                      "type": "integer"
      +                    },
      +                    "length": {
      +                      "type": "integer"
      +                    },
      +                    "line": {
      +                      "type": "integer"
      +                    },
      +                    "message": {
      +                      "type": "string"
      +                    },
      +                    "outcome": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "dt_ns": {
      +                "description": "The sample period, ns.",
      +                "type": "number"
      +              },
      +              "duration": {
      +                "description": "The latest time of any frame, samples.",
      +                "type": "integer"
      +              },
      +              "duration_ns": {
      +                "type": "number"
      +              },
      +              "engine": {
      +                "description": "The engine that made the result: the wai-quantum crate's name and version.",
      +                "properties": {
      +                  "name": {
      +                    "const": "wai-quantum"
      +                  },
      +                  "version": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "version"
      +                ],
      +                "type": "object"
      +              },
      +              "frames": {
      +                "items": {
      +                  "properties": {
      +                    "frequency_hz": {
      +                      "type": "number"
      +                    },
      +                    "kind": {
      +                      "enum": [
      +                        "drive",
      +                        "measure",
      +                        "acquire"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "phase": {
      +                      "type": "number"
      +                    },
      +                    "port": {
      +                      "type": "string"
      +                    },
      +                    "qubit": {
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "grammar": {
      +                "type": [
      +                  "string",
      +                  "null"
      +                ]
      +              },
      +              "instructions": {
      +                "items": {
      +                  "properties": {
      +                    "bit": {
      +                      "type": [
      +                        "string",
      +                        "null"
      +                      ]
      +                    },
      +                    "carrier": {
      +                      "description": "The carrier's phase at the play's first sample, cycles in [0, 1).",
      +                      "type": "number"
      +                    },
      +                    "frame": {
      +                      "type": "integer"
      +                    },
      +                    "frequency_hz": {
      +                      "type": "number"
      +                    },
      +                    "length": {
      +                      "type": "integer"
      +                    },
      +                    "line": {
      +                      "type": "integer"
      +                    },
      +                    "op": {
      +                      "enum": [
      +                        "play",
      +                        "delay",
      +                        "shift_phase",
      +                        "set_phase",
      +                        "shift_frequency",
      +                        "set_frequency",
      +                        "capture",
      +                        "barrier"
      +                      ]
      +                    },
      +                    "phase": {
      +                      "type": "number"
      +                    },
      +                    "start": {
      +                      "type": "integer"
      +                    },
      +                    "value": {
      +                      "type": "number"
      +                    },
      +                    "waveform": {
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "required": [
      +                    "frame",
      +                    "op",
      +                    "start",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "ports": {
      +                "items": {
      +                  "properties": {
      +                    "kind": {
      +                      "enum": [
      +                        "drive",
      +                        "measure",
      +                        "acquire"
      +                      ]
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "qubit": {
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              },
      +              "qubits": {
      +                "items": {
      +                  "type": "integer"
      +                },
      +                "type": "array"
      +              },
      +              "receipt": {
      +                "description": "A result's receipt: an Ed25519 signature, by the key it names, over digest = BLAKE3(\"wai:quantum-service-receipt\\x02\" ‖ len ‖ request ‖ len ‖ result), each of request and result in its RFC 8785 canonical text (the result without its receipt member), each length 8 bytes big-endian. Whatever members the request and the result hold are sealed, the result's engine and schema among them. The first receipts (no canon member, $defs/first) sealed their writer's compact text under the domain ending \\x01; they still verify. wai/extensions/quantum-providers.md section 8.2 states the seal in full, and section 8.4 what a verifier checks.",
      +                "properties": {
      +                  "alg": {
      +                    "const": "ed25519"
      +                  },
      +                  "canon": {
      +                    "const": "rfc8785",
      +                    "description": "The canonical form the digest is taken over."
      +                  },
      +                  "digest": {
      +                    "description": "The digest signed, 32 bytes in lower-case hex.",
      +                    "maxLength": 64,
      +                    "minLength": 64,
      +                    "pattern": "^[0-9a-f]{64}$",
      +                    "type": "string"
      +                  },
      +                  "key": {
      +                    "description": "The signing key, 32 bytes in lower-case hex.",
      +                    "maxLength": 64,
      +                    "minLength": 64,
      +                    "pattern": "^[0-9a-f]{64}$",
      +                    "type": "string"
      +                  },
      +                  "signature": {
      +                    "description": "The signature, 64 bytes in lower-case hex.",
      +                    "maxLength": 128,
      +                    "minLength": 128,
      +                    "pattern": "^[0-9a-f]{128}$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "alg",
      +                  "canon",
      +                  "key",
      +                  "digest",
      +                  "signature"
      +                ],
      +                "title": "wai.quantum.receipt/2",
      +                "type": "object"
      +              },
      +              "schema": {
      +                "const": "wai.quantum.pulse/1"
      +              },
      +              "waveforms": {
      +                "items": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "integer"
      +                    },
      +                    "name": {
      +                      "type": "string"
      +                    },
      +                    "samples": {
      +                      "items": {
      +                        "items": {
      +                          "type": "number"
      +                        },
      +                        "maxItems": 2,
      +                        "minItems": 2,
      +                        "type": "array"
      +                      },
      +                      "type": "array"
      +                    },
      +                    "samples_every": {
      +                      "description": "Each k-th sample is drawn, when the schedule holds more than the view writes out.",
      +                      "type": "integer"
      +                    }
      +                  },
      +                  "type": "object"
      +                },
      +                "type": "array"
      +              }
      +            },
      +            "required": [
      +              "answer",
      +              "dt_ns",
      +              "duration",
      +              "frames",
      +              "waveforms",
      +              "instructions",
      +              "calls",
      +              "calibration"
      +            ],
      +            "type": "object"
      +          },
      +          {
      +            "description": "A pulse job checked (pulse_check, wai-quantum pulse check, POST /v1/pulse/check): its receipt's signature, its program's digest, and the request run again with the result held to the one given.",
      +            "properties": {
      +              "answer": {
      +                "const": "check"
      +              },
      +              "calibration": {},
      +              "density_hash": {
      +                "properties": {
      +                  "given": {},
      +                  "recomputed": {}
      +                },
      +                "type": "object"
      +              },
      +              "differences": {
      +                "description": "Each field (or field.member) whose value differs from the run here.",
      +                "items": {
      +                  "type": "string"
      +                },
      +                "type": "array"
      +              },
      +              "engine": {
      +                "description": "The engine that made the result: the wai-quantum crate's name and version.",
      +                "properties": {
      +                  "name": {
      +                    "const": "wai-quantum"
      +                  },
      +                  "version": {
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "version"
      +                ],
      +                "type": "object"
      +              },
      +              "key": {},
      +              "program": {
      +                "type": "boolean"
      +              },
      +              "receipt": {
      +                "description": "A result's receipt: an Ed25519 signature, by the key it names, over digest = BLAKE3(\"wai:quantum-service-receipt\\x02\" ‖ len ‖ request ‖ len ‖ result), each of request and result in its RFC 8785 canonical text (the result without its receipt member), each length 8 bytes big-endian. Whatever members the request and the result hold are sealed, the result's engine and schema among them. The first receipts (no canon member, $defs/first) sealed their writer's compact text under the domain ending \\x01; they still verify. wai/extensions/quantum-providers.md section 8.2 states the seal in full, and section 8.4 what a verifier checks.",
      +                "properties": {
      +                  "alg": {
      +                    "const": "ed25519"
      +                  },
      +                  "canon": {
      +                    "const": "rfc8785",
      +                    "description": "The canonical form the digest is taken over."
      +                  },
      +                  "digest": {
      +                    "description": "The digest signed, 32 bytes in lower-case hex.",
      +                    "maxLength": 64,
      +                    "minLength": 64,
      +                    "pattern": "^[0-9a-f]{64}$",
      +                    "type": "string"
      +                  },
      +                  "key": {
      +                    "description": "The signing key, 32 bytes in lower-case hex.",
      +                    "maxLength": 64,
      +                    "minLength": 64,
      +                    "pattern": "^[0-9a-f]{64}$",
      +                    "type": "string"
      +                  },
      +                  "signature": {
      +                    "description": "The signature, 64 bytes in lower-case hex.",
      +                    "maxLength": 128,
      +                    "minLength": 128,
      +                    "pattern": "^[0-9a-f]{128}$",
      +                    "type": "string"
      +                  }
      +                },
      +                "required": [
      +                  "alg",
      +                  "canon",
      +                  "key",
      +                  "digest",
      +                  "signature"
      +                ],
      +                "title": "wai.quantum.receipt/2",
      +                "type": "object"
      +              },
      +              "reproduced": {
      +                "type": "boolean"
      +              },
      +              "schema": {
      +                "const": "wai.quantum.pulse/1"
      +              },
      +              "signature": {
      +                "type": "boolean"
      +              },
      +              "statement": {
      +                "type": "string"
      +              },
      +              "verified": {
      +                "type": "boolean"
      +              }
      +            },
      +            "required": [
      +              "answer",
      +              "verified",
      +              "signature",
      +              "program",
      +              "reproduced",
      +              "differences",
      +              "statement"
      +            ],
      +            "type": "object"
      +          }
      +        ],
      +        "description": "A schedule or a check, with its receipt."
      +      }
      +    },
      +    "required": [
      +      "request",
      +      "result"
      +    ],
      +    "title": "wai.quantum.pulse/1",
      +    "type": "object"
      +  },
      +  {
      +    "description": "A refusal as data: the message, every code in it (the last is the code), its outcome and meaning as the code's table gives them. A host that refuses for its own reasons gives the error alone.",
      +    "properties": {
      +      "code": {
      +        "type": [
      +          "string",
      +          "null"
      +        ]
      +      },
      +      "codes": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      },
      +      "error": {
      +        "type": "string"
      +      },
      +      "meaning": {
      +        "type": "string"
      +      },
      +      "message": {
      +        "type": "string"
      +      },
      +      "outcome": {
      +        "enum": [
      +          "refused",
      +          "retry",
      +          "failed",
      +          "lowered",
      +          "carried",
      +          "preserved",
      +          "warned",
      +          "dropped",
      +          "defaulted"
      +        ]
      +      }
      +    },
      +    "required": [
      +      "error"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Added

TDQS

A3.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this read-only, idempotent, and closed-world, and the description adds real behavior beyond that: it re-executes the request here, verifies the receipt signature and program digest, and reports each field-level difference by name. It also explains why the check is meaningful (deterministic reproducibility across platforms), though it does not mention the compute cost of re-running a job.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The core action is front-loaded, but the first sentence is a dense run-on with nested parentheticals that slows parsing. The trailing line about quoting `verified` is useful but sits oddly at the end rather than being tied to the verification outcome.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With two required nested parameters, a full output schema, and rich annotations, the description covers the verification pipeline and the determinism rationale adequately; return values need not be explained. The remaining gap is routing guidance against sibling verification tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% but the schema descriptions are thin one-liners ('Its result, with its receipt'). The description adds meaning by explaining the {'request','result'} pairing and what each part is used for: the request's text is digested and re-run, the result's receipt is signature-checked. That is genuine semantic value over the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description gives a specific verb and resource: check a host-returned pulse job by re-running its request and comparing results field by field. It is clear what the tool does, but it never distinguishes itself from plausible siblings like verify_quantum_receipt or check_equivalent, leaving the agent to infer the boundary.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied by the phrase 'as a host returned it', which suggests the input must come from a host response rather than being constructed locally. There is no explicit when-to-use statement, no exclusion, and no named alternative for receipt-only verification, so the agent must infer routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources