{
  "captured": "2026-10-14T19:19:03.786074+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "0b23dd04538ccd732c1fdcb72ccaccf665f7b8f3fb6dd131fb23d0afee81784b",
    "broken_sha256": "521e9d03d7a5bb9fe014e875b2315d9d850f666fc88c83265f0845dadacf63eb",
    "rule_sha256": "7cb5b74fa18bf5dbc3080fe0249aeaa66a762df9ef087e5778ce1b92ed322e38"
  },
  "rule": "The cancellation UPDATE must constrain tenant_id to actor.tenant_id before changing the order. An id-only or owner-only update breaks this requirement.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "orders.py",
        "--rules",
        "tenant-scoped-update",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"orders.py\",\n  \"name\": \"orders.py\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"tenant-scoped-update\",\n      \"said\": \"The cancellation UPDATE must constrain tenant_id to actor.tenant_id before changing the order. An id-only or owner-only update breaks this requirement.\",\n      \"broken\": 0.69,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "orders.py",
        "--rules",
        "tenant-scoped-update",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"orders.py\",\n  \"name\": \"orders.py\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
