{
  "format": "minctrl.process/v1",
  "graph": {
    "edges": [
      {
        "id": "e0___start____ingest",
        "source": "__start__",
        "target": "ingest"
      },
      {
        "id": "e1_ingest__draft",
        "source": "ingest",
        "target": "draft"
      },
      {
        "id": "e2_draft__fan-out",
        "source": "draft",
        "target": "fan-out"
      },
      {
        "id": "e3_fan-out__recon",
        "source": "fan-out",
        "target": "recon"
      },
      {
        "id": "e4_fan-out__rev-606",
        "source": "fan-out",
        "target": "rev-606"
      },
      {
        "id": "e5_fan-out__sod",
        "source": "fan-out",
        "target": "sod"
      },
      {
        "id": "e6_recon__join",
        "source": "recon",
        "target": "join"
      },
      {
        "id": "e7_rev-606__join",
        "source": "rev-606",
        "target": "join"
      },
      {
        "id": "e8_sod__join",
        "source": "sod",
        "target": "join"
      },
      {
        "id": "e9_join__triage",
        "source": "join",
        "target": "triage"
      },
      {
        "id": "e10_triage__auto-post",
        "label": "clean / standard ≤ materiality",
        "source": "triage",
        "target": "auto-post"
      },
      {
        "id": "e11_triage__fixable",
        "label": "exceptions / non-standard",
        "source": "triage",
        "target": "fixable"
      },
      {
        "id": "e12_fixable__draft",
        "label": "recoverable error — redraft",
        "source": "fixable",
        "target": "draft"
      },
      {
        "id": "e13_fixable__close-gate",
        "label": "genuine non-standard item",
        "source": "fixable",
        "target": "close-gate"
      },
      {
        "id": "e14_close-gate__post-lock",
        "source": "close-gate",
        "target": "post-lock"
      },
      {
        "id": "e15_auto-post__report",
        "source": "auto-post",
        "target": "report"
      },
      {
        "id": "e16_post-lock__report",
        "source": "post-lock",
        "target": "report"
      },
      {
        "id": "e17_report____end__",
        "source": "report",
        "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": "ingest",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Ingest transactions from the bank feed and revenue system",
        "position": {
          "x": 0,
          "y": 120
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "bank-feed",
          "revenue-system"
        ]
      },
      {
        "agent": "bookkeeper",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "draft",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Draft balanced journal entries (≤ materiality) into an append-only ledger",
        "position": {
          "x": 0,
          "y": 240
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "gl-erp"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "fan-out",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Run the period-end checks concurrently",
        "position": {
          "x": 0,
          "y": 360
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "recon",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Reconcile bank, sub-ledgers and intercompany against the GL",
        "position": {
          "x": 0,
          "y": 480
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "close-tool"
        ]
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "rev-606",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Test ASC 606 revenue recognition and period cutoff",
        "position": {
          "x": 0,
          "y": 600
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "close-tool"
        ]
      },
      {
        "agent": "compliance",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "sod",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Enforce segregation of duties and flag non-standard items",
        "position": {
          "x": 0,
          "y": 720
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "close-tool"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "parallel",
        "human": null,
        "id": "join",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Merge check results and triage exceptions",
        "position": {
          "x": 0,
          "y": 840
        },
        "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": "Entries clean & standard (≤ materiality)?",
        "position": {
          "x": 0,
          "y": 960
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": null,
        "confidential": false,
        "gate": null,
        "gateway": "exclusive",
        "human": null,
        "id": "fixable",
        "interrupt_before": false,
        "kind": "gateway",
        "label": "Exception fixable in the books?",
        "position": {
          "x": 0,
          "y": 1080
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "gateway",
        "tools": []
      },
      {
        "agent": "poster",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "auto-post",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Straight-through post standard reconciled entries to the open period",
        "position": {
          "x": 0,
          "y": 1200
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "medium",
        "tools": [
          "gl-erp"
        ]
      },
      {
        "agent": null,
        "confidential": false,
        "gate": "gate:financial-close",
        "gateway": null,
        "human": "Controller / accountant",
        "id": "close-gate",
        "interrupt_before": true,
        "kind": "gate",
        "label": "Controller signs off non-standard entries, non-standard revenue and the period-close lock",
        "position": {
          "x": 0,
          "y": 1320
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": []
      },
      {
        "agent": "poster",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "post-lock",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Post approved non-standard entries and lock the period close",
        "position": {
          "x": 0,
          "y": 1440
        },
        "reversible": false,
        "sla": null,
        "sla_spec": null,
        "tier": "high",
        "tools": [
          "gl-erp",
          "close-tool"
        ]
      },
      {
        "agent": "reporter",
        "confidential": false,
        "gate": null,
        "gateway": null,
        "human": null,
        "id": "report",
        "interrupt_before": false,
        "kind": "agent",
        "label": "Produce close package and variance / flux analysis for review",
        "position": {
          "x": 0,
          "y": 1560
        },
        "reversible": true,
        "sla": null,
        "sla_spec": null,
        "tier": "low",
        "tools": [
          "gl-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": "c050c0b737d07e4ded5d664de4873e03afe26907d2db3456e7d2fd5469d8c6f0",
  "name": "Bookkeeping & close autopilot",
  "slug": "accounting",
  "source": "example",
  "version": null,
  "violations": []
}
