{
  "captured": "2026-10-14T19:51:53.787596+00:00",
  "model": "jev-latest",
  "identity": {
    "fixed_sha256": "83e4ce2401b18bbb687cf522dd419bfc4b7d4835f52b6c90e4cae17cc2de442c",
    "broken_sha256": "bed362db0506cc44e5c627b1c5ac5413077dbd5efb3275873c4628199824049a",
    "rule_sha256": "11932fdb355d44a568b0861c98f9ffaa9754475ef27f8e6be3d520c56d434e69"
  },
  "rule": "The confirm function persists a durable notification record by calling tx.insertOutbox inside the same db.transaction callback as tx.confirmOrder, before scheduling dispatchCommittedOutbox with waitUntil. Confirming the order and scheduling dispatch without inserting an outbox record violates this requirement.",
  "results": {
    "broken": {
      "command": [
        "perch",
        "check",
        "confirm.ts",
        "--rules",
        "persist-notification-before-dispatch",
        "--json"
      ],
      "exit_code": 3,
      "stdout": "{\n  \"path\": \"confirm.ts\",\n  \"name\": \"confirm.ts\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [\n    {\n      \"rule\": \"persist-notification-before-dispatch\",\n      \"said\": \"The confirm function persists a durable notification record by calling tx.insertOutbox inside the same db.transaction callback as tx.confirmOrder, before scheduling dispatchCommittedOutbox with waitUntil. Confirming the order and scheduling dispatch without inserting an outbox record violates this requirement.\",\n      \"broken\": 0.97,\n      \"floor\": 0.5\n    }\n  ],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": false\n}\n",
      "stderr": ""
    },
    "fixed": {
      "command": [
        "perch",
        "check",
        "confirm.ts",
        "--rules",
        "persist-notification-before-dispatch",
        "--json"
      ],
      "exit_code": 0,
      "stdout": "{\n  \"path\": \"confirm.ts\",\n  \"name\": \"confirm.ts\",\n  \"line\": 1,\n  \"checked\": 1,\n  \"broken\": [],\n  \"issues\": null,\n  \"note\": null,\n  \"clean\": true\n}\n",
      "stderr": ""
    }
  }
}
