{
  "schemaVersion": 1,
  "scope": "local_calculation_rules_only",
  "rulesVersion": "document-rules-2026-09-25-v1",
  "function": "evaluateDocumentCalculation",
  "codeFile": "lib/document-check.ts",
  "codeSha256": "aaeae93eeec726bbb384c408aea35146450c2d49a25e80308c152291bec3f650",
  "runnerFile": "scripts/record-own-document-cases.mjs",
  "runnerSha256": "0e623eba6ec4827376b238fa2fe55cdcd3e3495940240ecf08f8de196d05a805",
  "command": "node scripts/record-own-document-cases.mjs --check",
  "cases": [
    {
      "id": "bank-statement-balance",
      "inputSha256": "8f76212232bb2a000c2624fb76c1384d00b9f384814c715661dc39e9d5e3d574",
      "resultSha256": "dbede958825e4c88dbcd953e969a5fdb6dcb979ef4aecfc51871e0fd10a585cd",
      "variants": [
        {
          "variant": "discrepancy",
          "expected": {
            "status": "review",
            "detail": "1150.00 EUR / 1200.00 EUR"
          },
          "observed": {
            "kind": "statement_balance",
            "status": "review",
            "observationIds": [
              "opening",
              "currency",
              "credit",
              "credit-direction",
              "debit",
              "debit-direction",
              "closing"
            ],
            "detail": "1150.00 EUR / 1200.00 EUR"
          },
          "source": {
            "name": "bank-statement-balance-discrepancy.txt",
            "sha256": "382fc36f828746a95dca24e30aadf511da38ed6d2b2a8dc2e76c3fb64eafeefd"
          }
        },
        {
          "variant": "matching-control",
          "expected": {
            "status": "pass",
            "detail": "1150.00 EUR / 1150.00 EUR"
          },
          "observed": {
            "kind": "statement_balance",
            "status": "pass",
            "observationIds": [
              "opening",
              "currency",
              "credit",
              "credit-direction",
              "debit",
              "debit-direction",
              "closing"
            ],
            "detail": "1150.00 EUR / 1150.00 EUR"
          },
          "source": {
            "name": "bank-statement-balance-matching-control.txt",
            "sha256": "272312f6c3f5fe6ac461765232fce651f899bda5663ebc6bbee9fdd722fa2626"
          }
        },
        {
          "variant": "incomplete-coverage",
          "expected": {
            "status": "unavailable"
          },
          "observed": {
            "kind": "statement_balance",
            "status": "unavailable",
            "observationIds": [
              "opening",
              "currency",
              "credit",
              "credit-direction",
              "debit",
              "debit-direction",
              "closing"
            ]
          },
          "source": {
            "name": "bank-statement-balance-incomplete-coverage.txt",
            "sha256": "4d457fd8e863183bb843fb1639715b67d52343596b1312f9f5516412e9b7926b"
          }
        }
      ]
    },
    {
      "id": "invoice-total",
      "inputSha256": "d4439d6cc77e840ab38c89fc7e7ffaf3e4002931e1ef48e1f41d88cfa802aabc",
      "resultSha256": "39309b28f8e7c61dc909e872a03a351cb747f10eef3689575add2e08ede47dfd",
      "variants": [
        {
          "variant": "discrepancy",
          "expected": {
            "status": "review",
            "detail": "420.00 EUR / 450.00 EUR"
          },
          "observed": {
            "kind": "invoice_total",
            "status": "review",
            "observationIds": [
              "subtotal",
              "currency",
              "tax",
              "total"
            ],
            "detail": "420.00 EUR / 450.00 EUR"
          },
          "source": {
            "name": "invoice-total-discrepancy.txt",
            "sha256": "5575103d06a12223410fcd7be6601bef8f8e3e85ff56879b79c8ada3d8a281df"
          }
        },
        {
          "variant": "matching-control",
          "expected": {
            "status": "pass",
            "detail": "420.00 EUR / 420.00 EUR"
          },
          "observed": {
            "kind": "invoice_total",
            "status": "pass",
            "observationIds": [
              "subtotal",
              "currency",
              "tax",
              "total"
            ],
            "detail": "420.00 EUR / 420.00 EUR"
          },
          "source": {
            "name": "invoice-total-matching-control.txt",
            "sha256": "968fdf36f65d0b938204f473375666ce836b84040e4fe9351b1bf82970e4b0d6"
          }
        },
        {
          "variant": "incomplete-coverage",
          "expected": {
            "status": "unavailable"
          },
          "observed": {
            "kind": "invoice_total",
            "status": "unavailable",
            "observationIds": [
              "subtotal",
              "currency",
              "tax",
              "total"
            ]
          },
          "source": {
            "name": "invoice-total-incomplete-coverage.txt",
            "sha256": "32bd576a73e6299a8947a08f1b2ac077e24282bbf4100b9f0858f50990fc612c"
          }
        }
      ]
    }
  ],
  "limitations": [
    "Fictional text specimens and manually specified structured observations.",
    "No OCR, uploaded-file analysis, live API, AI-image/video detection or customer case was tested.",
    "A calculation finding does not establish authenticity or fraud.",
    "Six controlled variants are not an accuracy benchmark."
  ],
  "executedAt": "2026-09-27T09:39:52.218Z",
  "runtime": "v24.19.0"
}
