{
  "captured": "2026-10-14T19:22:41.493135+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "164cff1dcd3a7114ac97d5c2f043dbfc42fba1f62fad2afe2b7e991b6d5f1a0d",
    "broken_sha256": "5a1981390dac31fe63a7dc86ac75881c01559cb9b6f6089fdfd1d32b633ae774",
    "rule_sha256": "f74f97510b9432c810850a0e8e979c675b2c97a8539505a2e03dd152413d6cc4"
  },
  "rule": "The inventory UPDATE and order INSERT must both use tx.ExecContext inside the same transaction, never db.ExecContext for the order write.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "orders/reserve.go",
        "--rules",
        "reservation-tx-handle",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"orders/reserve.go\",\n  \"name\": \"orders/reserve.go\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"reservation-tx-handle\",\n      \"said\": \"The inventory UPDATE and order INSERT must both use tx.ExecContext inside the same transaction, never db.ExecContext for the order write.\",\n      \"broken\": 0.7,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "orders/reserve.go",
        "--rules",
        "reservation-tx-handle",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"orders/reserve.go\",\n  \"name\": \"orders/reserve.go\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
