{
      "tool_id": "art-241-cbpr-structured-address-linter",
      "tool_version": "1.0.0",
      "display_name": "CBPR+ Structured Address Linter",
      "mcp_name": "lint_cbpr_structured_address",
      "mandate_type": "compliance_mandate",
      "wave": 41,
      "gpu": false,
      "url": "https://ainumbers.co/chaingraph/art-241-cbpr-structured-address-linter.html",
      "description": "Lints a single pacs.008 PostalAddress24 block against the SWIFT CBPR+ November 2026 mandate. Detects unstructured AdrLine-only addresses (prohibited), hybrid silent-fail duplication (AdrLine echoing structured field values, which causes STP rejection without a visible error code), and address structure type (FULLY_STRUCTURED, HYBRID, UNSTRUCTURED, EMPTY). Per-message lint -- for batch verification of migrated address archives use verify_address_migration_batch (rca-03).",
      "input_schema_ref": "chaingraph/art-241-cbpr-structured-address-linter.html#manifest",
      "consumes": [],
      "feeds": [
        "art-242-pacs008-party-completeness-validator"
      ],
      "status": "live",
      "conformance_fixtures": true,
      "compute_capability": "server",
      "compute_images": [{"system":"sha256-source","image_id":"sha256:63e488bc42ce3ecf75573b02a8fae9dd4044c91928f1f019e53895bf08f6bf86","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-07-05"}],
      "export_capability": [
        "json"
      ],
      "compute_proof": {
        "type": "ZkVmReceipt",
        "system": "risc0",
        "receiptFormat": "groth16-bn254",
        "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
        "seal": "CbzGhSJVCFkha+UaDaPbk1CywRltJvDFYSE5BVH6N4ApreevBqMI6rEZkeX8shF1uABm0vU4VnCurWvbS1qiNyVJejFPERSa9jwvzoS8jwZI3r9cbLdRQ5a9lf3ZGRYtLDvBQszPGgpDzArE9XUCOIdHAkaQJC0VZ2x6U9VMoGwGQgEY8FFZ+pE2hoBj0HypOIBQb8IUof9gA2j1Z6HHfQ8QrYWYj1L8ejO8x5IWi2ySmyOuk0UBJUuhoT4xi7uzJmVAwX1Akg3poHae8SZbMkj/f4sKqt66cxzTcvjkosQDijCqDHuWX/vp8gmSfLcaOQB+gEpmYfyhAYoNt8c0FQ==",
        "journal": {
          "chaingraph_version": "0.4.0",
          "kernel_digest": "sha256:63e488bc42ce3ecf75573b02a8fae9dd4044c91928f1f019e53895bf08f6bf86",
          "output": {
            "cbpr_plus_deadline": "2026-11-14",
            "compliant": true,
            "disambiguation": "lint_cbpr_structured_address checks per-message Nov-2026 hybrid/fully-structured rule lint including the AdrLine silent-fail duplication rule. For batch verification of already-migrated address archives use verify_address_migration_batch (rca-03). For ISO 20022 securities settlement messages (sese/semt) use lint_securities_settlement_message (art-82). This tool operates on pacs.008 payments address blocks only.",
            "error_count": 0,
            "pii_note": "All fields operate on STRUCTURAL address components only. No real party PII enters this kernel -- use synthetic or anonymised address data.",
            "readiness_pct": 100,
            "regulatory_basis": "SWIFT CBPR+ Structured Address Migration Bulletin; ISO 20022 PostalAddress24 element set (MX catalogue); SEPA and CHAPS aligned Nov 2026",
            "structure_type": "FULLY_STRUCTURED",
            "table_source": "SWIFT CBPR+ Structured Address Migration Bulletin (verify current guidance at swift.com/cbpr-plus-migration); ISO 20022 PostalAddress24 element set (iso20022.org MX catalogue)",
            "table_version": "CBPR-PLUS-STRUCTURED-ADDRESS-NOV2026-V1",
            "violations": []
          }
        }
      },
      "compute_proof_ready": "ready"
    }
