{
  "kind": "recorded-local-verifier-execution",
  "createdAt": "2026-10-03T11:21:04.599Z",
  "scope": "Synthetic Node.js HTTP fixture, release-owned refund verifier; not GitHub, Docker isolation or automated Fix",
  "verifierSha256": "805528b193b7b958496423eef4ecefdefb5eb535e5eb5d2d9f01f3b9618738b4",
  "templateSha256": "c8b71f1828136182328c41e29555c5e858087b3ec4521aa4d9f7279d6536c459",
  "videoSha256": "c5938e70fbacdbd3a9b49920775c97f7552d032b9655984b6f4e521c26554bfb",
  "durationSeconds": 18.337,
  "reports": [
    {
      "name": "violation",
      "sourceSha256": "3f551d643aeaddff571934cd8dfe523ea9910338cc59b6ffcecf98737dadcb8b",
      "sourceSnippet": "function refund(payment, amount) {\n  // Regression: the limit check was removed.\n  payment.refunded += amount;\n  return { status: 201 };\n}",
      "result": {
        "status": "FAIL",
        "reasonCode": "over-refund-accepted",
        "behaviours": [
          "POST /payments created a synthetic payment: observed HTTP 201.",
          "GET /payments/{paymentId} read the refunded total: 0.",
          "POST /payments/{paymentId}/refunds with a valid partial amount 5000 of 10000: observed HTTP 201.",
          "GET /payments/{paymentId} read the refunded total: 5000.",
          "POST /payments/{paymentId}/refunds with 5001, which exceeds the remaining 5000: observed HTTP 201."
        ]
      },
      "traces": [
        {
          "method": "GET",
          "path": "/health",
          "status": 200
        },
        {
          "method": "POST",
          "path": "/payments",
          "amount": 10000,
          "status": 201,
          "refundedTotal": 0
        },
        {
          "method": "GET",
          "path": "/payments/pay_1",
          "status": 200,
          "refundedTotal": 0
        },
        {
          "method": "POST",
          "path": "/payments/pay_1/refunds",
          "amount": 5000,
          "status": 201
        },
        {
          "method": "GET",
          "path": "/payments/pay_1",
          "status": 200,
          "refundedTotal": 5000
        },
        {
          "method": "POST",
          "path": "/payments/pay_1/refunds",
          "amount": 5001,
          "status": 201
        },
        {
          "method": "GET",
          "path": "/payments/pay_1",
          "status": 200,
          "refundedTotal": 10001
        }
      ],
      "readiness": {
        "ready": true,
        "attempts": 1,
        "lastStatus": 200,
        "lastError": null
      }
    },
    {
      "name": "correction",
      "sourceSha256": "4be844c05b4ca54f6a7441982e3afd0b3a11896bd58311392c31b59eabfeee2b",
      "sourceSnippet": "function refund(payment, amount) {\n  const remaining = payment.captured - payment.refunded;\n  if (amount > remaining) {\n    return { status: 422, error: 'refund exceeds payment' };\n  }\n  payment.refunded += amount;\n  return { status: 201 };\n}",
      "result": {
        "status": "PASS",
        "reasonCode": "over-refund-rejected",
        "behaviours": [
          "POST /payments created a synthetic payment: observed HTTP 201.",
          "GET /payments/{paymentId} read the refunded total: 0.",
          "POST /payments/{paymentId}/refunds with a valid partial amount 5000 of 10000: observed HTTP 201.",
          "GET /payments/{paymentId} read the refunded total: 5000.",
          "POST /payments/{paymentId}/refunds with 5001, which exceeds the remaining 5000: observed HTTP 422.",
          "GET /payments/{paymentId} read the refunded total: 5000."
        ]
      },
      "traces": [
        {
          "method": "GET",
          "path": "/health",
          "status": 200
        },
        {
          "method": "POST",
          "path": "/payments",
          "amount": 10000,
          "status": 201,
          "refundedTotal": 0
        },
        {
          "method": "GET",
          "path": "/payments/pay_1",
          "status": 200,
          "refundedTotal": 0
        },
        {
          "method": "POST",
          "path": "/payments/pay_1/refunds",
          "amount": 5000,
          "status": 201
        },
        {
          "method": "GET",
          "path": "/payments/pay_1",
          "status": 200,
          "refundedTotal": 5000
        },
        {
          "method": "POST",
          "path": "/payments/pay_1/refunds",
          "amount": 5001,
          "status": 422
        },
        {
          "method": "GET",
          "path": "/payments/pay_1",
          "status": 200,
          "refundedTotal": 5000
        }
      ],
      "readiness": {
        "ready": true,
        "attempts": 1,
        "lastStatus": 200,
        "lastError": null
      }
    }
  ]
}