{
  "tool_id": "art-548-vop-readiness-diagnostic",
  "tool_version": "1.0.0",
  "display_name": "VoP Readiness Diagnostic",
  "mcp_name": "run_vop_readiness_diagnostic",
  "mandate_type": "vop_readiness_attestation",
  "wave": 52,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-548-vop-readiness-diagnostic.html",
  "description": "EU Instant Payments Regulation Verification-of-Payee (VoP) readiness/consistency diagnostic. Deterministically classifies a caller-declared match_score against caller-declared thresholds into match, close_match, no_match, or not_verifiable, then cross-checks that classification against the caller-declared psp_vop_response_code -- flagging, never silently correcting, a mismatch. Outcome-attestation shape, not recompute-the-match: this node does not implement the EPC VoP fuzzy name-matching algorithm and makes no live IBAN/account-holder-name directory call. Carries an OCG Standard §25 ocg-private-input@1 declaration: the IBAN, payee name, and account-holder identifier (if collected) are committed via sha256-salted@1, never in the clear. Distinct from simulate_vop_matching (art-11, a batch aggregate match-rate analyser using its own similarity math), score_payee_name_match (art-376, computes a name-match score from a name pair), and build_vop_session_receipt (art-377, builds the downstream session receipt); use this node for the upstream threshold/response-code consistency check. ZERO plaintext PII disclosed.",
  "input_schema_ref": "chaingraph/art-548-vop-readiness-diagnostic.html#manifest",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:9d9df2ce31e5a6665cd88ed8ad73de1b8f1ca8cb79273dab000d5ea53ef8fa76",
      "valid_from": "2026-07-10"
    },
    {
      "system": "risc0",
      "image_id": "sha256:adf39b5c4e8fe19f9dbc25e2b8eb84090f0ee6c9370f14ad10d5039e8e65b0ec",
      "valid_from": "2026-08-04"
    }
  ],
  "compute_proof_ready": "ready",
  "export_capability": [
    "json"
  ],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:adf39b5c4e8fe19f9dbc25e2b8eb84090f0ee6c9370f14ad10d5039e8e65b0ec",
    "seal": "GtamGW8nRm4DMcBBILUgOKxBa59e9LOeTfWQH1dNTvMwTll+tqzSw7FwReRd6s8UAeShoxo8T/bEB+J+FUIFKh+cpslrpmGIEQA/Gsyl02pmQi3FTcvMp/7/uQnkjnfFIT1fQE3u8wBwsS44DgtJRnxJ5OdNMXX6esaWwBFznmMK3aSdPHh2V5Su+Rpi6A48PAaafZL1isAwdE8TbCRmWCfoeOOQgkMn0n56hkbbDeSjcPNpToYGNllU+7K7d0S8G71dgJlrKI1S1dteJcGdBvt1D7HPwsKg20YGnZ4mMpAvBkotBiOkls15A2y/mdAZfXttlcxpHuy4JR7+XWW13Q==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "commitment": "sha256:d0261b5555a4df1d5fbed786c9a8977e8196c81c8859cfcf683fadfea157ea91",
      "commitments": [
        "sha256:d0261b5555a4df1d5fbed786c9a8977e8196c81c8859cfcf683fadfea157ea91",
        "sha256:47048eda633d4509b69fc56390c9240f0e33d759b98493d3cc7385bd672b8815"
      ],
      "kernel_digest": "sha256:9d9df2ce31e5a6665cd88ed8ad73de1b8f1ca8cb79273dab000d5ea53ef8fa76",
      "output": {
        "classification": "match",
        "consistent": true,
        "match_score_provided": true,
        "not_legal_advice": "Not legal advice. A Verification-of-Payee readiness determination requires review by a qualified payments-compliance officer against the applicable PSP VoP Rulebook implementation.",
        "pii_note": "ZERO plaintext PII disclosed: the IBAN, payee name, and account-holder identifier (if collected) are private witnesses, committed via sha256-salted@1 (OCG Standard §25 ocg-private-input@1) and never present in policy_parameters or output_payload in the clear. Only the threshold classification and consistency verdict are public.",
        "psp_declared_maps_to": "match",
        "psp_vop_response_code": "MTCH",
        "regulatory_basis": "EU Instant Payments Regulation (Regulation (EU) 2024/886), Verification-of-Payee obligation — in force 2025-10-09 for euro-area PSPs, 2027-07-09 for non-euro-area PSPs. The EPC VoP Rulebook leaves the fuzzy name-matching algorithm to vendor-selected engines with EBA-suggested, not mandated, thresholds; this diagnostic only recomputes the deterministic threshold classification and cross-checks it against the PSP-declared response code.",
        "scope_note": "This is a readiness/consistency diagnostic over caller-declared inputs, not a claim that this node performed IBAN or payee-name verification. It does not query any IBAN or account-holder directory and does not implement the EPC VoP fuzzy name-matching algorithm."
      }
    }
  }
}
