{
  "tool_id": "art-242-pacs008-party-completeness-validator",
  "note": "BIS CPMI d218 pacs.008 party completeness. Vector 1: all fields valid. Vector 2: UETR not UUIDv4 (known-vector assert). Vector 3: empty-input finite.",
  "vectors": [
    {
      "name": "valid_compliant_full",
      "description": "All CPMI d218 required fields present and valid UUIDv4 UETR. Full compliance.",
      "policy_parameters": {
        "uetr": "550e8400-e29b-41d4-a716-446655440000",
        "debtor_name": "Acme Corp GmbH",
        "creditor_name": "Global Trade AG",
        "debtor_agent_bic": "DEUTDEFFXXX",
        "creditor_agent_bic": "BARCGB22XXX",
        "debtor_lei": "00000000000000000001",
        "creditor_lei": "00000000000000000001",
        "purpose_code": "TRAD"
      },
      "output_payload": {
        "compliant": true,
        "error_count": 0,
        "warning_count": 0,
        "cpmi_d218_score": 100,
        "field_status": {
          "uetr": {
            "present": true,
            "valid": true,
            "value_note": "550e8400..."
          },
          "debtor_name": {
            "present": true
          },
          "creditor_name": {
            "present": true
          },
          "debtor_agent_bic": {
            "present": true,
            "valid": true
          },
          "creditor_agent_bic": {
            "present": true,
            "valid": true
          },
          "debtor_lei": {
            "present": true,
            "valid": true
          },
          "creditor_lei": {
            "present": true,
            "valid": true
          },
          "purpose_code": {
            "present": true,
            "valid": true
          }
        },
        "issues": [],
        "disambiguation": "validate_pacs008_party_completeness checks CPMI d218 structural completeness of pacs.008 party data (UETR UUIDv4, names, BIC format, LEI format). For full LEI mod-97 check-digit validation and Wolfsberg transparency scoring use lint_lei_payment_binding (art-246). For ML-DSA/PQC crypto readiness use check_iso20022_pqc_readiness (art-87). For PostalAddress24 structure use lint_cbpr_structured_address (art-241).",
        "pii_note": "Operates on structural identifiers (UETR, BIC, LEI) and party name length only. No real PII processed -- use synthetic or anonymised party data.",
        "table_version": "BIS-CPMI-D218-PARTY-COMPLETENESS-V1",
        "table_source": "BIS CPMI Paper d218 \"Harmonised ISO 20022 data requirements for cross-border payments\" (bis.org/cpmi/publ/d218.htm); ISO 20022 External Code Set ExternalPurpose1Code (iso20022.org)",
        "regulatory_basis": "BIS CPMI d218 \"Harmonised ISO 20022 data requirements for cross-border payments\"; SWIFT CBPR+ November 2026 mandate; ISO 9362 BIC; ISO 17442 LEI"
      },
      "golden_hash": "f1cf64d78224d667b2459f196a52bf003ecf76d9ee0cbf162cc8393cf1760c00"
    },
    {
      "name": "uetr_not_uuidv4",
      "description": "UETR present but malformed (not UUIDv4). Known-vector assert for version nibble and variant nibble validation.",
      "policy_parameters": {
        "uetr": "not-a-valid-uuid-at-all",
        "debtor_name": "Acme Corp",
        "creditor_name": "Global Trade",
        "debtor_agent_bic": "DEUTDEFFXXX",
        "creditor_agent_bic": "BARCGB22XXX"
      },
      "output_payload": {
        "compliant": false,
        "error_count": 1,
        "warning_count": 1,
        "cpmi_d218_score": 100,
        "field_status": {
          "uetr": {
            "present": true,
            "valid": false,
            "value_note": "not-a-va..."
          },
          "debtor_name": {
            "present": true
          },
          "creditor_name": {
            "present": true
          },
          "debtor_agent_bic": {
            "present": true,
            "valid": true
          },
          "creditor_agent_bic": {
            "present": true,
            "valid": true
          },
          "debtor_lei": {
            "present": false,
            "valid": null
          },
          "creditor_lei": {
            "present": false,
            "valid": null
          },
          "purpose_code": {
            "present": false,
            "valid": null
          }
        },
        "issues": [
          {
            "code": "UETR_NOT_UUIDV4",
            "severity": "ERROR",
            "field": "UETR",
            "message": "UETR present but not a valid UUIDv4 (8-4-4-4-12 hex, version nibble=4, variant nibble in {8,9,a,b})."
          },
          {
            "code": "PURPOSE_CODE_ABSENT",
            "severity": "WARNING",
            "field": "Purp/Cd",
            "message": "Purpose code (Purp/Cd) absent. Mandatory in several CPMI d218 jurisdictions (UAE, India, Bahrain, Jordan, China, Malaysia). Use check_purpose_code_requirement (art-243) to verify corridor requirement."
          }
        ],
        "disambiguation": "validate_pacs008_party_completeness checks CPMI d218 structural completeness of pacs.008 party data (UETR UUIDv4, names, BIC format, LEI format). For full LEI mod-97 check-digit validation and Wolfsberg transparency scoring use lint_lei_payment_binding (art-246). For ML-DSA/PQC crypto readiness use check_iso20022_pqc_readiness (art-87). For PostalAddress24 structure use lint_cbpr_structured_address (art-241).",
        "pii_note": "Operates on structural identifiers (UETR, BIC, LEI) and party name length only. No real PII processed -- use synthetic or anonymised party data.",
        "table_version": "BIS-CPMI-D218-PARTY-COMPLETENESS-V1",
        "table_source": "BIS CPMI Paper d218 \"Harmonised ISO 20022 data requirements for cross-border payments\" (bis.org/cpmi/publ/d218.htm); ISO 20022 External Code Set ExternalPurpose1Code (iso20022.org)",
        "regulatory_basis": "BIS CPMI d218 \"Harmonised ISO 20022 data requirements for cross-border payments\"; SWIFT CBPR+ November 2026 mandate; ISO 9362 BIC; ISO 17442 LEI"
      },
      "golden_hash": "49e0c193f70dc24abc3da13c6592d9f42e0d863c3c5ed35fa1ad35806f126edc"
    },
    {
      "name": "empty_input_finite",
      "description": "All fields absent. Verifies finite output with no NaN/Infinity and correct zero CPMI score.",
      "policy_parameters": {},
      "output_payload": {
        "compliant": false,
        "error_count": 2,
        "warning_count": 2,
        "cpmi_d218_score": 0,
        "field_status": {
          "uetr": {
            "present": false,
            "valid": false,
            "value_note": "absent"
          },
          "debtor_name": {
            "present": false
          },
          "creditor_name": {
            "present": false
          },
          "debtor_agent_bic": {
            "present": false,
            "valid": null
          },
          "creditor_agent_bic": {
            "present": false,
            "valid": null
          },
          "debtor_lei": {
            "present": false,
            "valid": null
          },
          "creditor_lei": {
            "present": false,
            "valid": null
          },
          "purpose_code": {
            "present": false,
            "valid": null
          }
        },
        "issues": [
          {
            "code": "UETR_ABSENT",
            "severity": "WARNING",
            "field": "UETR",
            "message": "UETR not provided. SWIFT GPI and CPMI d218 both require a UUIDv4 UETR per payment instruction."
          },
          {
            "code": "DEBTOR_NAME_ABSENT",
            "severity": "ERROR",
            "field": "Dbtr/Nm",
            "message": "Debtor name (Dbtr/Nm) absent. CPMI d218 requires structured debtor party data."
          },
          {
            "code": "CREDITOR_NAME_ABSENT",
            "severity": "ERROR",
            "field": "Cdtr/Nm",
            "message": "Creditor name (Cdtr/Nm) absent. CPMI d218 requires structured creditor party data."
          },
          {
            "code": "PURPOSE_CODE_ABSENT",
            "severity": "WARNING",
            "field": "Purp/Cd",
            "message": "Purpose code (Purp/Cd) absent. Mandatory in several CPMI d218 jurisdictions (UAE, India, Bahrain, Jordan, China, Malaysia). Use check_purpose_code_requirement (art-243) to verify corridor requirement."
          }
        ],
        "disambiguation": "validate_pacs008_party_completeness checks CPMI d218 structural completeness of pacs.008 party data (UETR UUIDv4, names, BIC format, LEI format). For full LEI mod-97 check-digit validation and Wolfsberg transparency scoring use lint_lei_payment_binding (art-246). For ML-DSA/PQC crypto readiness use check_iso20022_pqc_readiness (art-87). For PostalAddress24 structure use lint_cbpr_structured_address (art-241).",
        "pii_note": "Operates on structural identifiers (UETR, BIC, LEI) and party name length only. No real PII processed -- use synthetic or anonymised party data.",
        "table_version": "BIS-CPMI-D218-PARTY-COMPLETENESS-V1",
        "table_source": "BIS CPMI Paper d218 \"Harmonised ISO 20022 data requirements for cross-border payments\" (bis.org/cpmi/publ/d218.htm); ISO 20022 External Code Set ExternalPurpose1Code (iso20022.org)",
        "regulatory_basis": "BIS CPMI d218 \"Harmonised ISO 20022 data requirements for cross-border payments\"; SWIFT CBPR+ November 2026 mandate; ISO 9362 BIC; ISO 17442 LEI"
      },
      "golden_hash": "75f601a7705a966eb02cdfd7a7025d20f937cef238b82718d879e0aa16d4a7f7"
    }
  ]
}
