{
  "tool_id": "art-483-emir-break-ageing",
  "tool_version": "1.0.0",
  "display_name": "EMIR Reconciliation Break Ageing",
  "mcp_name": "age_emir_reconciliation_breaks",
  "mandate_type": "attestation_mandate",
  "wave": 71,
  "gpu": false,
  "url": "https://ainumbers.co/chaingraph/art-483-emir-break-ageing.html",
  "description": "Diffs a current EMIR reconciliation break set (e.g. from art-482-emir-recon-adjudicator) against the prior cycle's sealed break set by stable break_key, emitting a newly-opened / persisting / newly-closed split, an ageing bucket, a recurrence count, and an escalation-clock status against policy-supplied ageing limits -- reusing the art-428-cyber-incident-clock deadline-vs-evaluated_at pattern rather than re-deriving deadline math. Ageing limits and the escalation deadline are per-cycle policy inputs, never hardcoded.",
  "input_schema_ref": "chaingraph/art-483-emir-break-ageing.html#manifest",
  "consumes": [
    "art-482-emir-recon-adjudicator"
  ],
  "feeds": [],
  "status": "live",
  "conformance_fixtures": true,
  "compute_capability": "server",
  "compute_images": [{"system":"sha256-source","image_id":"sha256:61ca7bf25c81b012ffcf0eacf2a531f340641c6492b4f96ad95b2e17faab1a11","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": "Grj9B/X+U1YKl5MheSI1SNFq0UPxjziHrA6Tlz6W4QAhbz8OiXEcjdl/unhgzy2HhQ22RG2G/00trtjKusAX7R/9QXO1gz/YsBCxBzcpktCF5AaUENujppMeIpryWc+uCAtzHwjgElwULceKuf8Ub1/jL1IW4RIDArMaMm+r81kvCtdaMS8yu6qWAc2uQv6TYVV0uCLsr7HbrZUx1RFDjiWnczI2BNACBm0Tkb9dq4htwfDLgZOheiK2cL11pIF6KbTdrKTFGfvC0fzpEOeNEwA6y5IN6j9dP0JJwmjpOMEX01fZPRKQJREodPQUZ/3Ma0o9QOBXVSZX9JnCCy+4KQ==",
    "journal": {
      "chaingraph_version": "0.4.0",
      "kernel_digest": "sha256:61ca7bf25c81b012ffcf0eacf2a531f340641c6492b4f96ad95b2e17faab1a11",
      "output": {
        "breaks": [
          {
            "age_days": 17,
            "ageing_bucket": "11-20d",
            "break_key": "UTI0002::notional_amount",
            "escalation_clock": {
              "deadline_iso": "2026-07-20T00:00:00.000Z",
              "escalation_status": "breached"
            },
            "field_name": "notional_amount",
            "first_seen_at": "2026-07-10T00:00:00.000Z",
            "recurrence_count": 4,
            "status": "persisting",
            "uti": "UTI0002"
          },
          {
            "age_days": 0,
            "ageing_bucket": "0-5d",
            "break_key": "UTI0005::price",
            "escalation_clock": {
              "deadline_iso": "2026-08-06T00:00:00.000Z",
              "escalation_status": "on_track"
            },
            "field_name": "price",
            "first_seen_at": "2026-07-27T00:00:00.000Z",
            "recurrence_count": 1,
            "status": "newly_opened",
            "uti": "UTI0005"
          }
        ],
        "escalation_breached_count": 1,
        "evaluated_at": "2026-07-27T00:00:00.000Z",
        "newly_closed": [
          {
            "break_key": "UTI0009::maturity_date",
            "field_name": "maturity_date",
            "first_seen_at": "2026-07-20T00:00:00.000Z",
            "uti": "UTI0009"
          }
        ],
        "newly_closed_count": 1,
        "newly_opened_count": 1,
        "note": "Deterministic ageing of a current EMIR reconciliation break set diffed against a prior sealed break set by stable break_key. Ageing buckets and the escalation clock are policy-supplied per cycle, reusing the art-428-cyber-incident-clock deadline-vs-evaluated_at pattern (first_seen_at + policy limit vs evaluated_at).",
        "persisting_count": 1,
        "total_current": 2
      }
    }
  }
}
