{
  "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__split",
        "source": "analyze",
        "target": "split"
      },
      {
        "id": "e3_split__match",
        "source": "split",
        "target": "match"
      },
      {
        "id": "e4_split__validate",
        "source": "split",
        "target": "validate"
      },
      {
        "id": "e5_match__join",
        "source": "match",
        "target": "join"
      },
      {
        "id": "e6_validate__join",
        "source": "validate",
        "target": "join"
      },
      {
        "id": "e7_join__disposition",
        "source": "join",
        "target": "disposition"
      },
      {
        "id": "e8_disposition__autoclear",
        "label": "routine, clean match — conditions satisfied",
        "source": "disposition",
        "target": "autoclear"
      },
      {
        "id": "e9_disposition__rerequest",
        "label": "failed validation — missing / inconsistent",
        "source": "disposition",
        "target": "rerequest"
      },
      {
        "id": "e10_disposition__signoff",
        "label": "ambiguous / file-contradicting, or final clear-to-close condition",
        "source": "disposition",
        "target": "signoff"
      },
      {
        "id": "e11_rerequest__intake",
        "source": "rerequest",
        "target": "intake"
      },
      {
        "id": "e12_signoff__post",
        "source": "signoff",
        "target": "post"
      },
      {
        "id": "e13_autoclear__monitor",
        "source": "autoclear",
        "target": "monitor"
      },
      {
        "id": "e14_post__monitor",
        "source": "post",
        "target": "monitor"
      },
      {
        "id": "e15_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": "Pull the newly submitted (or resubmitted) stip document and the file's outstanding condition list from the LOS / borrower portal",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "los",
          "doc-portal",
          "ocr"
        ]
      },
      {
        "agent": "analyzer",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "analyze",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Classify the document, run OCR, and extract key fields (names, dates, amounts, account/property identifiers)",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "ocr",
          "doc-classifier"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "split",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Fan out independent checks on the extracted document",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "matcher",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "match",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Match the extracted document to the specific outstanding condition it satisfies and flag unmatched or duplicate submissions",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "los",
          "condition-engine"
        ]
      },
      {
        "agent": "reconciler",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "validate",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Validate completeness and internal consistency against the file via the rules engine, scoring the document clean / failing / ambiguous",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "condition-engine",
          "los",
          "rules-engine"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "join",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Merge the condition match and the validation result",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "disposition",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Document disposition?",
        "position": {
          "x": 0,
          "y": 840
        },
        "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": "Auto-clear the routine condition straight-through with a documented rationale and update the file's condition status in the LOS",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "condition-engine",
          "los"
        ]
      },
      {
        "agent": "notify",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "rerequest",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Send the borrower/broker a clean, precise re-request for the condition that failed validation, then await resubmission",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "doc-portal",
          "comms"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:clear-to-close-signoff",
        "gateway": null,
        "human": "Closing officer (clear-to-close authority)",
        "id": "signoff",
        "interrupt_before": true,
        "kind": "gate",
        "label": "Review the escalated ambiguous/contradictory document and the file's remaining conditions, then sign the final clear-to-close that releases the loan to funding",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "submit",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "post",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Post the clear-to-close to the LOS, irreversibly releasing the loan to the funding/disbursement queue",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "los",
          "funding-queue"
        ]
      },
      {
        "agent": "monitor",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "monitor",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Track aging conditions, manage the re-request loop, and maintain the cleared-condition audit trail for investor and exam review",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "los",
          "case-mgmt"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "__end__",
        "interrupt_before": false,
        "kind": "terminal",
        "label": "Done",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "terminal",
        "tools": []
      }
    ]
  },
  "hash": "6855a234e5de4642b302341250d9170e88b490332fce8394cd9e425d432b14d3",
  "name": "Stipulation & condition-clearing autopilot",
  "slug": "stipulation-condition-clearing",
  "source": "example",
  "version": null,
  "violations": []
}
