{
  "captured": "2026-10-14T19:31:25.733851+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "8dbdc9656b18355aaeb916166bf754e82f89218e85430308dd2cf7c0de1aa087",
    "broken_sha256": "859d0e3c8547e758b57e142eed0a0f4e92155dfd6ccf41d92b889ccca0279997",
    "rule_sha256": "d8a05c69c34ad6cfe4515a5a53b8671300a330e3a98657cb2af5429026f01b2b"
  },
  "rule": "The ReceiptJob channel must have a finite capacity, not Channel.UNLIMITED, so overload is rejected rather than retained without bound.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "src/main/kotlin/example/ReceiptQueue.kt",
        "--rules",
        "receipt-queue-bounded",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"src/main/kotlin/example/ReceiptQueue.kt\",\n  \"name\": \"src/main/kotlin/example/ReceiptQueue.kt\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"receipt-queue-bounded\",\n      \"said\": \"The ReceiptJob channel must have a finite capacity, not Channel.UNLIMITED, so overload is rejected rather than retained without bound.\",\n      \"broken\": 0.75,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "src/main/kotlin/example/ReceiptQueue.kt",
        "--rules",
        "receipt-queue-bounded",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"src/main/kotlin/example/ReceiptQueue.kt\",\n  \"name\": \"src/main/kotlin/example/ReceiptQueue.kt\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
