Skip to main content
Glama

GENESIS ProofRelay MCP Verifier

Compute readiness signal

proofrelay.compute_readiness_signal
Read-onlyIdempotent

Compute a public-safe readiness signal from title, closing, wire, lender-condition, approval, exception, and risk hashes/counts. The tool does not certify readiness to close or fund.

Input Schema

NameRequiredDescriptionDefault
readinessYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changed
    • addedInput schema / properties / readiness / additionalProperties
      Added value: +false
    • addedInput schema / properties / readiness / properties / approval_receipt_hashes / items / pattern
      Added value: +"^\\s*(?:sha256:)?[0-9a-fA-F]{64}\\s*$"
    • changedInput schema / properties / readiness / properties / closing_pack_hash / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\s*(?:sha256:)?[0-9a-fA-F]{64}\\s*$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / readiness / properties / lender_condition_hashes / items / pattern
      Added value: +"^\\s*(?:sha256:)?[0-9a-fA-F]{64}\\s*$"
    • changedInput schema / properties / readiness / properties / title_evidence_hash / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\s*(?:sha256:)?[0-9a-fA-F]{64}\\s*$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • changedInput schema / properties / readiness / properties / wire_review_hash / anyOf
      Previous value: -[
      -  {
      -    "type": "string"
      -  },
      -  {
      -    "type": "null"
      -  }
      -]New value: +[
      +  {
      +    "pattern": "^\\s*(?:sha256:)?[0-9a-fA-F]{64}\\s*$",
      +    "type": "string"
      +  },
      +  {
      +    "type": "null"
      +  }
      +]
    • addedInput schema / properties / readiness / properties / workflow_hash / pattern
      Added value: +"^\\s*(?:sha256:)?[0-9a-fA-F]{64}\\s*$"
  2. Changed6 schema fields changed
    • removedInput schema / $defs
      Removed value: -{
      -  "ReadinessSignalInput": {
      -    "description": "Hash-only real-estate workflow readiness signal input.",
      -    "properties": {
      -      "approval_receipt_hashes": {
      -        "description": "Human approval receipt hashes.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "title": "Approval Receipt Hashes",
      -        "type": "array"
      -      },
      -      "closing_pack_hash": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Closing pack hash.",
      -        "title": "Closing Pack Hash"
      -      },
      -      "critical_risk_count": {
      -        "default": 0,
      -        "description": "Critical risk count.",
      -        "minimum": 0,
      -        "title": "Critical Risk Count",
      -        "type": "integer"
      -      },
      -      "lender_condition_hashes": {
      -        "description": "Lender condition profile hashes.",
      -        "items": {
      -          "type": "string"
      -        },
      -        "title": "Lender Condition Hashes",
      -        "type": "array"
      -      },
      -      "open_condition_count": {
      -        "default": 0,
      -        "description": "Open condition count.",
      -        "minimum": 0,
      -        "title": "Open Condition Count",
      -        "type": "integer"
      -      },
      -      "target_milestone": {
      -        "description": "Milestone being assessed.",
      -        "enum": [
      -          "title_clear_to_close",
      -          "closing",
      -          "funding",
      -          "disbursement",
      -          "post_close"
      -        ],
      -        "title": "Target Milestone",
      -        "type": "string"
      -      },
      -      "title_evidence_hash": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Title evidence hash.",
      -        "title": "Title Evidence Hash"
      -      },
      -      "unresolved_exception_count": {
      -        "default": 0,
      -        "description": "Public count of unresolved exceptions.",
      -        "minimum": 0,
      -        "title": "Unresolved Exception Count",
      -        "type": "integer"
      -      },
      -      "wire_review_hash": {
      -        "anyOf": [
      -          {
      -            "type": "string"
      -          },
      -          {
      -            "type": "null"
      -          }
      -        ],
      -        "default": null,
      -        "description": "Wire review hash.",
      -        "title": "Wire Review Hash"
      -      },
      -      "workflow_hash": {
      -        "description": "SHA-256 workflow or file hash.",
      -        "title": "Workflow Hash",
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "workflow_hash",
      -      "target_milestone"
      -    ],
      -    "title": "ReadinessSignalInput",
      -    "type": "object"
      -  }
      -}
    • removedInput schema / properties / readiness / $ref
      Removed value: -"#/$defs/ReadinessSignalInput"
    • addedInput schema / properties / readiness / properties
      Added value: +{
      +  "approval_receipt_hashes": {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "closing_pack_hash": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "critical_risk_count": {
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  "lender_condition_hashes": {
      +    "items": {
      +      "type": "string"
      +    },
      +    "type": "array"
      +  },
      +  "open_condition_count": {
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  "target_milestone": {
      +    "enum": [
      +      "title_clear_to_close",
      +      "closing",
      +      "funding",
      +      "disbursement",
      +      "post_close"
      +    ],
      +    "type": "string"
      +  },
      +  "title_evidence_hash": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "unresolved_exception_count": {
      +    "minimum": 0,
      +    "type": "integer"
      +  },
      +  "wire_review_hash": {
      +    "anyOf": [
      +      {
      +        "type": "string"
      +      },
      +      {
      +        "type": "null"
      +      }
      +    ]
      +  },
      +  "workflow_hash": {
      +    "type": "string"
      +  }
      +}
    • addedInput schema / properties / readiness / required
      Added value: +[
      +  "workflow_hash",
      +  "target_milestone"
      +]
    • addedInput schema / properties / readiness / type
      Added value: +"object"
    • removedInput schema / title
      Removed value: -"compute_readiness_signalArguments"
  3. First observed

TDQS

A3.5/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the description is not the sole safety source. It still adds real value by flagging "public-safe" (hash/count inputs, no PII) and by pre-empting over-interpretation with "does not certify readiness to close or fund" — a meaningful caveat for a tool whose name implies certification. It does not say how the signal is computed or what a low signal implies, but the output schema covers the return shape.

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

Conciseness5/5

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

Two sentences, no filler, with the compute action front-loaded and the important limitation placed last for emphasis. Every clause earns its place.

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

Completeness3/5

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

The presence of an output schema and full annotation coverage removes the need to explain return values and safety. What remains missing for a tool this structurally complex is any explanation of the milestone selector and workflow hash, plus guidance on when to reach for this rather than the adjacent checkpoint or proof-pack builders.

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

Parameters2/5

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

Schema description coverage is 0% across a nested object with ten properties, so the description must carry the burden. It does map loosely onto most properties (title, closing, wire, lender-condition, approval, exception, risk hashes/counts), but leaves the required workflow_hash and the target_milestone enum of five milestones entirely unexplained, and does not indicate which fields are optional or how the counts influence the result.

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 names a specific verb and resource ("Compute a public-safe readiness signal") and enumerates the evidence categories it consumes, so an agent can tell it apart from build/verify tools in the sibling list. It stops short of explicitly contrasting itself with proofrelay.recommend_checkpoint or proofrelay.build_closing_proof_pack, which are the nearest neighbors.

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 implied by the input inventory (hashes and counts across title, wire, lender conditions, approvals, exceptions, risk), but there is no explicit when-to-use, no prerequisite statement, and no named alternative. The only scoping sentence is a negative disclaimer about what the signal does not certify, which bounds the meaning rather than guiding tool selection.

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