{
  "captured": "2026-10-14T19:20:44.791449+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "e636e1e4774d118040dfc0862a7e218d0e286d3efb40a6e0a4718378240569e3",
    "broken_sha256": "b0283c0436d9d811117f226c755dadd94125e4c39b09cd9ecd6d856d7a121251",
    "rule_sha256": "0f7c5745c1b183df09d031d6fe4ee2b4600772d7a3ed24731d6a5c43519cce5a"
  },
  "rule": "CancelOrderController must call denyAccessUnlessGranted with ORDER_CANCEL and the loaded order before changing or flushing its status.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "src/Controller/CancelOrderController.php",
        "--rules",
        "order-voter-before-mutation",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"src/Controller/CancelOrderController.php\",\n  \"name\": \"src/Controller/CancelOrderController.php\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"order-voter-before-mutation\",\n      \"said\": \"CancelOrderController must call denyAccessUnlessGranted with ORDER_CANCEL and the loaded order before changing or flushing its status.\",\n      \"broken\": 0.6699999999999999,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "src/Controller/CancelOrderController.php",
        "--rules",
        "order-voter-before-mutation",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"src/Controller/CancelOrderController.php\",\n  \"name\": \"src/Controller/CancelOrderController.php\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
