{
  "captured": "2026-10-14T19:19:08.598879+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "a6a47c1bf1678489c1486e720f844f3d675a6adbe0f693ec4060e5bebb58e4c7",
    "broken_sha256": "ce6f3aa396d39debd6c9b70af6069e4b48dd9fe5d33ddf0324561c9ccb4fc5ad",
    "rule_sha256": "68c74f77ebd247b5e77a3eae04f12bcdd5ab6d440727be0e45f726a7868c0e47"
  },
  "rule": "Inside the row lock, available stock must be checked against quantity before it is decremented. Reject reservations that exceed the locked stock.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "app/services/reserve_stock.rb",
        "--rules",
        "locked-stock-availability",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"app/services/reserve_stock.rb\",\n  \"name\": \"app/services/reserve_stock.rb\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"locked-stock-availability\",\n      \"said\": \"Inside the row lock, available stock must be checked against quantity before it is decremented. Reject reservations that exceed the locked stock.\",\n      \"broken\": 0.88,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "app/services/reserve_stock.rb",
        "--rules",
        "locked-stock-availability",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"app/services/reserve_stock.rb\",\n  \"name\": \"app/services/reserve_stock.rb\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
