Skip to content
Back to Agent Output Verification

Card snapshot

output-verification.agendamcp.dpdns.org · 2026-10-05 18:52:32 UTC · 6e964614ccd53bcbfc72c6f527d3007628500f0f7008c55e8b3d5117aadcc53b

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "Agent Output Verification",
  "description": "External application-level evidence gate for agent workflows. Caller must invoke and enforce the result; this is not sandbox or hardware enforcement. Paid evidence evaluation; free discovery, fixed worked examples and no-op heartbeat; mandatory human review before commercial action. No independent factual verification or clearance. Before relaying another agent's answer, use an external evidence-review boundary to check the claims against supplied source text. An A2A-compatible relay-readiness gate for agent-to-agent output hand-off: bring the claim set and its evidence; get a machine-actionable verdict \u2014 verify_before_relay, block_unsafe_claims, not_decision_ready, or insufficient_information \u2014 with the unsafe and weak claims, evidence gaps, and owner actions. Caller-declared evidence is never externally verified here, so allow_relay is never issued: the strongest verdict is verify_before_relay with mandatory human review, and a quote counts as grounded only when its text appears in the cited evidence content. Schema-level and structural only \u2014 not factual-truth verification, source retrieval, or an approval.",
  "provider": {
    "organization": "Vassiliy Lakhonin",
    "url": "https://github.com/vassiliylakhonin"
  },
  "version": "1.14.0",
  "documentationUrl": "https://github.com/vassiliylakhonin/agenda-intelligence-md/tree/main/schemas/v1",
  "supportedInterfaces": [
    {
      "url": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/message/send",
      "protocolBinding": "JSONRPC",
      "protocolVersion": "1.0"
    }
  ],
  "securityRequirements": [],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "extendedAgentCard": false,
    "extensions": [
      {
        "uri": "https://agenda-intelligence-a2a.vassiliy-lakhonin.workers.dev/a2a/extensions/agenda-intelligence/v1",
        "description": "Wrapper scope, product contract, boundaries, support channel and provider identity for this agent. Repeat callers may send the optional X-Client-Id header with a stable non-personal integration label. Descriptive only: reading it is never required to call the agent.",
        "required": false,
        "params": {
          "support": {
            "email": "vassiliy.lakhonin@gmail.com",
            "documentationUrl": "https://github.com/vassiliylakhonin/agenda-intelligence-md/blob/main/MCP.md",
            "hours_local": "Mon\u2013Fri 09:00\u201318:00 Asia/Almaty (UTC+5)",
            "timezone": "Asia/Almaty",
            "response_sla": "Best-effort response within 2 business days. Solo maintainer (not a company); not a paid support channel."
          },
          "x_agenda_intelligence": {
            "hosted_wrapper": true,
            "operational_health": {
              "status": "ok",
              "version": "1.14.0",
              "checked_at": "2026-10-05T18:52:29.236Z",
              "url": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/health"
            },
            "task_continuity": {
              "store": "KV (24-hour TTL, status-only without input or artifacts)",
              "supported_methods": [
                "SendMessage",
                "GetTask"
              ],
              "cancellation": "unsupported for synchronous tasks",
              "tenant_binding": "when TASK_SCOPE_AUTH_REQUIRED=1, task creation issues a private continuation.token; GetTask and continuation require it in X-Task-Token and otherwise answer TASK_NOT_FOUND. X-Client-Id is a telemetry label. Legacy local mode uses label scoping only"
            },
            "wrapper_scope": "A2A/JSON-RPC discovery, claim-level relay-readiness checks, pre-action routing, and response assembly only",
            "jsonrpc_endpoint": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/message/send",
            "protocol_version": "1.0",
            "public_endpoint": true,
            "optional_client_identifier_header": "X-Client-Id",
            "client_identification": {
              "header": "X-Client-Id",
              "required": false,
              "purpose": "Use a stable non-personal integration label so aggregate stats can group repeat calls; do not send a person's name, email, token, or secret."
            },
            "ai_catalog": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/.well-known/ai-catalog.json",
            "oauth_protected_resource": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/.well-known/oauth-protected-resource",
            "repository": "https://github.com/vassiliylakhonin/agenda-intelligence-md",
            "package": "https://pypi.org/project/agenda-intelligence-md/",
            "mcp": {
              "transport": "stdio",
              "server_command": "agenda-intelligence-mcp",
              "install": "pip install agenda-intelligence-md"
            },
            "boundaries": [
              "Claim-level relay-readiness evidence triage only.",
              "Schema-level and structural: it does not verify that any claim or quote is factually true.",
              "No live source retrieval; it does not fetch or validate cited sources.",
              "No legal, compliance, financial, investment, insurance, or trading advice.",
              "No approval, clearance, authorization, or final decision.",
              "Human review is required for every verdict: caller-declared evidence never earns allow_relay, so the strongest routing is verify_before_relay."
            ],
            "x402": {
              "protocol": "x402",
              "network": "base",
              "chain_id": 8453,
              "token": "USDC",
              "token_contract": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
              "pricing_tiers": {
                "tier_micro_check_usdc": 0.05,
                "tier_bankability_dossier_usdc": 25,
                "tier_pro_monthly_usdc": 490
              },
              "settle_endpoint": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/v1/settle",
              "interactive_web3_ui": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/corridor-bankability"
            },
            "product_profile": "agent_output_verification",
            "canonical_product_name": "Agent Output Verification",
            "documentation": "https://github.com/vassiliylakhonin/agenda-intelligence-md/tree/main/schemas/v1",
            "product_contract": {
              "request_schema": "https://github.com/vassiliylakhonin/agenda-intelligence-md/blob/main/schemas/v1/evidence-audit.schema.json",
              "response_schema": "https://github.com/vassiliylakhonin/agenda-intelligence-md/blob/main/schemas/v1/agent-output-verification-response.schema.json",
              "source_taxonomy": "https://github.com/vassiliylakhonin/agenda-intelligence-md/tree/main/schemas/v1",
              "runnable_examples": "https://github.com/vassiliylakhonin/agenda-intelligence-md/tree/main/examples/a2a",
              "canonical_input_mode": "structured_json",
              "demo_input_modes": [
                "structured_json"
              ]
            },
            "pre_action_check_contract": {
              "request_schema": "https://github.com/vassiliylakhonin/agenda-intelligence-md/blob/main/schemas/v1/pre-action-check-request.schema.json",
              "response_schema": "https://github.com/vassiliylakhonin/agenda-intelligence-md/blob/main/schemas/v1/pre-action-check-response.schema.json",
              "replay_cases": "https://github.com/vassiliylakhonin/agenda-intelligence-md/blob/main/examples/pre-action-check/replay-cases.json"
            },
            "supported_contracts": [
              "agent_output_verification_contract",
              "pre_action_check_contract"
            ],
            "buyer_use_cases": [
              "verify a claim-backed answer received from another agent before relaying or acting on it",
              "gate an agent-to-agent hand-off when the upstream output may contain unsupported claims",
              "pre-publication check that every claim in an agent-drafted memo is grounded",
              "route an agent action to continue, request evidence, require approval, or stop before a tool call"
            ],
            "commercial_positioning": "Claim set + action context -> relay verdict or pre-action route with evidence gaps and owner actions. The check uses caller-supplied evidence and policy results. It does not verify factual truth, retrieve sources, authenticate an actor, authorize an action, or enforce the result.",
            "focus": [
              "relay-readiness verdict for one agent verifying another agent's output",
              "pre-action routing before an external tool call or hand-off",
              "unsupported and orphaned claim detection",
              "risk-based human approval routing"
            ],
            "not_advice_notice": "Agent-output relay-readiness triage only. Schema-level and structural: it does not verify that any claim or quote is factually true, does not fetch or validate cited sources, and does not authorize an action or provide legal, compliance, sanctions, financial, or investment advice. This gate never issues allow_relay from caller-declared packs: human review is required before a consuming agent acts on any verdict it returns.",
            "preferred_input": "structured_json; free-text candidates are unconfirmed and may be empty",
            "a2a_send_message_example": {
              "endpoint": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/message/send",
              "headers": {
                "Content-Type": "application/json",
                "A2A-Version": "1.0",
                "X-Trace-Id": "example-trace-001"
              },
              "request": {
                "jsonrpc": "2.0",
                "id": "example-1",
                "method": "SendMessage",
                "params": {
                  "message": {
                    "messageId": "example-msg-1",
                    "role": "ROLE_USER",
                    "parts": [
                      {
                        "kind": "data",
                        "data": {
                          "claims": [
                            {
                              "claim_id": "c1",
                              "claim": "The counterparty is not on the OFAC SDN list as of 2026-08-01.",
                              "support_level": "direct",
                              "evidence_ids": [
                                "e1"
                              ]
                            }
                          ],
                          "evidence": [
                            {
                              "evidence_id": "e1",
                              "name": "OFAC SDN extract",
                              "source_type": "official_document",
                              "freshness": "2026-08-01"
                            }
                          ]
                        }
                      }
                    ]
                  }
                }
              },
              "expected": {
                "task_state": "TASK_STATE_COMPLETED",
                "note": "Triage output only, not authorization or clearance."
              },
              "trace": "Optional: send an X-Trace-Id header (8-80 chars of A-Za-z0-9._:-) or a top-level params.trace_id. It is echoed in task metadata.trace_id and recorded in telemetry, so your call can be correlated end to end."
            },
            "free_a2a_triage": {
              "scope": "Free discovery, fixed examples and no-op heartbeat only. Evidence evaluation is paid.",
              "decision_boundary": "No legal, sanctions, financial or trading clearance. Human review before any commercial action.",
              "price": "Paid evaluations require signed payment or Pro entitlement. See /.well-known/x402."
            }
          },
          "x_security_posture": {
            "transport": "https",
            "public_endpoint": true,
            "required_authentication": false,
            "oauth_protected_resource_metadata": "https://agent-output-verification-a2a.vassiliy-lakhonin.workers.dev/.well-known/oauth-protected-resource",
            "optional_client_identifier_header": "X-Client-Id",
            "client_identification": {
              "required": false,
              "authentication": false,
              "purpose": "Pseudonymous repeat-call attribution in aggregate operational analytics."
            },
            "zero_retention_guarantee": true,
            "prompt_retention": "none",
            "payload_persistence": "ephemeral_ram_only",
            "dlp_sanitization": "real_time",
            "context_isolation_verified": true,
            "eval_framework_safe": true,
            "pricing_model": "tiered_enterprise_and_x402_micropayments",
            "engagement_tiers": {
              "tier_1_community_sandbox": "free",
              "tier_micro_check_usdc": 0.05,
              "tier_corridor_bankability_dossier_usdc": 25,
              "tier_2_dedicated_pro_tenant_usd_monthly": 490,
              "tier_3_confidential_deal_dossier_usd": 99,
              "tier_3_pilot_promo_usd": 49
            },
            "data_handling": [
              "Zero-retention architecture: queries and parameters are processed purely in ephemeral RAM and discarded.",
              "No caller prompt text stored in aggregate stats or telemetry logs.",
              "Usage analytics are aggregate operational counters.",
              "No financial credentials processed via agent interface; corporate billing and invoicing handled out-of-band.",
              "Integrated Vizier Action Firewall for DLP credentials redaction and OFAC 50% Rule screening."
            ],
            "abuse_contact": "mailto:vassiliy.lakhonin@gmail.com"
          },
          "x_tool_contracts": {
            "contract_version": "1.14.0",
            "note": "These are MCP tool schemas, not A2A envelope schemas. For A2A SendMessage use x_agenda_intelligence.a2a_send_message_example; structured gate fields go directly in message.parts[0].data, and free text goes in message.parts[0].text.",
            "tools": [
              {
                "name": "agent_output_verification",
                "input_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/evidence-audit.schema.json",
                  "title": "EvidenceAudit",
                  "description": "Claim-level evidence audit. Each important claim should be traceable to specific evidence with an explicit support level, uncertainty hook, and risk-if-wrong note. Use the `audit-claims` CLI command or `audit_claims` MCP tool to validate.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "claims",
                    "evidence"
                  ],
                  "properties": {
                    "topic": {
                      "type": "string"
                    },
                    "claims": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "$ref": "#/$defs/claim"
                      }
                    },
                    "evidence": {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/evidence_item"
                      }
                    },
                    "unsupported_claims": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Important claims the analyst could not back with evidence."
                    }
                  },
                  "$defs": {
                    "claim": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "claim_id",
                        "claim",
                        "support_level"
                      ],
                      "properties": {
                        "claim_id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "claim": {
                          "type": "string",
                          "minLength": 1
                        },
                        "claim_type": {
                          "type": "string",
                          "enum": [
                            "regulatory_change",
                            "regulatory_gap",
                            "sanctions_event",
                            "geopolitical_event",
                            "market_event",
                            "industry_response",
                            "corporate_disclosure",
                            "capability_claim"
                          ],
                          "description": "Taxonomy label for the claim. regulatory_change: law or regulation adopted, amended, or enforced. regulatory_gap: identified absence or weakness in existing regulation. sanctions_event: sanctions designation, evasion, or enforcement action. geopolitical_event: political decision or conflict development. market_event: price move, trade flow, or commercial development. industry_response: industry adaptation or corporate strategy shift. corporate_disclosure: company filing, statement, or announcement. capability_claim: assertion about technical or operational capability."
                        },
                        "evidence_ids": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "support_level": {
                          "type": "string",
                          "enum": [
                            "direct",
                            "partial",
                            "weak",
                            "unsupported"
                          ]
                        },
                        "uncertainty": {
                          "type": "string",
                          "description": "What the analyst is unsure about, even if the claim is supported."
                        },
                        "risk_if_wrong": {
                          "type": "string",
                          "description": "Decision-level cost if this claim turns out to be wrong."
                        },
                        "supporting_quotes": {
                          "type": "array",
                          "description": "Optional span-level grounding: the specific quote(s) in cited evidence that back this claim. Records which span supports the claim, not just which document. Each entry's evidence_id should be one of this claim's evidence_ids. audit-claims checks the structural link only (flags span_orphans where it is not); it does NOT verify the quote text appears in the source \u2014 that is verify-quotes' job. Neither verifies factual truth.",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "evidence_id",
                              "quote"
                            ],
                            "properties": {
                              "evidence_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "quote": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        }
                      }
                    },
                    "evidence_item": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "evidence_id",
                        "source_type"
                      ],
                      "properties": {
                        "evidence_id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "source_type": {
                          "type": "string",
                          "description": "e.g. official_document, regulator_announcement, news, analyst_report, primary_data, illustrative_placeholder."
                        },
                        "freshness": {
                          "type": "string"
                        },
                        "supports": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "limits": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "content": {
                          "type": "string",
                          "description": "Optional source text extract. When present, supporting_quotes are corroborated by matching their text against this content; without a content field, caller-declared quotes count as unverified assertions."
                        },
                        "text": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "body": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "excerpt": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "quote": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "snippet": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "summary": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "full_text": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        }
                      }
                    }
                  }
                },
                "output_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/agent-output-verification-response.schema.json",
                  "title": "AgentOutputVerificationResponse",
                  "description": "Structured verdict for whether one agent's claim-backed output is ready for a consuming agent to relay or act on. Wraps a claim-level evidence audit (evidence-audit.schema.json) and returns a machine-actionable relay verdict, weak/unsafe claim triage, evidence gaps, and owner actions. Schema-level and structural only: it does not verify that any claim or quote is factually true, does not fetch or validate cited sources, and does not authorize an action or provide legal, compliance, sanctions, financial, or investment advice.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "verdict",
                    "trust_signal",
                    "readiness_score",
                    "readiness_label",
                    "claim_count",
                    "grounded_claim_count",
                    "unsafe_claims",
                    "weak_claims",
                    "unsupported_statements",
                    "evidence_gaps",
                    "owner_actions",
                    "watch_next",
                    "human_review_required",
                    "not_advice_notice",
                    "limitations"
                  ],
                  "properties": {
                    "verdict": {
                      "type": "string",
                      "enum": [
                        "allow_relay",
                        "verify_before_relay",
                        "block_unsafe_claims",
                        "not_decision_ready",
                        "insufficient_information"
                      ],
                      "description": "Machine-actionable relay verdict. verify_before_relay: claims are declared-supported and structurally consistent; the pack is caller-declared and never externally verified here, so this is the best possible routing and human review is mandatory. block_unsafe_claims: at least one claim is marked unsupported or cites evidence that is not present. not_decision_ready / insufficient_information: not enough structured claim material to verdict, or no claim cites evidence present in the supplied pack. allow_relay is reserved and never issued from caller-declared packs: this gate performs no external verification, so nothing it returns may be read as relay-ready. A declared support_level is a caller assertion, not a verified fact: it counts only where the claim cites an evidence_id the caller actually supplied."
                    },
                    "trust_signal": {
                      "type": "string",
                      "enum": [
                        "low",
                        "medium",
                        "medium_high",
                        "high",
                        "unknown"
                      ]
                    },
                    "readiness_score": {
                      "type": "integer",
                      "minimum": 0,
                      "maximum": 100,
                      "description": "Heuristic 0-100 score over declared evidence structure, capped below the review_ready band (max 84) because caller-declared packs are never externally verified here. Only claims that cite an evidence_id present in the supplied evidence contribute to it; a claim whose declared support_level nothing in the pack corroborates weighs nothing. Not approval, clearance, or factual verification."
                    },
                    "readiness_label": {
                      "type": "string",
                      "enum": [
                        "insufficient_information",
                        "not_decision_ready",
                        "partial",
                        "review_ready"
                      ]
                    },
                    "claim_count": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "grounded_claim_count": {
                      "type": "integer",
                      "minimum": 0,
                      "description": "Number of claims with at least one supporting quote whose normalized text appears in the cited evidence item's content fields. A quote that is only declared, with no matching evidence content, does not count."
                    },
                    "unsafe_claims": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "claim_id",
                          "reason"
                        ],
                        "properties": {
                          "claim_id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "claim": {
                            "type": "string"
                          },
                          "reason": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      },
                      "description": "Claims that must not be relayed as fact: marked unsupported, or citing evidence_ids absent from the supplied evidence."
                    },
                    "weak_claims": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "claim_id"
                        ],
                        "properties": {
                          "claim_id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "claim": {
                            "type": "string"
                          }
                        }
                      },
                      "description": "Claims declared with weak support that should be strengthened before relay."
                    },
                    "unsupported_statements": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Statements the producing agent itself flagged as unsupported (from evidence-audit unsupported_claims)."
                    },
                    "evidence_gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "owner_actions": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "description": "Concrete fixes the producing agent should make before the output is relayed."
                    },
                    "watch_next": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "human_review_required": {
                      "type": "boolean",
                      "description": "True for any verdict other than allow_relay: a human should review before the consuming agent acts."
                    },
                    "not_advice_notice": {
                      "type": "string",
                      "minLength": 1
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "score_scope": {
                      "const": "declared_evidence_structure_only"
                    },
                    "factual_verification_performed": {
                      "const": false
                    }
                  }
                },
                "annotations": {
                  "readOnlyHint": false,
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false
                }
              },
              {
                "name": "pre_action_check",
                "input_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/pre-action-check-request.schema.json",
                  "title": "PreActionCheckRequest",
                  "description": "Caller-supplied action context and claim evidence for deterministic pre-action routing. The check can continue, request evidence, require human approval, or stop. It does not authenticate the actor, verify factual truth, enforce the decision, or authorize the action.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "run_id",
                    "actor",
                    "requested_action",
                    "target",
                    "risk_tier",
                    "claims",
                    "evidence"
                  ],
                  "properties": {
                    "run_id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Caller-generated correlation identifier. Resubmit the same run_id after adding evidence or approval."
                    },
                    "actor": {
                      "$ref": "#/$defs/actor"
                    },
                    "requested_action": {
                      "type": "string",
                      "minLength": 1
                    },
                    "target": {
                      "$ref": "#/$defs/target"
                    },
                    "risk_tier": {
                      "type": "string",
                      "enum": [
                        "low",
                        "medium",
                        "high",
                        "critical"
                      ]
                    },
                    "claims": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "$ref": "#/$defs/claim"
                      }
                    },
                    "evidence": {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/evidence_item"
                      }
                    },
                    "unsupported_claims": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "policy_context": {
                      "$ref": "#/$defs/policy_context"
                    },
                    "approval": {
                      "$ref": "#/$defs/approval"
                    }
                  },
                  "$defs": {
                    "actor": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ai_agent",
                            "automation",
                            "api_client",
                            "human_delegated_agent",
                            "unknown",
                            "other"
                          ]
                        },
                        "operator": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "target": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "type": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "claim": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "claim_id",
                        "claim",
                        "support_level"
                      ],
                      "properties": {
                        "claim_id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "claim": {
                          "type": "string",
                          "minLength": 1
                        },
                        "claim_type": {
                          "type": "string",
                          "enum": [
                            "regulatory_change",
                            "regulatory_gap",
                            "sanctions_event",
                            "geopolitical_event",
                            "market_event",
                            "industry_response",
                            "corporate_disclosure",
                            "capability_claim"
                          ]
                        },
                        "evidence_ids": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "support_level": {
                          "type": "string",
                          "enum": [
                            "direct",
                            "partial",
                            "weak",
                            "unsupported"
                          ]
                        },
                        "uncertainty": {
                          "type": "string"
                        },
                        "risk_if_wrong": {
                          "type": "string"
                        },
                        "supporting_quotes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "evidence_id",
                              "quote"
                            ],
                            "properties": {
                              "evidence_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "quote": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        }
                      }
                    },
                    "evidence_item": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "evidence_id",
                        "source_type"
                      ],
                      "properties": {
                        "evidence_id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "source_type": {
                          "type": "string",
                          "minLength": 1
                        },
                        "freshness": {
                          "type": "string"
                        },
                        "supports": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "limits": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "content": {
                          "type": "string",
                          "description": "Optional source text extract. supporting_quotes corroborate only by matching their text against evidence content fields; without one, quotes are caller assertions."
                        },
                        "text": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "body": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "excerpt": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "quote": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "snippet": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "summary": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "full_text": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        }
                      }
                    },
                    "policy_context": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "profile": {
                          "type": "string",
                          "enum": [
                            "default",
                            "agentic_interaction_trust"
                          ]
                        },
                        "checks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "check_id",
                              "status"
                            ],
                            "properties": {
                              "check_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "status": {
                                "type": "string",
                                "enum": [
                                  "passed",
                                  "needs_evidence",
                                  "failed"
                                ]
                              },
                              "evidence_gap": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        }
                      }
                    },
                    "approval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "not_requested",
                            "approved",
                            "rejected"
                          ]
                        },
                        "reference": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Opaque caller-held reference to an external approval record."
                        }
                      }
                    }
                  }
                },
                "output_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/pre-action-check-response.schema.json",
                  "title": "PreActionCheckResponse",
                  "description": "Deterministic routing result for a caller-controlled action boundary. The response reports readiness; the caller remains responsible for enforcement, authentication, authorization, approval storage, and the action itself.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "decision_id",
                    "run_id",
                    "policy_version",
                    "decision",
                    "reason_code",
                    "blocking_gaps",
                    "evidence_requests",
                    "approval_required",
                    "human_review_required",
                    "verification",
                    "not_authorization_notice",
                    "limitations"
                  ],
                  "properties": {
                    "decision_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "run_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "policy_version": {
                      "type": "string",
                      "const": "pre-action-check.v1"
                    },
                    "decision": {
                      "type": "string",
                      "enum": [
                        "continue",
                        "request_evidence",
                        "require_approval",
                        "stop"
                      ]
                    },
                    "reason_code": {
                      "type": "string",
                      "enum": [
                        "evidence_ready",
                        "evidence_gaps",
                        "unsafe_claims",
                        "policy_check_failed",
                        "approval_required_for_risk",
                        "approval_rejected"
                      ]
                    },
                    "blocking_gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "evidence_requests": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "approval_required": {
                      "type": "boolean"
                    },
                    "human_review_required": {
                      "type": "boolean"
                    },
                    "verification": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "verdict",
                        "evidence_gaps",
                        "owner_actions"
                      ]
                    },
                    "policy_checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "check_id",
                          "status"
                        ],
                        "properties": {
                          "check_id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "passed",
                              "needs_evidence",
                              "failed"
                            ]
                          },
                          "evidence_gap": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "receipt_status": {
                      "type": "string",
                      "enum": [
                        "signed",
                        "unavailable"
                      ],
                      "description": "Present on decision_check. unavailable fails the signed Gate path closed."
                    },
                    "receipt": {
                      "description": "Short-lived readiness receipt attached by decision_check. The legacy pre_action_check response omits it.",
                      "oneOf": [
                        {
                          "type": "null"
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "format",
                            "token",
                            "receipt_id",
                            "issued_at",
                            "expires_at",
                            "request_hash",
                            "action_hash",
                            "verification_tool"
                          ],
                          "properties": {
                            "format": {
                              "type": "string",
                              "const": "agenda-readiness-receipt+jws"
                            },
                            "token": {
                              "type": "string",
                              "pattern": "^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$"
                            },
                            "receipt_id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "issued_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "expires_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "request_hash": {
                              "type": "string",
                              "pattern": "^sha256:[a-f0-9]{64}$"
                            },
                            "action_hash": {
                              "type": "string",
                              "pattern": "^sha256:[a-f0-9]{64}$"
                            },
                            "verification_tool": {
                              "type": "string",
                              "const": "decision_verify"
                            }
                          }
                        }
                      ]
                    },
                    "not_authorization_notice": {
                      "type": "string",
                      "minLength": 1
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "annotations": {
                  "readOnlyHint": false,
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false
                }
              },
              {
                "name": "decision_policies_list",
                "input_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/decision-policies-list-request.schema.json",
                  "title": "DecisionPoliciesListRequest",
                  "description": "Empty request for the hosted decision-gate policy catalog.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false
                },
                "output_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/decision-policies-list-response.schema.json",
                  "title": "DecisionPoliciesListResponse",
                  "description": "Stable catalog of readiness policies exposed by the hosted decision gate.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "policies",
                    "receipt_format",
                    "binding",
                    "not_authorization_notice"
                  ],
                  "properties": {
                    "policies": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "policy_id",
                          "policy_version",
                          "decision_tool",
                          "verify_tool",
                          "input_schema",
                          "decisions",
                          "positive_decision",
                          "receipt_ttl_seconds"
                        ],
                        "properties": {
                          "policy_id": {
                            "type": "string",
                            "const": "pre-action-check.v1"
                          },
                          "policy_version": {
                            "type": "string",
                            "const": "pre-action-check.v1"
                          },
                          "decision_tool": {
                            "type": "string",
                            "const": "decision_check"
                          },
                          "verify_tool": {
                            "type": "string",
                            "const": "decision_verify"
                          },
                          "input_schema": {
                            "type": "string",
                            "format": "uri"
                          },
                          "decisions": {
                            "type": "array",
                            "prefixItems": [
                              {
                                "const": "continue"
                              },
                              {
                                "const": "request_evidence"
                              },
                              {
                                "const": "require_approval"
                              },
                              {
                                "const": "stop"
                              }
                            ],
                            "items": false
                          },
                          "positive_decision": {
                            "type": "string",
                            "const": "continue"
                          },
                          "receipt_ttl_seconds": {
                            "type": "integer",
                            "const": 300
                          }
                        }
                      }
                    },
                    "receipt_format": {
                      "type": "string",
                      "const": "agenda-readiness-receipt+jws"
                    },
                    "binding": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "request_hash",
                        "action_hash"
                      ],
                      "properties": {
                        "request_hash": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "algorithm",
                            "canonicalization",
                            "input"
                          ],
                          "properties": {
                            "algorithm": {
                              "const": "SHA-256"
                            },
                            "canonicalization": {
                              "const": "RFC8785-JCS"
                            },
                            "input": {
                              "const": "complete_request"
                            }
                          }
                        },
                        "action_hash": {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "algorithm",
                            "canonicalization",
                            "fields"
                          ],
                          "properties": {
                            "algorithm": {
                              "const": "SHA-256"
                            },
                            "canonicalization": {
                              "const": "RFC8785-JCS"
                            },
                            "fields": {
                              "type": "array",
                              "prefixItems": [
                                {
                                  "const": "actor"
                                },
                                {
                                  "const": "requested_action"
                                },
                                {
                                  "const": "target"
                                },
                                {
                                  "const": "risk_tier"
                                }
                              ],
                              "items": false
                            }
                          }
                        },
                        "unicode_normalization": {
                          "const": "none"
                        }
                      }
                    },
                    "not_authorization_notice": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                "annotations": {
                  "readOnlyHint": false,
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false
                }
              },
              {
                "name": "decision_check",
                "input_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/pre-action-check-request.schema.json",
                  "title": "PreActionCheckRequest",
                  "description": "Caller-supplied action context and claim evidence for deterministic pre-action routing. The check can continue, request evidence, require human approval, or stop. It does not authenticate the actor, verify factual truth, enforce the decision, or authorize the action.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "run_id",
                    "actor",
                    "requested_action",
                    "target",
                    "risk_tier",
                    "claims",
                    "evidence"
                  ],
                  "properties": {
                    "run_id": {
                      "type": "string",
                      "minLength": 1,
                      "description": "Caller-generated correlation identifier. Resubmit the same run_id after adding evidence or approval."
                    },
                    "actor": {
                      "$ref": "#/$defs/actor"
                    },
                    "requested_action": {
                      "type": "string",
                      "minLength": 1
                    },
                    "target": {
                      "$ref": "#/$defs/target"
                    },
                    "risk_tier": {
                      "type": "string",
                      "enum": [
                        "low",
                        "medium",
                        "high",
                        "critical"
                      ]
                    },
                    "claims": {
                      "type": "array",
                      "minItems": 1,
                      "items": {
                        "$ref": "#/$defs/claim"
                      }
                    },
                    "evidence": {
                      "type": "array",
                      "items": {
                        "$ref": "#/$defs/evidence_item"
                      }
                    },
                    "unsupported_claims": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "policy_context": {
                      "$ref": "#/$defs/policy_context"
                    },
                    "approval": {
                      "$ref": "#/$defs/approval"
                    }
                  },
                  "$defs": {
                    "actor": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "type": {
                          "type": "string",
                          "enum": [
                            "ai_agent",
                            "automation",
                            "api_client",
                            "human_delegated_agent",
                            "unknown",
                            "other"
                          ]
                        },
                        "operator": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "target": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "type"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "type": {
                          "type": "string",
                          "minLength": 1
                        }
                      }
                    },
                    "claim": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "claim_id",
                        "claim",
                        "support_level"
                      ],
                      "properties": {
                        "claim_id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "claim": {
                          "type": "string",
                          "minLength": 1
                        },
                        "claim_type": {
                          "type": "string",
                          "enum": [
                            "regulatory_change",
                            "regulatory_gap",
                            "sanctions_event",
                            "geopolitical_event",
                            "market_event",
                            "industry_response",
                            "corporate_disclosure",
                            "capability_claim"
                          ]
                        },
                        "evidence_ids": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "support_level": {
                          "type": "string",
                          "enum": [
                            "direct",
                            "partial",
                            "weak",
                            "unsupported"
                          ]
                        },
                        "uncertainty": {
                          "type": "string"
                        },
                        "risk_if_wrong": {
                          "type": "string"
                        },
                        "supporting_quotes": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "evidence_id",
                              "quote"
                            ],
                            "properties": {
                              "evidence_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "quote": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        }
                      }
                    },
                    "evidence_item": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "evidence_id",
                        "source_type"
                      ],
                      "properties": {
                        "evidence_id": {
                          "type": "string",
                          "minLength": 1
                        },
                        "name": {
                          "type": "string"
                        },
                        "url": {
                          "type": "string"
                        },
                        "source_type": {
                          "type": "string",
                          "minLength": 1
                        },
                        "freshness": {
                          "type": "string"
                        },
                        "supports": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "limits": {
                          "type": "array",
                          "items": {
                            "type": "string"
                          }
                        },
                        "content": {
                          "type": "string",
                          "description": "Optional source text extract. supporting_quotes corroborate only by matching their text against evidence content fields; without one, quotes are caller assertions."
                        },
                        "text": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "body": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "excerpt": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "quote": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "snippet": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "summary": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        },
                        "full_text": {
                          "type": "string",
                          "description": "Alias content field; treated like 'content' for quote corroboration."
                        }
                      }
                    },
                    "policy_context": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "profile": {
                          "type": "string",
                          "enum": [
                            "default",
                            "agentic_interaction_trust"
                          ]
                        },
                        "checks": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "check_id",
                              "status"
                            ],
                            "properties": {
                              "check_id": {
                                "type": "string",
                                "minLength": 1
                              },
                              "status": {
                                "type": "string",
                                "enum": [
                                  "passed",
                                  "needs_evidence",
                                  "failed"
                                ]
                              },
                              "evidence_gap": {
                                "type": "string",
                                "minLength": 1
                              }
                            }
                          }
                        }
                      }
                    },
                    "approval": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "status"
                      ],
                      "properties": {
                        "status": {
                          "type": "string",
                          "enum": [
                            "not_requested",
                            "approved",
                            "rejected"
                          ]
                        },
                        "reference": {
                          "type": "string",
                          "minLength": 1,
                          "description": "Opaque caller-held reference to an external approval record."
                        }
                      }
                    }
                  }
                },
                "output_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/pre-action-check-response.schema.json",
                  "title": "PreActionCheckResponse",
                  "description": "Deterministic routing result for a caller-controlled action boundary. The response reports readiness; the caller remains responsible for enforcement, authentication, authorization, approval storage, and the action itself.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "decision_id",
                    "run_id",
                    "policy_version",
                    "decision",
                    "reason_code",
                    "blocking_gaps",
                    "evidence_requests",
                    "approval_required",
                    "human_review_required",
                    "verification",
                    "not_authorization_notice",
                    "limitations"
                  ],
                  "properties": {
                    "decision_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "run_id": {
                      "type": "string",
                      "minLength": 1
                    },
                    "policy_version": {
                      "type": "string",
                      "const": "pre-action-check.v1"
                    },
                    "decision": {
                      "type": "string",
                      "enum": [
                        "continue",
                        "request_evidence",
                        "require_approval",
                        "stop"
                      ]
                    },
                    "reason_code": {
                      "type": "string",
                      "enum": [
                        "evidence_ready",
                        "evidence_gaps",
                        "unsafe_claims",
                        "policy_check_failed",
                        "approval_required_for_risk",
                        "approval_rejected"
                      ]
                    },
                    "blocking_gaps": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "evidence_requests": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    },
                    "approval_required": {
                      "type": "boolean"
                    },
                    "human_review_required": {
                      "type": "boolean"
                    },
                    "verification": {
                      "type": "object",
                      "additionalProperties": true,
                      "required": [
                        "verdict",
                        "evidence_gaps",
                        "owner_actions"
                      ]
                    },
                    "policy_checks": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "check_id",
                          "status"
                        ],
                        "properties": {
                          "check_id": {
                            "type": "string",
                            "minLength": 1
                          },
                          "status": {
                            "type": "string",
                            "enum": [
                              "passed",
                              "needs_evidence",
                              "failed"
                            ]
                          },
                          "evidence_gap": {
                            "type": "string",
                            "minLength": 1
                          }
                        }
                      }
                    },
                    "receipt_status": {
                      "type": "string",
                      "enum": [
                        "signed",
                        "unavailable"
                      ],
                      "description": "Present on decision_check. unavailable fails the signed Gate path closed."
                    },
                    "receipt": {
                      "description": "Short-lived readiness receipt attached by decision_check. The legacy pre_action_check response omits it.",
                      "oneOf": [
                        {
                          "type": "null"
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "format",
                            "token",
                            "receipt_id",
                            "issued_at",
                            "expires_at",
                            "request_hash",
                            "action_hash",
                            "verification_tool"
                          ],
                          "properties": {
                            "format": {
                              "type": "string",
                              "const": "agenda-readiness-receipt+jws"
                            },
                            "token": {
                              "type": "string",
                              "pattern": "^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$"
                            },
                            "receipt_id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "issued_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "expires_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "request_hash": {
                              "type": "string",
                              "pattern": "^sha256:[a-f0-9]{64}$"
                            },
                            "action_hash": {
                              "type": "string",
                              "pattern": "^sha256:[a-f0-9]{64}$"
                            },
                            "verification_tool": {
                              "type": "string",
                              "const": "decision_verify"
                            }
                          }
                        }
                      ]
                    },
                    "not_authorization_notice": {
                      "type": "string",
                      "minLength": 1
                    },
                    "limitations": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      }
                    }
                  }
                },
                "annotations": {
                  "readOnlyHint": false,
                  "destructiveHint": false,
                  "idempotentHint": false,
                  "openWorldHint": false
                }
              },
              {
                "name": "decision_verify",
                "input_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/decision-receipt-verify-request.schema.json",
                  "title": "DecisionReceiptVerifyRequest",
                  "description": "A signed readiness receipt plus the request and action hashes expected by the enforcing caller.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "receipt",
                    "expected_request_hash",
                    "expected_action_hash"
                  ],
                  "properties": {
                    "receipt": {
                      "type": "string",
                      "pattern": "^[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+\\.[A-Za-z0-9_-]+$"
                    },
                    "expected_request_hash": {
                      "type": "string",
                      "pattern": "^sha256:[a-f0-9]{64}$",
                      "description": "SHA-256 JCS hash computed from the enforcing caller's own copy of the complete request; do not copy it blindly from the receipt response."
                    },
                    "expected_action_hash": {
                      "type": "string",
                      "pattern": "^sha256:[a-f0-9]{64}$",
                      "description": "SHA-256 JCS hash computed from the enforcing caller's own actor, requested_action, target, and risk_tier object."
                    }
                  }
                },
                "output_schema": {
                  "$schema": "https://json-schema.org/draft/2020-12/schema",
                  "$id": "https://github.com/vassiliylakhonin/agenda-intelligence-md/schemas/v1/decision-receipt-verify-response.schema.json",
                  "title": "DecisionReceiptVerifyResponse",
                  "description": "Verification result for a signed readiness receipt. gate_passed is not authorization.",
                  "x-schema-version": "1",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "signature_valid",
                    "binding_matches",
                    "expired",
                    "gate_passed",
                    "reason_code",
                    "receipt",
                    "not_authorization_notice"
                  ],
                  "properties": {
                    "signature_valid": {
                      "type": "boolean"
                    },
                    "binding_matches": {
                      "type": "boolean"
                    },
                    "expired": {
                      "type": "boolean"
                    },
                    "gate_passed": {
                      "type": "boolean"
                    },
                    "reason_code": {
                      "type": "string",
                      "enum": [
                        "valid_continue_receipt",
                        "decision_not_continue",
                        "binding_mismatch",
                        "receipt_expired",
                        "invalid_signature",
                        "invalid_receipt_format",
                        "signing_key_unavailable"
                      ]
                    },
                    "receipt": {
                      "oneOf": [
                        {
                          "type": "null"
                        },
                        {
                          "type": "object",
                          "additionalProperties": false,
                          "required": [
                            "receipt_id",
                            "decision_id",
                            "run_id",
                            "policy_version",
                            "decision",
                            "reason_code",
                            "request_hash",
                            "action_hash",
                            "issued_at",
                            "expires_at",
                            "issuer",
                            "not_authorization"
                          ],
                          "properties": {
                            "receipt_id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "decision_id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "run_id": {
                              "type": "string",
                              "minLength": 1
                            },
                            "policy_version": {
                              "type": "string",
                              "const": "pre-action-check.v1"
                            },
                            "decision": {
                              "type": "string",
                              "enum": [
                                "continue",
                                "request_evidence",
                                "require_approval",
                                "stop"
                              ]
                            },
                            "reason_code": {
                              "type": "string",
                              "minLength": 1
                            },
                            "request_hash": {
                              "type": "string",
                              "pattern": "^sha256:[a-f0-9]{64}$"
                            },
                            "action_hash": {
                              "type": "string",
                              "pattern": "^sha256:[a-f0-9]{64}$"
                            },
                            "issued_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "expires_at": {
                              "type": "string",
                              "format": "date-time"
                            },
                            "issuer": {
                              "type": "string",
                              "format": "uri"
                            },
                            "not_authorization": {
                              "type": "boolean",
                              "const": true
                            }
                          }
                        }
                      ]
                    },
                    "not_authorization_notice": {
                      "type": "string",
                      "minLength": 1
                    }
                  }
                },
                "annotations": {
                  "readOnlyHint": false,
                  "destructiveHint": false,
                  "idempotentHint": true,
                  "openWorldHint": false
                }
              }
            ]
          },
          "provider": {
            "legalEntity": {
              "type": "individual",
              "name": "Vassiliy Lakhonin",
              "sameAs": [
                "https://github.com/vassiliylakhonin",
                "https://pypi.org/project/agenda-intelligence-md/",
                "https://glama.ai/mcp/servers/vassiliylakhonin/agenda-intelligence-md"
              ]
            }
          }
        }
      }
    ]
  },
  "defaultInputModes": [
    "application/json",
    "text/plain",
    "text/markdown"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/markdown"
  ],
  "skills": [
    {
      "id": "agent-output-verification",
      "name": "Agent output relay-readiness gate",
      "description": "Turns another agent's claim set and evidence into a machine-actionable relay verdict \u2014 verify_before_relay, block_unsafe_claims, not_decision_ready, or insufficient_information \u2014 with the ungrounded and weak claims, evidence gaps, and the owner actions needed before the output is safe to relay. allow_relay is never issued from caller-declared evidence; human review is mandatory before any relay. Structural claim-support triage, not factual-truth verification.",
      "tags": [
        "agentic-ai",
        "a2a",
        "agent-to-agent",
        "claims",
        "evidence-readiness",
        "trust-and-safety",
        "human-review"
      ],
      "examples": [
        "Another agent handed me an analysis with cited claims \u2014 is it safe to relay, or does it contain unsupported claims?",
        "Verify this agent-drafted memo's claim set before publication.",
        "Gate an orchestrated multi-agent output: which claims are ungrounded?"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json",
        "text/markdown"
      ]
    },
    {
      "id": "pre-action-check",
      "name": "Pre-action evidence gate",
      "description": "Routes a caller-controlled action to continue, request_evidence, require_approval, or stop using supplied claim evidence, risk tier, policy checks, and external approval status. It reports readiness only and does not authenticate, authorize, enforce, or perform the action.",
      "tags": [
        "agentic-ai",
        "a2a",
        "guardrails",
        "evidence-readiness",
        "human-approval"
      ],
      "examples": [
        "Check whether this low-risk agent action has enough claim evidence to continue.",
        "Pause this high-risk tool action until a human approval reference is supplied.",
        "Stop this action because its supporting claims or policy checks failed."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/markdown"
      ]
    },
    {
      "id": "evidence-gap-analysis",
      "name": "Evidence gap and orphan-reference analysis",
      "description": "Finds missing evidence ids, quote-to-reference mismatches, unsupported statements, and weak claims in a caller-supplied claim set. Returns the evidence gaps and owner actions already produced by the relay-readiness contract. Structural only: it does not retrieve sources or verify factual truth.",
      "tags": [
        "agentic-ai",
        "a2a",
        "evidence-gaps",
        "orphan-references",
        "claim-support",
        "human-review"
      ],
      "examples": [
        "Which claims cite evidence ids that were not supplied?",
        "Find quote references that do not match the claim's declared evidence.",
        "List the evidence gaps and owner actions before another agent relays this output."
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/markdown"
      ]
    }
  ],
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpPU0UiLCJqa3UiOiJodHRwczovL2FnZW50LW91dHB1dC12ZXJpZmljYXRpb24tYTJhLnZhc3NpbGl5LWxha2hvbmluLndvcmtlcnMuZGV2Ly53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50LW91dHB1dC12ZXJpZmljYXRpb24tMjAyNi0wOC0wOS03YTMxMmZjMyJ9",
      "signature": "QjFQp8o8EUUJ1LVhrWG56MF1HJ0EonVmNdSWUdibwhHl3nxMB6oVQ5lUV8P36tAWsFghSfHcYUvU3MAprInDHQ"
    }
  ]
}