{
  "metadata": {
    "experiment": "synthetic-restic-restore-six-cases",
    "schema_version": 1,
    "restic_version_output": "restic 0.19.1 compiled with go1.26.4 on windows/amd64",
    "python": "3.12.10",
    "platform": {
      "system": "Windows",
      "release": "11",
      "machine": "AMD64"
    },
    "release_archive_url": "https://github.com/restic/restic/releases/download/v0.19.1/restic_0.19.1_windows_amd64.zip",
    "official_checksum_url": "https://github.com/restic/restic/releases/download/v0.19.1/SHA256SUMS",
    "release_archive_sha256": "da948ad707ed690426473aaba2046cd61f8f90f6f0e7dab6be0d5796531de67d",
    "binary_sha256": "b0dd1fd21eea5d8fe1325f55f7118213c21f36de8a261e04c0624a5ab9fd7830",
    "release_checksum_match": true,
    "release_signature_verified": false,
    "script_sha256": "22d8f04476189bc05b24e0a441c5252025424ec7e417c0856c63b259407620d3",
    "repository_format": 2,
    "cache": "disabled",
    "compression": "restic default auto",
    "corpus_file_count": 12,
    "public_dummy_password": "PUBLIC-SYNTHETIC-LAB-ONLY-NOT-A-REAL-PASSWORD-v1",
    "public_wrong_dummy_password": "PUBLIC-SYNTHETIC-LAB-ONLY-WRONG-PASSWORD-v1",
    "log_redactions": [
      "fresh lab absolute path",
      "JSON filesystem/snapshot/backup timestamps",
      "execution-account username"
    ],
    "scope": "Single local Windows run; not a product ranking, media-life study, offsite test, account-recovery test, or whole-system recovery test."
  },
  "cases": [
    {
      "case": "S1",
      "condition": "normal",
      "snapshot_id": "99116787fb27db12c40f8332a3873cca4f2d415b5b79ba42b9943b6992c4545b",
      "source_subfolder": "/source",
      "check_exit": 0,
      "read_data_exit": 0,
      "snapshot_list_exit": 0,
      "restore_exit": 0,
      "expected_count": 12,
      "restored_count": 12,
      "inventory_pass": true,
      "missing": [],
      "unexpected": [],
      "matching_hash_count": 12,
      "all_expected_hashes_match": true,
      "parser_attempted_count": 12,
      "parser_pass_count": 12,
      "parser_failures": [],
      "file_results": [
        {
          "path": "documents/archive.zip",
          "actual_size": 163,
          "actual_sha256": "48e8121cf9e54ba1f34008219349981fb081727b7b3fda3db1853ec8506cf86e",
          "hash_match": true,
          "restored_parser": {
            "parser": "zipfile.ZipFile.testzip + member reads",
            "pass": true
          }
        },
        {
          "path": "documents/catalog.xml",
          "actual_size": 73,
          "actual_sha256": "433ad607fd0d00fa76c5db9dc6a1f8d11319e69b6b1e375c418e33088a5949b2",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/contacts.csv",
          "actual_size": 55,
          "actual_sha256": "6d075f9770cac6fd67ada5ae9015e77bd77c19e9c3779b5ed5fb39b931b029fa",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/inventory.csv",
          "actual_size": 39,
          "actual_sha256": "beaa6c2d49315f315c437e13574f60321a32c80cabf5813aa51b9f711f3a0ea2",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/reading-list.xml",
          "actual_size": 53,
          "actual_sha256": "bb66a7502f31a2b834eefa26bf9040bf9c1ae7bfefe482c4f61c313a38a92cb7",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/records.json",
          "actual_size": 56,
          "actual_sha256": "63e9327b765b916873c7a5cbb188c2676ca10a734d40d66b695b1828d43b16f5",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "documents/status.json",
          "actual_size": 50,
          "actual_sha256": "dd1e1b0c459e7d1db86841929cec02dbe854fdcb3e82bc360bd261e370203fc8",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "media/tone.wav",
          "actual_size": 1644,
          "actual_sha256": "b961940c6155950a484557e9c5e76060d084b5e99d025aebce031a592635051c",
          "hash_match": true,
          "restored_parser": {
            "parser": "wave.open + all frame reads",
            "pass": true
          }
        },
        {
          "path": "notes/instructions.txt",
          "actual_size": 55,
          "actual_sha256": "62b3168c404542c0ac023a7530bad9712bd7c8cbc7e86b6e3c73e62ec9c0fdc4",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/letter.txt",
          "actual_size": 47,
          "actual_sha256": "b3adf2aa7b7ffaa2dff364e20f28208747a7c44c93b328037136ac8be930d154",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/unicode.txt",
          "actual_size": 41,
          "actual_sha256": "9006a56ad7a497852555739b403a07fdb3263ecdd15a0b1f10c04e2e63670ff6",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "records/settings.toml",
          "actual_size": 54,
          "actual_sha256": "e935f95dbd2f9271f87b8edc08d9acd29a03656127ffa771f9b0b0d74d133185",
          "hash_match": true,
          "restored_parser": {
            "parser": "tomllib.loads",
            "pass": true
          }
        }
      ]
    },
    {
      "case": "S2",
      "condition": "wrong public dummy password",
      "snapshot_id": "99116787fb27db12c40f8332a3873cca4f2d415b5b79ba42b9943b6992c4545b",
      "source_subfolder": null,
      "check_exit": 12,
      "read_data_exit": 12,
      "snapshot_list_exit": 12,
      "restore_exit": 12,
      "expected_count": 12,
      "restored_count": 0,
      "inventory_pass": false,
      "missing": [
        "documents/archive.zip",
        "documents/catalog.xml",
        "documents/contacts.csv",
        "documents/inventory.csv",
        "documents/reading-list.xml",
        "documents/records.json",
        "documents/status.json",
        "media/tone.wav",
        "notes/instructions.txt",
        "notes/letter.txt",
        "notes/unicode.txt",
        "records/settings.toml"
      ],
      "unexpected": [],
      "matching_hash_count": 0,
      "all_expected_hashes_match": false,
      "parser_attempted_count": 0,
      "parser_pass_count": 0,
      "parser_failures": [],
      "file_results": []
    },
    {
      "case": "S3",
      "condition": "one encrypted data payload byte changed in disposable copy",
      "snapshot_id": "99116787fb27db12c40f8332a3873cca4f2d415b5b79ba42b9943b6992c4545b",
      "source_subfolder": "/source",
      "check_exit": 0,
      "read_data_exit": 1,
      "snapshot_list_exit": 0,
      "restore_exit": 1,
      "expected_count": 12,
      "restored_count": 11,
      "inventory_pass": false,
      "missing": [
        "documents/records.json"
      ],
      "unexpected": [],
      "matching_hash_count": 11,
      "all_expected_hashes_match": false,
      "parser_attempted_count": 11,
      "parser_pass_count": 11,
      "parser_failures": [],
      "file_results": [
        {
          "path": "documents/archive.zip",
          "actual_size": 163,
          "actual_sha256": "48e8121cf9e54ba1f34008219349981fb081727b7b3fda3db1853ec8506cf86e",
          "hash_match": true,
          "restored_parser": {
            "parser": "zipfile.ZipFile.testzip + member reads",
            "pass": true
          }
        },
        {
          "path": "documents/catalog.xml",
          "actual_size": 73,
          "actual_sha256": "433ad607fd0d00fa76c5db9dc6a1f8d11319e69b6b1e375c418e33088a5949b2",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/contacts.csv",
          "actual_size": 55,
          "actual_sha256": "6d075f9770cac6fd67ada5ae9015e77bd77c19e9c3779b5ed5fb39b931b029fa",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/inventory.csv",
          "actual_size": 39,
          "actual_sha256": "beaa6c2d49315f315c437e13574f60321a32c80cabf5813aa51b9f711f3a0ea2",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/reading-list.xml",
          "actual_size": 53,
          "actual_sha256": "bb66a7502f31a2b834eefa26bf9040bf9c1ae7bfefe482c4f61c313a38a92cb7",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/status.json",
          "actual_size": 50,
          "actual_sha256": "dd1e1b0c459e7d1db86841929cec02dbe854fdcb3e82bc360bd261e370203fc8",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "media/tone.wav",
          "actual_size": 1644,
          "actual_sha256": "b961940c6155950a484557e9c5e76060d084b5e99d025aebce031a592635051c",
          "hash_match": true,
          "restored_parser": {
            "parser": "wave.open + all frame reads",
            "pass": true
          }
        },
        {
          "path": "notes/instructions.txt",
          "actual_size": 55,
          "actual_sha256": "62b3168c404542c0ac023a7530bad9712bd7c8cbc7e86b6e3c73e62ec9c0fdc4",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/letter.txt",
          "actual_size": 47,
          "actual_sha256": "b3adf2aa7b7ffaa2dff364e20f28208747a7c44c93b328037136ac8be930d154",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/unicode.txt",
          "actual_size": 41,
          "actual_sha256": "9006a56ad7a497852555739b403a07fdb3263ecdd15a0b1f10c04e2e63670ff6",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "records/settings.toml",
          "actual_size": 54,
          "actual_sha256": "e935f95dbd2f9271f87b8edc08d9acd29a03656127ffa771f9b0b0d74d133185",
          "hash_match": true,
          "restored_parser": {
            "parser": "tomllib.loads",
            "pass": true
          }
        }
      ],
      "corruption": {
        "target_path": "documents/records.json",
        "pack_id": "80dbf9682d94a77be56dddc74adb13e1896377b9ec61cd18a100d156f0f8687a",
        "data_blob_id": "63e9327b765b916873c7a5cbb188c2676ca10a734d40d66b695b1828d43b16f5",
        "byte_offset": 110,
        "changed_byte_count": 1,
        "pack_size_unchanged": true,
        "pack_bytes": 1781,
        "pack_sha256_before": "80dbf9682d94a77be56dddc74adb13e1896377b9ec61cd18a100d156f0f8687a",
        "pack_sha256_after": "f9d9269d86098daa625daa0a887cdee0f1e5704446c7a5b9406075514e2f05e2"
      }
    },
    {
      "case": "S4",
      "condition": "one required file excluded at backup",
      "snapshot_id": "38b3e42413cd9eac39055836aaece0382b2b8221ab70340bc4fc66ef55ed9880",
      "source_subfolder": "/source",
      "check_exit": 0,
      "read_data_exit": 0,
      "snapshot_list_exit": 0,
      "restore_exit": 0,
      "expected_count": 12,
      "restored_count": 11,
      "inventory_pass": false,
      "missing": [
        "documents/contacts.csv"
      ],
      "unexpected": [],
      "matching_hash_count": 11,
      "all_expected_hashes_match": false,
      "parser_attempted_count": 11,
      "parser_pass_count": 11,
      "parser_failures": [],
      "file_results": [
        {
          "path": "documents/archive.zip",
          "actual_size": 163,
          "actual_sha256": "48e8121cf9e54ba1f34008219349981fb081727b7b3fda3db1853ec8506cf86e",
          "hash_match": true,
          "restored_parser": {
            "parser": "zipfile.ZipFile.testzip + member reads",
            "pass": true
          }
        },
        {
          "path": "documents/catalog.xml",
          "actual_size": 73,
          "actual_sha256": "433ad607fd0d00fa76c5db9dc6a1f8d11319e69b6b1e375c418e33088a5949b2",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/inventory.csv",
          "actual_size": 39,
          "actual_sha256": "beaa6c2d49315f315c437e13574f60321a32c80cabf5813aa51b9f711f3a0ea2",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/reading-list.xml",
          "actual_size": 53,
          "actual_sha256": "bb66a7502f31a2b834eefa26bf9040bf9c1ae7bfefe482c4f61c313a38a92cb7",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/records.json",
          "actual_size": 56,
          "actual_sha256": "63e9327b765b916873c7a5cbb188c2676ca10a734d40d66b695b1828d43b16f5",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "documents/status.json",
          "actual_size": 50,
          "actual_sha256": "dd1e1b0c459e7d1db86841929cec02dbe854fdcb3e82bc360bd261e370203fc8",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "media/tone.wav",
          "actual_size": 1644,
          "actual_sha256": "b961940c6155950a484557e9c5e76060d084b5e99d025aebce031a592635051c",
          "hash_match": true,
          "restored_parser": {
            "parser": "wave.open + all frame reads",
            "pass": true
          }
        },
        {
          "path": "notes/instructions.txt",
          "actual_size": 55,
          "actual_sha256": "62b3168c404542c0ac023a7530bad9712bd7c8cbc7e86b6e3c73e62ec9c0fdc4",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/letter.txt",
          "actual_size": 47,
          "actual_sha256": "b3adf2aa7b7ffaa2dff364e20f28208747a7c44c93b328037136ac8be930d154",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/unicode.txt",
          "actual_size": 41,
          "actual_sha256": "9006a56ad7a497852555739b403a07fdb3263ecdd15a0b1f10c04e2e63670ff6",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "records/settings.toml",
          "actual_size": 54,
          "actual_sha256": "e935f95dbd2f9271f87b8edc08d9acd29a03656127ffa771f9b0b0d74d133185",
          "hash_match": true,
          "restored_parser": {
            "parser": "tomllib.loads",
            "pass": true
          }
        }
      ],
      "excluded_path": "documents/contacts.csv"
    },
    {
      "case": "S5",
      "condition": "older fixed snapshot restored against required current manifest",
      "snapshot_id": "7a8881e06f301535212700dee63e9dd22daa383444cc727fe97859c6e6500e9f",
      "source_subfolder": "/source",
      "check_exit": 0,
      "read_data_exit": 0,
      "snapshot_list_exit": 0,
      "restore_exit": 0,
      "expected_count": 12,
      "restored_count": 12,
      "inventory_pass": true,
      "missing": [],
      "unexpected": [],
      "matching_hash_count": 11,
      "all_expected_hashes_match": false,
      "parser_attempted_count": 12,
      "parser_pass_count": 12,
      "parser_failures": [],
      "file_results": [
        {
          "path": "documents/archive.zip",
          "actual_size": 163,
          "actual_sha256": "48e8121cf9e54ba1f34008219349981fb081727b7b3fda3db1853ec8506cf86e",
          "hash_match": true,
          "restored_parser": {
            "parser": "zipfile.ZipFile.testzip + member reads",
            "pass": true
          }
        },
        {
          "path": "documents/catalog.xml",
          "actual_size": 73,
          "actual_sha256": "433ad607fd0d00fa76c5db9dc6a1f8d11319e69b6b1e375c418e33088a5949b2",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/contacts.csv",
          "actual_size": 55,
          "actual_sha256": "6d075f9770cac6fd67ada5ae9015e77bd77c19e9c3779b5ed5fb39b931b029fa",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/inventory.csv",
          "actual_size": 39,
          "actual_sha256": "beaa6c2d49315f315c437e13574f60321a32c80cabf5813aa51b9f711f3a0ea2",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/reading-list.xml",
          "actual_size": 53,
          "actual_sha256": "bb66a7502f31a2b834eefa26bf9040bf9c1ae7bfefe482c4f61c313a38a92cb7",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/records.json",
          "actual_size": 56,
          "actual_sha256": "63e9327b765b916873c7a5cbb188c2676ca10a734d40d66b695b1828d43b16f5",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "documents/status.json",
          "actual_size": 51,
          "actual_sha256": "5ba58cfcbb75fb9778a35d271ae5437991c40351e3a6d096897d65c996551347",
          "hash_match": false,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "media/tone.wav",
          "actual_size": 1644,
          "actual_sha256": "b961940c6155950a484557e9c5e76060d084b5e99d025aebce031a592635051c",
          "hash_match": true,
          "restored_parser": {
            "parser": "wave.open + all frame reads",
            "pass": true
          }
        },
        {
          "path": "notes/instructions.txt",
          "actual_size": 55,
          "actual_sha256": "62b3168c404542c0ac023a7530bad9712bd7c8cbc7e86b6e3c73e62ec9c0fdc4",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/letter.txt",
          "actual_size": 47,
          "actual_sha256": "b3adf2aa7b7ffaa2dff364e20f28208747a7c44c93b328037136ac8be930d154",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/unicode.txt",
          "actual_size": 41,
          "actual_sha256": "9006a56ad7a497852555739b403a07fdb3263ecdd15a0b1f10c04e2e63670ff6",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "records/settings.toml",
          "actual_size": 54,
          "actual_sha256": "e935f95dbd2f9271f87b8edc08d9acd29a03656127ffa771f9b0b0d74d133185",
          "hash_match": true,
          "restored_parser": {
            "parser": "tomllib.loads",
            "pass": true
          }
        }
      ],
      "newer_snapshot_id": "39a89a2a53267c35d33b403ca642bcdd6a9d36773f83732901a81ec0d3426402",
      "versioned_path": "documents/status.json",
      "old_snapshot_hash_match_count": 12
    },
    {
      "case": "S6",
      "condition": "JSON is invalid before backup",
      "snapshot_id": "32d9636036ca598b89a70e3a0ebe10945b17fad84de715124ed599c521b43393",
      "source_subfolder": "/source",
      "check_exit": 0,
      "read_data_exit": 0,
      "snapshot_list_exit": 0,
      "restore_exit": 0,
      "expected_count": 12,
      "restored_count": 12,
      "inventory_pass": true,
      "missing": [],
      "unexpected": [],
      "matching_hash_count": 12,
      "all_expected_hashes_match": true,
      "parser_attempted_count": 12,
      "parser_pass_count": 11,
      "parser_failures": [
        "documents/records.json"
      ],
      "file_results": [
        {
          "path": "documents/archive.zip",
          "actual_size": 163,
          "actual_sha256": "48e8121cf9e54ba1f34008219349981fb081727b7b3fda3db1853ec8506cf86e",
          "hash_match": true,
          "restored_parser": {
            "parser": "zipfile.ZipFile.testzip + member reads",
            "pass": true
          }
        },
        {
          "path": "documents/catalog.xml",
          "actual_size": 73,
          "actual_sha256": "433ad607fd0d00fa76c5db9dc6a1f8d11319e69b6b1e375c418e33088a5949b2",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/contacts.csv",
          "actual_size": 55,
          "actual_sha256": "6d075f9770cac6fd67ada5ae9015e77bd77c19e9c3779b5ed5fb39b931b029fa",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/inventory.csv",
          "actual_size": 39,
          "actual_sha256": "beaa6c2d49315f315c437e13574f60321a32c80cabf5813aa51b9f711f3a0ea2",
          "hash_match": true,
          "restored_parser": {
            "parser": "csv.reader (strict)",
            "pass": true
          }
        },
        {
          "path": "documents/reading-list.xml",
          "actual_size": 53,
          "actual_sha256": "bb66a7502f31a2b834eefa26bf9040bf9c1ae7bfefe482c4f61c313a38a92cb7",
          "hash_match": true,
          "restored_parser": {
            "parser": "xml.etree.ElementTree.parse",
            "pass": true
          }
        },
        {
          "path": "documents/records.json",
          "actual_size": 55,
          "actual_sha256": "8c525a55f65a2dd90cacc32f98b1499c2c43b85d64446371923290fcc146f15d",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": false,
            "error_type": "JSONDecodeError"
          }
        },
        {
          "path": "documents/status.json",
          "actual_size": 50,
          "actual_sha256": "dd1e1b0c459e7d1db86841929cec02dbe854fdcb3e82bc360bd261e370203fc8",
          "hash_match": true,
          "restored_parser": {
            "parser": "json.loads",
            "pass": true
          }
        },
        {
          "path": "media/tone.wav",
          "actual_size": 1644,
          "actual_sha256": "b961940c6155950a484557e9c5e76060d084b5e99d025aebce031a592635051c",
          "hash_match": true,
          "restored_parser": {
            "parser": "wave.open + all frame reads",
            "pass": true
          }
        },
        {
          "path": "notes/instructions.txt",
          "actual_size": 55,
          "actual_sha256": "62b3168c404542c0ac023a7530bad9712bd7c8cbc7e86b6e3c73e62ec9c0fdc4",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/letter.txt",
          "actual_size": 47,
          "actual_sha256": "b3adf2aa7b7ffaa2dff364e20f28208747a7c44c93b328037136ac8be930d154",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "notes/unicode.txt",
          "actual_size": 41,
          "actual_sha256": "9006a56ad7a497852555739b403a07fdb3263ecdd15a0b1f10c04e2e63670ff6",
          "hash_match": true,
          "restored_parser": {
            "parser": "strict UTF-8 decoder",
            "pass": true
          }
        },
        {
          "path": "records/settings.toml",
          "actual_size": 54,
          "actual_sha256": "e935f95dbd2f9271f87b8edc08d9acd29a03656127ffa771f9b0b0d74d133185",
          "hash_match": true,
          "restored_parser": {
            "parser": "tomllib.loads",
            "pass": true
          }
        }
      ],
      "preexisting_invalid_path": "documents/records.json"
    }
  ]
}
