{
  "captured": "2026-10-14T19:32:30.677815+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "151add3593033c8231d9b454692507c278896b6cf4f2365000432a8aa0668b64",
    "broken_sha256": "6123552f77d363116ee1bb4fba3b39ad039ef9e68a670d026991a0fbfe0aac84",
    "rule_sha256": "ec2a882f5f1212a62725081e44e620608cdc8c26502ae35513475c80943fe594",
    "target": "src/main/java/example/ConfirmOrder.java::confirm",
    "selector_each": "method"
  },
  "rule": "The confirm method is explicitly annotated @Transactional. A confirm method without that annotation does not satisfy this required service transaction boundary.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "src/main/java/example/ConfirmOrder.java::confirm",
        "--rules",
        "confirmation-transaction-boundary",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"src/main/java/example/ConfirmOrder.java\",\n  \"name\": \"ConfirmOrder.confirm\",\n  \"line\": 12,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"confirmation-transaction-boundary\",\n      \"said\": \"The confirm method is explicitly annotated @Transactional. A confirm method without that annotation does not satisfy this required service transaction boundary.\",\n      \"broken\": 0.96,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "src/main/java/example/ConfirmOrder.java::confirm",
        "--rules",
        "confirmation-transaction-boundary",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"src/main/java/example/ConfirmOrder.java\",\n  \"name\": \"ConfirmOrder.confirm\",\n  \"line\": 12,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
