{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____intake",
        "source": "__start__",
        "target": "intake"
      },
      {
        "id": "e1_intake__split",
        "source": "intake",
        "target": "split"
      },
      {
        "id": "e2_split__screening",
        "source": "split",
        "target": "screening"
      },
      {
        "id": "e3_split__matcher",
        "source": "split",
        "target": "matcher"
      },
      {
        "id": "e4_screening__join",
        "source": "screening",
        "target": "join"
      },
      {
        "id": "e5_matcher__join",
        "source": "matcher",
        "target": "join"
      },
      {
        "id": "e6_join__triage",
        "source": "join",
        "target": "triage"
      },
      {
        "id": "e7_triage__stage",
        "label": "clean & under threshold",
        "source": "triage",
        "target": "stage"
      },
      {
        "id": "e8_triage__reverify",
        "label": "sanctions / red flag / over threshold",
        "source": "triage",
        "target": "reverify"
      },
      {
        "id": "e9_reverify__matcher",
        "label": "bank detail mismatch — rework match",
        "source": "reverify",
        "target": "matcher"
      },
      {
        "id": "e10_reverify__cleared",
        "label": "screening re-pulled",
        "source": "reverify",
        "target": "cleared"
      },
      {
        "id": "e11_cleared__release-gate",
        "label": "flag resolved",
        "source": "cleared",
        "target": "release-gate"
      },
      {
        "id": "e12_cleared__block",
        "label": "confirmed sanctions match",
        "source": "cleared",
        "target": "block"
      },
      {
        "id": "e13_stage__release-gate",
        "source": "stage",
        "target": "release-gate"
      },
      {
        "id": "e14_release-gate__payer",
        "source": "release-gate",
        "target": "payer"
      },
      {
        "id": "e15_payer__monitor",
        "source": "payer",
        "target": "monitor"
      },
      {
        "id": "e16_block____end__",
        "source": "block",
        "target": "__end__"
      },
      {
        "id": "e17_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": "Onboard the supplier and capture beneficial ownership (UBO)",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "vendor-master",
          "kyb"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "split",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Run supplier screening and invoice matching concurrently",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "screening",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "screening",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Screen the supplier + UBO against sanctions / PEP lists (continuous)",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "sanctions-screen"
        ]
      },
      {
        "agent": "matcher",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "matcher",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Three-way match the invoice (PO ↔ receipt ↔ invoice) and validate bank details",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "e-invoicing",
          "erp"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "join",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Merge screening result and match result before risk decision",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "triage",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Sanctions/PEP hit, ABAC red flag, or over threshold?",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "matcher",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "stage",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Stage the clean under-threshold payment for straight-through release",
        "position": {
          "x": 0,
          "y": 840
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "erp"
        ]
      },
      {
        "agent": "screening",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "reverify",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Re-verify changed bank details out-of-band and re-pull the flagged screening hit",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "sanctions-screen",
          "kyb"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "cleared",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Flag resolved on re-verification?",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "screening",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "block",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Hard-block the payment on a confirmed sanctions match; no funds move",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "vendor-master"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:payment-release",
        "gateway": null,
        "human": "AP / finance approver",
        "id": "release-gate",
        "interrupt_before": true,
        "kind": "gate",
        "label": "Finance approver reviews and signs off the payment before any funds move (every release passes here)",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "payer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "payer",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Release the payment over the rails",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "payment-rails"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Monitor spend for anomalies and duplicate / threshold-split patterns",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "erp"
        ]
      },
      {
        "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": "3cab665f4475890d1afe6bdba26a1bfc72aad0c34daab0c24fe18d3495706884",
  "name": "Source-to-pay autopilot",
  "slug": "procurement",
  "source": "example",
  "version": null,
  "violations": []
}
