{
  "tool_id": "art-482-emir-recon-adjudicator",
  "tool_version": "1.0.0",
  "display_name": "EMIR Trade-Repository Reconciliation Adjudicator",
  "mcp_name": "adjudicate_emir_reconciliation",
  "mandate_type": "attestation_mandate",
  "wave": 71,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-482-emir-recon-adjudicator.html",
  "description": "Under EMIR Refit the trade repository (TR) runs the inter-TR reconciliation and returns a daily ISO 20022 response naming matched/unreconciled fields per UTI -- a firm holds that TR response plus its own submitted state, never both counterparties' raw extracts. This node independently reproduces the reconciliation verdict from the TR response + the firm's submitted state, under a policy-supplied per-cycle field/tolerance/suppression table, and emits a stable per-break key (uti::field_name) so consecutive cycles diff cleanly. Disagreement with the TR's own stated match status is a first-class output, never an error. Lifecycle events (amendment, compression, termination) are ordinary inputs. Not art-156-emir-counterparty-pairing-reconciler, which compares two counterparties' own extracts directly -- a premise EMIR Refit's TR-mediated reconciliation model replaced. Feeds art-483-emir-break-ageing.",
  "input_schema_ref": "chaingraph/art-482-emir-recon-adjudicator.html#manifest",
  "consumes": [],
  "feeds": [
    "art-483-emir-break-ageing"
  ],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:ef88fb46f98773129561e13479d723e9b1d0822b713ab0816c49367014562557","valid_from":"2026-07-10"},{"system":"risc0","image_id":"sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6","valid_from":"2026-06-28"}],
  "export_capability": [
    "json"
  ],
  "compute_proof_ready": "ready",
  "compute_proof": {
    "type": "ZkVmReceipt",
    "system": "risc0",
    "receiptFormat": "groth16-bn254",
    "imageId": "sha256:a1a0bc89b5b1febaeda3519f6dbade0fa5ac16beeb143c4e1b01689573567bc6",
    "seal": "AKCfPiIB+zz4t5QFGTCenkh2BdNO7jdaiT1L2ZIXJrwhlPi/v6EjnaRDWPC14hLCP1OPkum94B/MdSg2M1f0yAqWBvuUia6o3e8ubQWPObO2tTZkgIcezR58j6N7F66pH3cxYgoANGZZwzStJN7ZQ/yNX4qR16+xxNqigXvwOaQZ8mcd2ndic+3QjxFVXltM+iwEcF11eIOQuROHWNhd+x5FvRRfOpC5lh2Mu0tdrnnZhBoPx9cG3amBHhKZkTkPHE556f4ZCTePCPWVegY5ufLtuBIjaK7yKT0lda27RC0MbicmPWrM6n2AfWbLcR5ZAHapLooq/CyGNqj0b7diPg==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:ef88fb46f98773129561e13479d723e9b1d0822b713ab0816c49367014562557",
      "output": {
        "as_of_date": "2026-07-27",
        "break_count": 0,
        "break_set": [],
        "field_tolerance_table_version": "ESMA74-362-2683-PHASE2-2026-04-27",
        "note": "Independently reproduces the EMIR trade-repository reconciliation verdict from the TR ISO 20022 response and the firm submitted state, under a policy-supplied per-cycle field/tolerance/suppression table. Disagreement with the TR verdict is a first-class output, never an error. Lifecycle events (amendment/compression/termination) are ordinary inputs. This tool computes a reconciliation verdict only; it does not itself resubmit, dispute, or file any regulatory report.",
        "tr_disputed_count": 0,
        "tr_matched_count": 1,
        "trade_count": 1,
        "trades": [
          {
            "computed_verdict": "MATCHED",
            "field_results": [
              {
                "delta": 0,
                "field_name": "notional_amount",
                "firm_value": 1000000,
                "status": "agree",
                "tr_value": 1000000
              },
              {
                "delta": 0,
                "field_name": "price",
                "firm_value": 101.25,
                "status": "agree",
                "tr_value": 101.25
              },
              {
                "delta": 0,
                "field_name": "effective_date",
                "firm_value": "2026-01-15",
                "status": "agree",
                "tr_value": "2026-01-15"
              },
              {
                "delta": 0,
                "field_name": "maturity_date",
                "firm_value": "2031-01-15",
                "status": "agree",
                "tr_value": "2031-01-15"
              },
              {
                "delta": null,
                "field_name": "settlement_currency",
                "firm_value": "US DOLLAR",
                "status": "agree",
                "tr_value": "USD"
              },
              {
                "field_name": "delta",
                "firm_value": 0.55,
                "status": "suppressed",
                "tr_value": 0.42
              }
            ],
            "lifecycle_event": "NEW",
            "tr_match_status": "MATCHED",
            "uti": "UTI0001",
            "verdict_disagrees_with_tr": false
          }
        ],
        "verdict_disagrees_with_tr_count": 0
      }
    }
  }
}
