{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____intake",
        "source": "__start__",
        "target": "intake"
      },
      {
        "id": "e1_intake__analyze",
        "source": "intake",
        "target": "analyze"
      },
      {
        "id": "e2_analyze__draft-repairs",
        "source": "analyze",
        "target": "draft-repairs"
      },
      {
        "id": "e3_draft-repairs__repair-confidence",
        "source": "draft-repairs",
        "target": "repair-confidence"
      },
      {
        "id": "e4_repair-confidence__autoclear",
        "label": "routine — rule-grounded, deterministic fix",
        "source": "repair-confidence",
        "target": "autoclear"
      },
      {
        "id": "e5_repair-confidence__stage",
        "label": "ambiguous / high-value — needs officer judgement",
        "source": "repair-confidence",
        "target": "stage"
      },
      {
        "id": "e6_autoclear__batch-signoff",
        "source": "autoclear",
        "target": "batch-signoff"
      },
      {
        "id": "e7_stage__batch-signoff",
        "source": "stage",
        "target": "batch-signoff"
      },
      {
        "id": "e8_batch-signoff__draft-repairs",
        "label": "rejected — re-repair required",
        "source": "batch-signoff",
        "target": "draft-repairs"
      },
      {
        "id": "e9_batch-signoff__resubmit",
        "label": "batch signed off",
        "source": "batch-signoff",
        "target": "resubmit"
      },
      {
        "id": "e10_resubmit__monitor",
        "source": "resubmit",
        "target": "monitor"
      },
      {
        "id": "e11_monitor__materiality",
        "source": "monitor",
        "target": "materiality"
      },
      {
        "id": "e12_materiality__draft-repairs",
        "label": "immaterial but residual exceptions — re-open",
        "source": "materiality",
        "target": "draft-repairs"
      },
      {
        "id": "e13_materiality__draft-disclosure",
        "label": "material under/over-reporting",
        "source": "materiality",
        "target": "draft-disclosure"
      },
      {
        "id": "e14_draft-disclosure__disclosure-approval",
        "source": "draft-disclosure",
        "target": "disclosure-approval"
      },
      {
        "id": "e15_disclosure-approval__draft-disclosure",
        "label": "rejected — revise disclosure pack",
        "source": "disclosure-approval",
        "target": "draft-disclosure"
      },
      {
        "id": "e16_disclosure-approval__file-disclosure",
        "label": "disclosure approved",
        "source": "disclosure-approval",
        "target": "file-disclosure"
      },
      {
        "id": "e17_file-disclosure__monitor",
        "source": "file-disclosure",
        "target": "monitor"
      }
    ],
    "nodes": [
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__start__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Start",
        "position": {
          "x": 0,
          "y": 0
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      },
      {
        "agent": "intake",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "intake",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Pull rejected, late and unmatched MiFIR/EMIR/CFTC transaction reports plus the ARM/TR NACK/feedback files",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "arm-tr-feed",
          "core-ledger",
          "oms",
          "case-mgmt"
        ]
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "analyze",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Root-cause each exception by classifying the rejection against the regulator's validation rule set, ESMA CFUP rules and the firm's LEI/ANNA reference data",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "validation-rule-engine",
          "lei-anna-refdata",
          "esma-cfup-rules",
          "oms"
        ]
      },
      {
        "agent": "reconciler",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "draft-repairs",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Draft deterministic field-level repairs and the backloaded correction batch (CON/NEWT/AMND), validating each fix against the rule engine without submitting",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "validation-rule-engine",
          "report-builder",
          "case-mgmt"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "repair-confidence",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Repair confidence?",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "reconciler",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "autoclear",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Routine, rule-grounded case: auto-clear the deterministic repair against the validated rule set and stage the clean corrected batch — a reversible in-policy fix",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "validation-rule-engine",
          "report-builder",
          "case-mgmt"
        ]
      },
      {
        "agent": "reconciler",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "stage",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Ambiguous / high-value case: stage the corrected batch with the root-cause rationale, residual rule-engine warnings and a draft repair narrative for officer review",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "validation-rule-engine",
          "report-builder",
          "case-mgmt"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:corrected-batch-signoff",
        "gateway": null,
        "human": "Licensed reporting / compliance officer (SMF16/SMF17)",
        "id": "batch-signoff",
        "interrupt_before": true,
        "kind": "gate",
        "label": "A licensed reporting officer reviews and signs off the corrected batch before resubmission — or sends it back for re-repair",
        "position": {
          "x": 0,
          "y": 840
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "submit",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "resubmit",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Resubmit the signed-off corrected and backloaded batch to the ARM / Trade Repository / regulator endpoint",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "arm-tr-feed",
          "regulator-gateway"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Track ACK/NACK on the resubmitted batch, confirm pairing/matching, monitor SLA windows and assess the corrected population for material under/over-reporting",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "arm-tr-feed:check-status",
          "case-mgmt",
          "sla-tracker",
          "materiality-model"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "materiality",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Material under/over-reporting?",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "draft-disclosure",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Material breach: draft the under/over-reporting self-disclosure pack with the impacted population, root cause and remediation timeline",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "materiality-model",
          "case-mgmt",
          "report-builder"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:self-disclosure-approval",
        "gateway": null,
        "human": "Licensed reporting / compliance officer (SMF16/SMF17)",
        "id": "disclosure-approval",
        "interrupt_before": true,
        "kind": "gate",
        "label": "A licensed reporting officer approves the material self-disclosure before it is filed with the FCA/ESMA/CFTC — or sends it back for revision",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "submit",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "file-disclosure",
        "interrupt_before": false,
        "kind": "agent",
        "label": "File the approved self-disclosure notification with the FCA/ESMA/CFTC via the supervisory portal",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "regulator-portal",
          "regulator-gateway"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__end__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Done",
        "position": {
          "x": 0,
          "y": 1680
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      }
    ]
  },
  "hash": "fd27b72e6448e3472cbed3b410739e6ed65f0665364c1566909e996c830294b3",
  "name": "Transaction-reporting exception remediation autopilot",
  "slug": "reg-reporting-exceptions",
  "source": "example",
  "version": null,
  "violations": []
}
