{
      "tool_id": "art-32-a2a-agent-card-trust-chain-validator",
      "tool_version": "1.0.0",
      "display_name": "A2A Agent-Card Trust-Chain Validator",
      "mcp_name": "validate_a2a_trust_chain",
      "mandate_type": "compliance_mandate",
      "wave": 6,
      "gpu": false,
      "url": "https://ainumbers.co/chaingraph/art-32-a2a-agent-card-trust-chain-validator.html",
      "description": "The horizontal agent-to-agent trust complement. Validates an A2A v1.0 agent card (schema, signature, extension URIs) then assesses the delegated-authority trust chain into KYA-OS attestation + spend policy: chain depth <= 4, no scope escalation, validity windows <= 90 days. Trust PASS/WARN/FAIL determination + execution_hash.",
      "input_schema_ref": "chaingraph/art-32-a2a-agent-card-trust-chain-validator.html#manifest",
      "deadline": "2026-08",
      "deadline_note": "A2A at Linux Foundation (150+ orgs); EU AI Act Aug 2026 pushes agent KYA toward requirement.",
      "consumes": [],
      "feeds": [
        "art-04-agent-identity-attestation-checker",
        "art-02-agent-spend-policy-simulator",
        "ptg-01-ap2-prompt-template-generator"
      ],
      "status": "live",
      "conformance_fixtures": false,
      "compute_capability": "server",
      "compute_images": [{"system":"sha256-source","image_id":"sha256:b559ef728aacf8aa3f1ee6cb9db684bf7b32b917bafcbcacb0cc88c16c76c008","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-06-28"}],
      "compute_proof": {
        "type": "ZkVmReceipt",
        "system": "risc0",
        "receiptFormat": "groth16-bn254",
        "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
        "seal": "HnTptx3Ame5pKsAWKN7N+N/E7cip5DOwMk4b4yCdU1sh/nQfltw+HhIsquoMvWoad/8LFc2Ml0C4ZT2veNEF+irBjut63o0SQ2iwamiIRHsD9luuKfbSNQv6wfRCGnUwFTrBuVuNZLIZmrJgX3X91El2S0fvLj81sk0lI0MUqZMeM5mdvCrCNyAiLhQXRm2ENEMc8S0MDXfkwPwhJ6LgthE6Ha7lgwL1qJY+9iE82OBAKeeECqJMj9vUfZgIP6puGdnnuSLd9o9cBXXDCSmvCrzPqjlwQow6KqwtmbZog7Ub6otKerpsaHNhkyapYjLmbXqMaYhJsU9t6ybdPKiYUQ==",
        "journal": {
          "chaingraph_version": "0.4.0",
          "kernel_digest": "sha256:b559ef728aacf8aa3f1ee6cb9db684bf7b32b917bafcbcacb0cc88c16c76c008",
          "output": {
            "card_schema_ok": true,
            "checks": [
              {
                "code": "CARD-NAM",
                "note": "name present and non-empty",
                "status": "pass"
              },
              {
                "code": "CARD-URL",
                "note": "url present and non-empty",
                "status": "pass"
              },
              {
                "code": "CARD-VER",
                "note": "version present and non-empty",
                "status": "pass"
              },
              {
                "code": "CARD-PRO",
                "note": "protocolVersion present and non-empty",
                "status": "pass"
              },
              {
                "code": "CARD-URL2",
                "note": "url uses https",
                "status": "pass"
              },
              {
                "code": "CARD-CAP",
                "note": "capabilities is non-array object",
                "status": "pass"
              },
              {
                "code": "CARD-SKL",
                "note": "skills non-empty array",
                "status": "pass"
              },
              {
                "code": "CARD-SK2-0",
                "note": "skill[0] has id+name",
                "status": "pass"
              },
              {
                "code": "CARD-X00",
                "note": "no extensions declared",
                "status": "info"
              },
              {
                "code": "CARD-S01",
                "note": "all signatures have protected+signature",
                "status": "pass"
              },
              {
                "code": "DLG-D00",
                "note": "delegation_chain is empty or not provided",
                "status": "warn"
              },
              {
                "code": "SPD-01",
                "note": "per_tx_cap=100",
                "status": "pass"
              },
              {
                "code": "SPD-02",
                "note": "daily_cap=1000",
                "status": "pass"
              },
              {
                "code": "SPD-03",
                "note": "daily_cap >= per_tx_cap",
                "status": "pass"
              }
            ],
            "fail_count": 0,
            "no_expired_links": true,
            "no_scope_escalation": true,
            "pass_count": 12,
            "signature_block_present": true,
            "trust_determination": "warn",
            "warn_count": 1
          }
        }
      },
      "export_capability": [
        "xlsx",
        "csv",
        "pdf",
        "xbrl:ocg-ext"
      ]
    }
