{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____intake",
        "source": "__start__",
        "target": "intake"
      },
      {
        "id": "e1_intake__recon",
        "source": "intake",
        "target": "recon"
      },
      {
        "id": "e2_recon__checks",
        "source": "recon",
        "target": "checks"
      },
      {
        "id": "e3_checks__rate-check",
        "source": "checks",
        "target": "rate-check"
      },
      {
        "id": "e4_checks__fx-check",
        "source": "checks",
        "target": "fx-check"
      },
      {
        "id": "e5_checks__leakage-check",
        "source": "checks",
        "target": "leakage-check"
      },
      {
        "id": "e6_rate-check__classify",
        "source": "rate-check",
        "target": "classify"
      },
      {
        "id": "e7_fx-check__classify",
        "source": "fx-check",
        "target": "classify"
      },
      {
        "id": "e8_leakage-check__classify",
        "source": "leakage-check",
        "target": "classify"
      },
      {
        "id": "e9_classify__triage",
        "source": "classify",
        "target": "triage"
      },
      {
        "id": "e10_triage__autosettle",
        "label": "clean / in-tolerance",
        "source": "triage",
        "target": "autosettle"
      },
      {
        "id": "e11_triage__assemble",
        "label": "material variance (leakage / billing error)",
        "source": "triage",
        "target": "assemble"
      },
      {
        "id": "e12_triage__recon",
        "label": "ambiguous / unmatched — re-match & re-rate",
        "source": "triage",
        "target": "recon"
      },
      {
        "id": "e13_assemble__signoff",
        "source": "assemble",
        "target": "signoff"
      },
      {
        "id": "e14_signoff__transmit",
        "label": "signed",
        "source": "signoff",
        "target": "transmit"
      },
      {
        "id": "e15_signoff__assemble",
        "label": "rejected — rework package",
        "source": "signoff",
        "target": "assemble"
      },
      {
        "id": "e16_autosettle__monitor",
        "source": "autosettle",
        "target": "monitor"
      },
      {
        "id": "e17_transmit__monitor",
        "source": "transmit",
        "target": "monitor"
      },
      {
        "id": "e18_monitor____end__",
        "source": "monitor",
        "target": "__end__"
      }
    ],
    "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": "Ingest inbound/outbound interconnect CDRs, carrier invoices and the governing rate-card / interconnect agreements for the settlement period",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "mediation-cdr",
          "amdocs",
          "carrier-invoice-edi"
        ]
      },
      {
        "agent": "reconciler",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "recon",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Normalize, dedupe and match CDRs to invoice line items by route, trunk, destination prefix and time band; flag unmatched and rate-mismatched volumes",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "recon-engine",
          "subex-settlement",
          "rate-card-db"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "checks",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Run rate, FX and leakage checks concurrently",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "rate-check",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Validate matched usage against contracted rates and tiers in the interconnect agreements",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "rate-card-db",
          "interconnect-agreements"
        ]
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "fx-check",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Revalue cross-currency settlement amounts against period FX and flag FX-driven variance",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "fx-rates"
        ]
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "leakage-check",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Scan unmatched and rate-mismatched volumes for revenue leakage and probable billing errors",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "recon-engine",
          "rate-card-db"
        ]
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "classify",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Merge the rate, FX and leakage findings, quantify total variance and classify each gap as clean-match, leakage, billing error or in-tolerance",
        "position": {
          "x": 0,
          "y": 840
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "recon-engine",
          "interconnect-agreements",
          "fx-rates"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "triage",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Variance classification?",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "settle",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "autosettle",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Clean / in-tolerance: auto-clear the match and post the settlement entries to the wholesale ledger with a documented audit trail",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "core-ledger",
          "settlement-erp"
        ]
      },
      {
        "agent": "reviewer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "assemble",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Material variance: assemble the dispute package — evidence, CDR samples, rate citation and a proposed credit-note / settlement adjustment",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "dispute-builder",
          "case-mgmt"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:settlement-manager-signoff",
        "gateway": null,
        "human": "Carrier Settlement Manager",
        "id": "signoff",
        "interrupt_before": true,
        "kind": "gate",
        "label": "The Carrier Settlement Manager reviews and signs (or rejects) every formal dispute, credit note and settlement adjustment before it goes to the carrier partner",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "submit",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "transmit",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Transmit the signed dispute / credit note to the carrier and open the case in the partner settlement portal",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "carrier-portal",
          "case-mgmt"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Track dispute aging, recovery and acceptance against SLAs; feed accepted adjustments back to the ledger and close cases",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "case-mgmt",
          "settlement-erp:check-status"
        ]
      },
      {
        "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": "1e0bb75b40a1d6ea4cb228096bbe167f0e76f2c81aabecfd3243c643f6443c23",
  "name": "Inter-carrier settlement reconciliation autopilot",
  "slug": "interconnect-settlement-recon",
  "source": "example",
  "version": null,
  "violations": []
}
