{
  "tool_id": "art-466-dora-roi-builder",
  "tool_version": "1.0.0",
  "display_name": "DORA Register of Information (RoI) Builder & Cross-Validator",
  "mcp_name": "build_dora_roi_register",
  "mandate_type": "compliance_mandate",
  "wave": 74,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-466-dora-roi-builder.html",
  "description": "Constructs and cross-validates the core Register of Information (RoI) template relationships required under DORA (EU 2022/2554) Art. 28/30: entity + ICT third-party providers + functions + contractual arrangements. Validates ISO 17442 LEI format + mod-97 check-digit on the entity and every provider, referential integrity (every function's provider_id, every contract's function_id and provider_id, and function-to-contract provider consistency), and mandatory-field completeness per record type, emitting a form-shaped JSON dataset plus a validation report with per-record findings and compliance_flags. Distinct from the RoI's official xBRL-CSV submission format, which this kernel does NOT emit (a later WU handles ESA-format conversion). Distinct from art-467-dora-incident-classifier (this validates the standing RoI dataset; that classifies a single ICT incident's reporting obligations). Criticality of functions/providers is a caller-declared flag, not judged here.",
  "input_schema_ref": "chaingraph/art-466-dora-roi-builder.html#manifest",
  "deadline": "2027-01-31",
  "deadline_note": "DORA RoI annual submission cycle, Q1 (2nd cycle completed Q1 2026; next cycle Q1 2027).",
  "consumes": [],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [
    {
      "system": "sha256-source",
      "image_id": "sha256:4f605ce91ebec16f4f7e409b383f1f5f273b5f3e0551894aed9765e2b7681d80",
      "valid_from": "2026-07-24"
    },
    {
      "system": "risc0",
      "image_id": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
      "valid_from": "2026-07-24"
    }
  ],
  "compute_proof_ready": "ready",
  "export_capability": [
    "json"
  ],
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "HS2QCqcxMnhlmUa/Dj5pwJqdVNNO7BHYdVbcAR5ZG94bLdxt7ThrufHM21TMlUNcRr5I3rXYf3k6guUWkysErSsi2HsUMU2e8xiLhBc0LQPUIQfgGZS+gNaw51gjLGANEDC8FYB8IHYYEsfPBnNyqyXRHgENHt2PMIvoNiqMxE0FiwAr8/3e1bgYoA9z68O9NzrYgfXjTM/+arKClY0VrBGwv/YXu1utkCAdcrki9W74GKkkiOTqg+Ru7uJ5oybqA0U9kNzFt+XUDiW++qUJphcDgJKzG5CjwDqCnOxe8Akvh/owtxfcFv4mI/e3dNtf1g5Xc8rpLbQ7LYJpy5C5mA==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:4f605ce91ebec16f4f7e409b383f1f5f273b5f3e0551894aed9765e2b7681d80",
      "output": {
        "contracts": [
          {
            "contract_id": "ctr-1",
            "contract_reference": "CTR-2026-001",
            "end_date": null,
            "function_id": "fn-1",
            "governing_law": "Ireland",
            "provider_id": "prov-1",
            "start_date": "2024-01-01"
          }
        ],
        "entity": {
          "entity_lei": "529900T8BM49AURSDO55",
          "entity_name": "Test Bank NV"
        },
        "functions": [
          {
            "critical": true,
            "function_id": "fn-1",
            "function_type": "ict_services",
            "name": "Core banking hosting",
            "provider_id": "prov-1"
          }
        ],
        "note": "Form-shaped internal representation of the DORA Register of Information core template relationships (entity / ICT third-party providers / functions / contractual arrangements), OIM-report-model-shaped. This kernel does NOT emit xBRL-CSV (the RoI's official submission format); it validates LEI format, referential integrity across templates, and mandatory-field completeness only. Criticality designation of functions/providers is a caller-supplied input, not computed here, and is not an approval or sign-off record.",
        "providers": [
          {
            "country": "IE",
            "lei": "529900T8BM49AURSDO55",
            "name": "CloudCo Ireland Ltd",
            "provider_id": "prov-1",
            "service_type": "cloud_iaas"
          }
        ],
        "validation_report": {
          "compliance_flags": [],
          "findings": [
            {
              "check": "mandatory_fields",
              "message": "Entity mandatory fields present.",
              "record_id": "entity",
              "record_type": "entity",
              "status": "pass"
            },
            {
              "check": "lei_validity",
              "message": "Entity LEI passes ISO 17442 format + mod-97 check.",
              "record_id": "entity",
              "record_type": "entity",
              "status": "pass"
            },
            {
              "check": "mandatory_fields",
              "message": "Provider mandatory fields present.",
              "record_id": "prov-1",
              "record_type": "provider",
              "status": "pass"
            },
            {
              "check": "lei_validity",
              "message": "Provider prov-1 LEI passes ISO 17442 format + mod-97 check.",
              "record_id": "prov-1",
              "record_type": "provider",
              "status": "pass"
            },
            {
              "check": "mandatory_fields",
              "message": "Function mandatory fields present.",
              "record_id": "fn-1",
              "record_type": "function",
              "status": "pass"
            },
            {
              "check": "referential_integrity",
              "message": "Function fn-1 provider_id resolves.",
              "record_id": "fn-1",
              "record_type": "function",
              "status": "pass"
            },
            {
              "check": "mandatory_fields",
              "message": "Contract mandatory fields present.",
              "record_id": "ctr-1",
              "record_type": "contract",
              "status": "pass"
            },
            {
              "check": "referential_integrity",
              "message": "Contract ctr-1 function_id resolves.",
              "record_id": "ctr-1",
              "record_type": "contract",
              "status": "pass"
            },
            {
              "check": "referential_integrity",
              "message": "Contract ctr-1 provider_id resolves.",
              "record_id": "ctr-1",
              "record_type": "contract",
              "status": "pass"
            },
            {
              "check": "referential_integrity",
              "message": "Contract ctr-1 provider_id agrees with function fn-1's provider.",
              "record_id": "ctr-1",
              "record_type": "contract",
              "status": "pass"
            }
          ],
          "summary": {
            "checks": {
              "lei_validity": {
                "fail": 0,
                "pass": 2
              },
              "mandatory_fields": {
                "fail": 0,
                "pass": 4
              },
              "referential_integrity": {
                "fail": 0,
                "pass": 4
              }
            },
            "contract_count": 1,
            "entity_count": 1,
            "function_count": 1,
            "overall_pass": true,
            "provider_count": 1
          },
          "table_source": "DORA (EU) 2022/2554 Art. 28/30 (Register of Information); ESAs final RTS/ITS on standard templates for the register of information (JC 2023 85); ISO 17442:2020 + ISO 7064:2003 Mod 97-10 for LEI check-digit validation.",
          "table_version": "DORA-ROI-TEMPLATES-STRUCTURAL-2026"
        }
      }
    }
  }
}
