{
  "date": "2026-10-13",
  "python": "3.12.1",
  "langgraph": "1.2.11",
  "samples": 200,
  "warmups": 20,
  "limitations": [
    "Sequential CPU-only synthetic passthrough graphs",
    "No ingress, auth, broker, DB, checkpoint, tools, model, or telemetry exporter",
    "First node is a synthetic no-op, not specialist/model readiness"
  ],
  "measurements": [
    {
      "nodes": 1,
      "compile": {
        "p50_ms": 0.535,
        "p95_ms": 0.554,
        "p99_ms": 0.562
      },
      "invoke_to_first_node": {
        "p50_ms": 0.492,
        "p95_ms": 0.584,
        "p99_ms": 0.617
      },
      "whole_graph": {
        "p50_ms": 0.727,
        "p95_ms": 0.826,
        "p99_ms": 0.859
      }
    },
    {
      "nodes": 10,
      "compile": {
        "p50_ms": 2.372,
        "p95_ms": 2.52,
        "p99_ms": 2.973
      },
      "invoke_to_first_node": {
        "p50_ms": 0.569,
        "p95_ms": 0.59,
        "p99_ms": 0.606
      },
      "whole_graph": {
        "p50_ms": 3.362,
        "p95_ms": 3.419,
        "p99_ms": 3.512
      }
    },
    {
      "nodes": 50,
      "compile": {
        "p50_ms": 9.499,
        "p95_ms": 10.265,
        "p99_ms": 10.447
      },
      "invoke_to_first_node": {
        "p50_ms": 0.685,
        "p95_ms": 0.711,
        "p99_ms": 0.723
      },
      "whole_graph": {
        "p50_ms": 15.456,
        "p95_ms": 15.736,
        "p99_ms": 47.231
      }
    }
  ]
}
