{
  "tool_id": "art-192-conversion-receipt-verifier",
  "note": "golden_hash filled by `node golden-parity.test.mjs --update`.",
  "vectors": [
    {
      "name": "valid",
      "policy_parameters": {
        "receipt": {
          "receipt_version": "1.0",
          "input": {
            "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            "format": "markdown"
          },
          "output": {
            "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
            "format": "html"
          },
          "converter": {
            "name": "art-189-markdown-document-converter",
            "version": "1.0.0"
          },
          "parameters": {
            "heading_ids": true,
            "table_support": true
          },
          "binding_sha256": "7c0e135c7d670decbdea449f9dc580b75cc01ef50eb4bb3f5d3540050b6a30e7"
        },
        "recomputed_input_sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "recomputed_output_sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
      },
      "output_payload": {
        "verdict": "valid",
        "binding_ok": true,
        "digest_ok": true,
        "checks": [
          {
            "check": "receipt_structure_and_version",
            "pass": true,
            "detail": "receipt_version 1.0 with input/output/converter/binding present"
          },
          {
            "check": "input_sha256_is_64_hex",
            "pass": true,
            "detail": "valid"
          },
          {
            "check": "output_sha256_is_64_hex",
            "pass": true,
            "detail": "valid"
          },
          {
            "check": "converter_identity_complete",
            "pass": true,
            "detail": "name and version present"
          },
          {
            "check": "binding_sha256_matches",
            "pass": true,
            "detail": "recomputed binding equals stored binding"
          },
          {
            "check": "recomputed_input_digest_matches",
            "pass": true,
            "detail": "rehashed input matches receipt"
          },
          {
            "check": "recomputed_output_digest_matches",
            "pass": true,
            "detail": "rehashed output matches receipt"
          }
        ]
      },
      "golden_hash": "ec8dfdf6ce686cc98c6f4a978b7e489482766f438415e4c8a431f4010e35d847"
    },
    {
      "name": "tampered",
      "policy_parameters": {
        "receipt": {
          "receipt_version": "1.0",
          "input": {
            "sha256": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
            "format": "markdown"
          },
          "output": {
            "sha256": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb",
            "format": "html"
          },
          "converter": {
            "name": "art-189-markdown-document-converter",
            "version": "1.0.0"
          },
          "parameters": {
            "heading_ids": false,
            "table_support": true
          },
          "binding_sha256": "7c0e135c7d670decbdea449f9dc580b75cc01ef50eb4bb3f5d3540050b6a30e7"
        }
      },
      "output_payload": {
        "verdict": "binding_mismatch",
        "binding_ok": false,
        "digest_ok": true,
        "checks": [
          {
            "check": "receipt_structure_and_version",
            "pass": true,
            "detail": "receipt_version 1.0 with input/output/converter/binding present"
          },
          {
            "check": "input_sha256_is_64_hex",
            "pass": true,
            "detail": "valid"
          },
          {
            "check": "output_sha256_is_64_hex",
            "pass": true,
            "detail": "valid"
          },
          {
            "check": "converter_identity_complete",
            "pass": true,
            "detail": "name and version present"
          },
          {
            "check": "binding_sha256_matches",
            "pass": false,
            "detail": "recomputed b288a01d8aad612f25d7753b4e898e6bc8f72d7965437e1fc7cf2750ee4d415f != stored 7c0e135c7d670decbdea449f9dc580b75cc01ef50eb4bb3f5d3540050b6a30e7"
          }
        ]
      },
      "golden_hash": "361e6897a24d10c72ea7678e649287ea3d77d083f276925272ff87f6bd0fd5ce"
    },
    {
      "name": "malformed",
      "policy_parameters": {
        "receipt": "{not valid json"
      },
      "output_payload": {
        "verdict": "malformed",
        "binding_ok": false,
        "checks": [
          {
            "check": "receipt_structure_and_version",
            "pass": false,
            "detail": "missing or malformed receipt structure"
          }
        ]
      },
      "golden_hash": "3c3fa391e71c8f4a3dc59b3e34328f08cd5b323dda956c9287f44b181e490fd8"
    }
  ]
}
