{
  "captured": "2026-10-14T19:51:22.350004+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "310d78d27b3300559fbbe095b71a87f745aaccd85aab69d0cb16ab10dd78cdd8",
    "broken_sha256": "e10ee630f9a28d3e49a6e0a269ff1a1f2633cb17270ca20156b258e5651a1cd5",
    "rule_sha256": "a67732c2164f9fda3a01f3bf4a2ac159b3450a8ee7235895c485af4d35e4e25f"
  },
  "rule": "The withTransaction helper returns every acquired PostgreSQL client to its pool by executing client.release() in finally, including when the operation or rollback throws. A finally block containing only a comment leaves the acquired client unreleased.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "transaction.cjs",
        "--rules",
        "transaction-releases-client",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"transaction.cjs\",\n  \"name\": \"transaction.cjs\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"transaction-releases-client\",\n      \"said\": \"The withTransaction helper returns every acquired PostgreSQL client to its pool by executing client.release() in finally, including when the operation or rollback throws. A finally block containing only a comment leaves the acquired client unreleased.\",\n      \"broken\": 0.92,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "transaction.cjs",
        "--rules",
        "transaction-releases-client",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"transaction.cjs\",\n  \"name\": \"transaction.cjs\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
