{
  "name": "orders_etl",
  "description": "Node and edge listing for the orders ETL topology, shared across formats.",
  "acyclic": true,
  "nodes": [
    {
      "id": "ingest_orders",
      "label": "ingest orders",
      "kind": "task",
      "depth": 0
    },
    {
      "id": "validate_orders",
      "label": "validate orders",
      "kind": "task",
      "depth": 1
    },
    {
      "id": "transform_orders",
      "label": "transform orders",
      "kind": "task",
      "depth": 2
    },
    {
      "id": "load_warehouse",
      "label": "load warehouse",
      "kind": "task",
      "depth": 3
    },
    {
      "id": "refresh_dashboard",
      "label": "refresh dashboard",
      "kind": "task",
      "depth": 3
    },
    {
      "id": "notify_owner",
      "label": "notify owner",
      "kind": "task",
      "depth": 4
    }
  ],
  "edges": [
    {
      "from": "ingest_orders",
      "to": "validate_orders"
    },
    {
      "from": "validate_orders",
      "to": "transform_orders"
    },
    {
      "from": "transform_orders",
      "to": "load_warehouse"
    },
    {
      "from": "transform_orders",
      "to": "refresh_dashboard"
    },
    {
      "from": "load_warehouse",
      "to": "notify_owner"
    },
    {
      "from": "refresh_dashboard",
      "to": "notify_owner"
    }
  ],
  "expected": {
    "nodeCount": 6,
    "edgeCount": 6,
    "roots": [
      "ingest_orders"
    ],
    "leaves": [
      "notify_owner"
    ],
    "longestPath": 5,
    "topologicalOrder": [
      "ingest_orders",
      "validate_orders",
      "transform_orders",
      "load_warehouse",
      "refresh_dashboard",
      "notify_owner"
    ]
  }
}
