{
  "captured": "2026-10-14T19:20:39.913455+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "b8324d4037489d06bc08ff881fb808e27b6f17cc6b8c4c9ac73bac35ab8cd756",
    "broken_sha256": "03e2931ac864deb8519e8933810cec56b26e029da228acb65ea372b91291a0a1",
    "rule_sha256": "694c38b4eab4f0a9376df315c8cf62e6d2193b4d2c79af52800597ba7c5901d6"
  },
  "rule": "If the unique webhook receipt insert returns no row, apply_paid_event must return before changing any order.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "webhooks.py",
        "--rules",
        "webhook-receipt-gates-side-effect",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"webhooks.py\",\n  \"name\": \"webhooks.py\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"webhook-receipt-gates-side-effect\",\n      \"said\": \"If the unique webhook receipt insert returns no row, apply_paid_event must return before changing any order.\",\n      \"broken\": 0.86,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "webhooks.py",
        "--rules",
        "webhook-receipt-gates-side-effect",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"webhooks.py\",\n  \"name\": \"webhooks.py\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
