{
  "schemaVersion": "openthunder-review-example-v1",
  "generatedAt": "2026-09-11T20:53:05.981Z",
  "scope": "Synthetic public API fixture. Static CLI review and one separately executed consumer check. Not payment-system validation.",
  "engine": {
    "checkoutCommit": "41ef8dbe47cbd2c4fb841affd0f2fc6c79b21030",
    "cliSha256": "19c510fcebd171d4af0536ec6b4c684a0796461861cea5fbdc38de297a8d0f5a",
    "node": "v24.17.0"
  },
  "baseCommit": "2fd6290469a1f1789cd0d6b79634cddd36e9db2e",
  "baseCode": "export function chargeCard(amount) { return { ok: true, amount }; }\nexport function refund(id) { return { ok: true, id }; }\n",
  "testCode": "import { test } from 'node:test';\nimport assert from 'node:assert/strict';\nimport { chargeCard, refund } from './lib.js';\ntest('existing consumer can import and call both public functions', () => {\n  assert.deepEqual(chargeCard(10), { ok: true, amount: 10 });\n  assert.deepEqual(refund('order-1'), { ok: true, id: 'order-1' });\n});\n",
  "before": {
    "label": "Public function removed",
    "headCommit": "92a8c1026e7133a8cf3e32f3e068a914757d1aba",
    "code": "export function refund(id) { return { ok: true, id }; }\n",
    "codeSha256": "5f63423031907cf936feadb0f57521f29ac98e49a4e624ac205972bee30fe0a0",
    "staticReview": {
      "decision": "CAUTION",
      "breakingRemovals": 1,
      "breaking": [
        {
          "file": "lib.js",
          "removed": [
            "chargeCard"
          ],
          "added": [],
          "dependents": 1
        }
      ]
    },
    "consumerCheck": {
      "command": "node --test consumer.test.mjs",
      "exitCode": 1,
      "output": "file:///private<fixture>/consumer.test.mjs:3\nimport { chargeCard, refund } from './lib.js';\n         ^^^^^^^^^^\nSyntaxError: The requested module './lib.js' does not provide an export named 'chargeCard'\n    at #asyncInstantiate (node:internal/modules/esm/module_job:327:21)\n    at async ModuleJob.run (node:internal/modules/esm/module_job:431:5)\n    at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:633:26)\n    at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)\n\nNode.js v24.17.0\n✖ consumer.test.mjs (65.422ms)\nℹ tests 1\nℹ suites 0\nℹ pass 0\nℹ fail 1\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 70.480291\n\n✖ failing tests:\n\ntest at consumer.test.mjs:1:1\n✖ consumer.test.mjs (65.422ms)\n  'test failed'\n"
    }
  },
  "after": {
    "label": "Public function restored",
    "headCommit": "00905232cc3480b4efcd09ad23ef2c8041d5377d",
    "code": "export function chargeCard(amount) { return { ok: amount > 0, amount }; }\nexport function refund(id) { return { ok: true, id }; }\n",
    "codeSha256": "760941a8a750e4269d7a0fb99cd40629ae0b6365f044266011520eaf2f67658c",
    "staticReview": {
      "decision": "CAUTION",
      "breakingRemovals": 0,
      "breaking": []
    },
    "consumerCheck": {
      "command": "node --test consumer.test.mjs",
      "exitCode": 0,
      "output": "✔ existing consumer can import and call both public functions (1.035917ms)\nℹ tests 1\nℹ suites 0\nℹ pass 1\nℹ fail 0\nℹ cancelled 0\nℹ skipped 0\nℹ todo 0\nℹ duration_ms 71.525667\n"
    }
  }
}
