{
  "workflowName": "Synthetic lead intake with reliability gaps",
  "nodeCount": 4,
  "findingCount": 6,
  "score": 1,
  "findings": [
    {
      "severity": "high",
      "code": "http_timeout_missing",
      "node": "Lead webhook",
      "message": "HTTP/webhook boundary has no explicit timeout."
    },
    {
      "severity": "medium",
      "code": "http_retry_missing",
      "node": "Lead webhook",
      "message": "HTTP/webhook boundary has no retry setting."
    },
    {
      "severity": "medium",
      "code": "unsafe_first_item_access",
      "node": "Normalize payload",
      "message": "Expression appears to read item 0 without an obvious empty-input guard."
    },
    {
      "severity": "high",
      "code": "write_idempotency_unclear",
      "node": "Create CRM row",
      "message": "Write step has no obvious idempotency, upsert, or conflict-handling hint."
    },
    {
      "severity": "medium",
      "code": "disabled_node",
      "node": "Disabled Slack alert",
      "message": "Disabled node is still present in the workflow export."
    },
    {
      "severity": "high",
      "code": "error_path_missing",
      "node": "(workflow)",
      "message": "No obvious error, dead-letter, fallback, or manual-review path found."
    }
  ]
}
