Skip to main content
Glama

Synthex Forge — x402 Paid Agent Services

Issue Decision Attestation

issue_decision_attestation
Destructive

A signed, dated, replayable attestation of a decision. use it rather than issue_nav_attestation for attestation, not nav attestation; an object with 55 fields including _originalBytes, _truncated. $2.5 USDC.

Input Schema

NameRequiredDescriptionDefault
actorNoWho performed the action. Used to attribute the record and to check the authority of the caller.
as_ofNoThe date the answer is computed as of (YYYY-MM-DD). Defaults to today. Use it to reproduce a past answer exactly.
policyNoThe policy document or policy id the decision is evaluated against.
contextNoFree-form context the operation needs but does not model as a structured field.
decisionNoThe decision this operation operates on. See the schema for its type and whether it is required.
evidenceNoThe evidence supporting the claim, as a list of named documents or URLs.
policy_setNoThe policy set this operation operates on. See the schema for its type and whether it is required.

Output Schema

NameRequiredDescriptionDefault
idNoThe `id` field of the response.
asOfNoThe `asOf` field of the response.
kindNoThe `kind` field of the response.
metaNoThe `meta` field of the response.
noteNoA note on how the answer was produced.
textNoThe `text` field of the response.
actorNoThe `actor` field of the response.
as_ofNoThe date the answer is computed as of.
bytesNoThe `bytes` field of the response.
itemsNoThe items the operation returned.
checksNoThe individual checks that were run.
detailYesHuman-readable explanation of the verdict.
digestNoThe `digest` field of the response.
failedNoThe `failed` field of the response.
policyNoThe `policy` field of the response.
sha256NoThe `sha256` field of the response.
signedNoThe `signed` field of the response.
statusNoThe status of the operation.
checkedNoThe `checked` field of the response.
contentNoThe `content` field of the response.
contextNoThe `context` field of the response.
matchedNoThe `matched` field of the response.
presentNoThe `present` field of the response.
decisionNoThe `decision` field of the response.
declaredNoThe `declared` field of the response.
excludedNoThe `excluded` field of the response.
includedNoThe `included` field of the response.
rehashOkNoThe `rehashOk` field of the response.
signedByNoThe `signedBy` field of the response.
suppliedNoThe `supplied` field of the response.
unknownsNoThe `unknowns` field of the response.
assuranceNoThe `assurance` field of the response.
matchedIdNoThe `matchedId` field of the response.
signatureYesThe Ed25519 signature over the evidence core, base64-encoded.
signed_atNoThe `signed_at` field of the response.
stored_atNoThe `stored_at` field of the response.
_truncatedNoThe `_truncated` field of the response.
ed25519SigNoThe `ed25519Sig` field of the response.
content_refNoThe `content_ref` field of the response.
decision_idNoThe `decision_id` field of the response.
evidenceCoreNoThe `evidenceCore` field of the response.
policyDigestNoThe `policyDigest` field of the response.
policy_digestNoThe `policy_digest` field of the response.
_originalBytesNoThe `_originalBytes` field of the response.
declaredDigestNoThe `declaredDigest` field of the response.
evidenceDigestNoThe `evidenceDigest` field of the response.
evidence_countNoThe `evidence_count` field of the response.
profileVersionNoVersion of the answer profile.
assurance_basisNoThe `assurance_basis` field of the response.
declaredMatchesNoThe `declaredMatches` field of the response.
evidence_digestNoThe `evidence_digest` field of the response.
matchedPolicyIdNoThe `matchedPolicyId` field of the response.
profile_versionNoVersion of the answer profile.
structurallyValidNoThe `structurallyValid` field of the response.
signed_evidence_countNoThe `signed_evidence_count` field of the response.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed56 schema fields changed
    • addedOutput schema / properties / _originalBytes
      Added value: +{
      +  "description": "The `_originalBytes` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / _truncated
      Added value: +{
      +  "description": "The `_truncated` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / actor
      Added value: +{
      +  "description": "The `actor` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / asOf
      Added value: +{
      +  "description": "The `asOf` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / as_of
      Added value: +{
      +  "description": "The date the answer is computed as of.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / assurance
      Added value: +{
      +  "description": "The `assurance` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / assurance_basis
      Added value: +{
      +  "description": "The `assurance_basis` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / bytes
      Added value: +{
      +  "description": "The `bytes` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / checked
      Added value: +{
      +  "description": "The `checked` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / checks
      Added value: +{
      +  "description": "The individual checks that were run.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / content
      Added value: +{
      +  "description": "The `content` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / content_ref
      Added value: +{
      +  "description": "The `content_ref` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / context
      Added value: +{
      +  "description": "The `context` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / decision
      Added value: +{
      +  "description": "The `decision` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / decision_id
      Added value: +{
      +  "description": "The `decision_id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / declared
      Added value: +{
      +  "description": "The `declared` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / declaredDigest
      Added value: +{
      +  "description": "The `declaredDigest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / declaredMatches
      Added value: +{
      +  "description": "The `declaredMatches` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / detail
      Added value: +{
      +  "description": "Human-readable explanation of the verdict.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / digest
      Added value: +{
      +  "description": "The `digest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / ed25519Sig
      Added value: +{
      +  "description": "The `ed25519Sig` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceCore
      Added value: +{
      +  "description": "The `evidenceCore` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidenceDigest
      Added value: +{
      +  "description": "The `evidenceDigest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidence_count
      Added value: +{
      +  "description": "The `evidence_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / evidence_digest
      Added value: +{
      +  "description": "The `evidence_digest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / excluded
      Added value: +{
      +  "description": "The `excluded` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / failed
      Added value: +{
      +  "description": "The `failed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / id
      Added value: +{
      +  "description": "The `id` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / included
      Added value: +{
      +  "description": "The `included` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / items
      Added value: +{
      +  "description": "The items the operation returned.",
      +  "items": {
      +    "description": "One record.",
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • addedOutput schema / properties / kind
      Added value: +{
      +  "description": "The `kind` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / matched
      Added value: +{
      +  "description": "The `matched` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / matchedId
      Added value: +{
      +  "description": "The `matchedId` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / matchedPolicyId
      Added value: +{
      +  "description": "The `matchedPolicyId` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / meta
      Added value: +{
      +  "description": "The `meta` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / note
      Added value: +{
      +  "description": "A note on how the answer was produced.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / policy
      Added value: +{
      +  "description": "The `policy` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / policyDigest
      Added value: +{
      +  "description": "The `policyDigest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / policy_digest
      Added value: +{
      +  "description": "The `policy_digest` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / present
      Added value: +{
      +  "description": "The `present` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / profileVersion
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / profile_version
      Added value: +{
      +  "description": "Version of the answer profile.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / rehashOk
      Added value: +{
      +  "description": "The `rehashOk` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / sha256
      Added value: +{
      +  "description": "The `sha256` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signature
      Added value: +{
      +  "description": "The Ed25519 signature over the evidence core, base64-encoded.",
      +  "type": "string"
      +}
    • addedOutput schema / properties / signed
      Added value: +{
      +  "description": "The `signed` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signedBy
      Added value: +{
      +  "description": "The `signedBy` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_at
      Added value: +{
      +  "description": "The `signed_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / signed_evidence_count
      Added value: +{
      +  "description": "The `signed_evidence_count` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / status / description
      Added value: +"The status of the operation."
    • addedOutput schema / properties / stored_at
      Added value: +{
      +  "description": "The `stored_at` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / structurallyValid
      Added value: +{
      +  "description": "The `structurallyValid` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / supplied
      Added value: +{
      +  "description": "The `supplied` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / text
      Added value: +{
      +  "description": "The `text` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / properties / unknowns
      Added value: +{
      +  "description": "The `unknowns` field of the response.",
      +  "type": "object"
      +}
    • addedOutput schema / required
      Added value: +[
      +  "detail",
      +  "signature"
      +]
  2. Added

TDQS

B3.4/5.0
Behavior3/5

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

Beyond the annotations (destructiveHint=true, idempotentHint=false, readOnlyHint=false), the description adds genuinely useful traits: the artifact is signed, dated, and replayable, and it costs $2.5 USDC. However, it never explains why a signing operation is flagged destructive, what state is affected or overwritten, or what authority is needed. The '55 fields' statement duplicates what the output schema already conveys.

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?

It leads with the purpose, which is good, but the middle clause is redundant and awkward ('use it rather than issue_nav_attestation for attestation, not nav attestation') and the trailing '55 fields including _originalBytes, _truncated' is cryptic filler given an output schema exists. Several words do not earn their place.

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 an output schema present and full schema coverage on all seven parameters, the description need not explain return values. What it still omits is the selection logic against the crowded attestation sibling group and any note on irreversible/destructive side effects, but the core is complete enough to call the tool.

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

Parameters3/5

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

Schema description coverage is 100% and every parameter (actor, as_of, policy, decision, evidence, policy_set, context) carries a meaningful schema description, so the baseline is 3. The prose adds nothing about parameter semantics, and the key question of which fields are actually needed to produce the attestation is left to 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 names the specific artifact (a signed, dated, replayable attestation of a decision) and explicitly differentiates it from issue_nav_attestation. It stops short of distinguishing it from the other attestation siblings (issue_attestation, issue_delivery_attestation, issue_spend_ledger_attestation), so a reader still has to reason about which attestation variant applies.

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?

It gives one explicit routing rule ('use it rather than issue_nav_attestation'), but the phrasing is garbled and self-referential ('for attestation, not nav attestation'), and it says nothing about when to prefer issue_attestation, issue_delivery_attestation, or the other attestation tools in the sibling list. The one alternative it names is useful; the rest of the decision space is implied at best.

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.