{
  "schema": "checkaifree.image-file-scenes.v1",
  "source": "Three source-defined scenes sharing a project-authored 8×6 RGBA chart. These are file-operation fixtures, not independent photographs or an accuracy benchmark.",
  "computation": {
    "actualHere": "SHA-256 of original sample bytes, supported container/dimension reading and duplicate byte grouping. No pixel decoder runs on the server.",
    "browserDecodedObservation": false,
    "independentPixelReference": {
      "reader": "Pillow 12.3.0 / LittleCMS",
      "source": "Project-authored RGBA fixture v1 and independent reference runs",
      "receiptSha256": "9e4e5e8462f01b1496b5279830af1c61487532dc623ef1068fd0c35cf1bee0c4",
      "textReplacementReceiptSha256": "3dcb99ffb9472072adf11b8b53368f0427dc0197d5b09d3df5412bb29c807afb",
      "scope": "Independent Pillow expectations only. This server summary does not run Canvas or claim an actual Chromium decoded-pixel observation. The browser tool must produce its own reading for selected files."
    }
  },
  "canonicalNames": {
    "original.png": "338-byte metadata-bearing source; Description = Fictional metadata; pixel samples are unchanged.",
    "metadata-edit.png": "330-byte verified chunk-2 tEXt Description replacement: Edited locally for the SHA-256 exercise.",
    "builtinHashSample": {
      "bytes": 266,
      "sha256": "35a2e63eea43294926f80c6edca1f55e49234429ee9f7bf3b343870cf840cd57",
      "note": "The separate 266-byte built-in hash/duplicate base is not the canonical downloadable original.png."
    }
  },
  "scenes": [
    {
      "id": "S-H05-BYTES",
      "inputs": [
        {
          "path": "/samples/image-files/original.png",
          "bytes": 338,
          "sha256": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 338,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 4
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          },
          "localRole": "file-001 / same-name.png"
        },
        {
          "path": "/samples/image-files/original.png",
          "bytes": 338,
          "sha256": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 338,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 4
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          },
          "localRole": "file-002 / renamed-copy.png"
        },
        {
          "path": "/samples/image-files/metadata-edit.png",
          "bytes": 330,
          "sha256": "2fa04e1ba0dbfca6e08b1759c13ef57216bf60da1449337b070f31874f570cec",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 330,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 4
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          },
          "localRole": "file-003 / same-name.png"
        }
      ],
      "actual": {
        "groups": [
          {
            "id": "duplicate-1",
            "hash": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
            "bytes": 338,
            "members": [
              "file-001",
              "file-002"
            ]
          }
        ],
        "rows": [
          {
            "id": "file-001",
            "name": "same-name.png",
            "bytes": 338,
            "status": "hashed",
            "hash": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
            "group": "duplicate-1",
            "error": null
          },
          {
            "id": "file-002",
            "name": "renamed-copy.png",
            "bytes": 338,
            "status": "hashed",
            "hash": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
            "group": "duplicate-1",
            "error": null
          },
          {
            "id": "file-003",
            "name": "same-name.png",
            "bytes": 330,
            "status": "hashed",
            "hash": "2fa04e1ba0dbfca6e08b1759c13ef57216bf60da1449337b070f31874f570cec",
            "group": null,
            "error": null
          }
        ],
        "cancelled": false,
        "matchingHashByteCheck": true
      },
      "failureBranch": "Read failures/cancellation remain rows. No file is deleted and filenames do not determine groups."
    },
    {
      "id": "S-H05-METADATA",
      "inputs": [
        {
          "path": "/samples/image-files/original.png",
          "bytes": 338,
          "sha256": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 338,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 4
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          }
        },
        {
          "path": "/samples/image-files/metadata-edit.png",
          "bytes": 330,
          "sha256": "2fa04e1ba0dbfca6e08b1759c13ef57216bf60da1449337b070f31874f570cec",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 330,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 4
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          }
        }
      ],
      "actual": {
        "bytesEqual": false,
        "originalIdatRetained": true
      },
      "independentPillowExpected": {
        "status": "identical",
        "dimensions": [
          8,
          6
        ],
        "changedPixels": 0,
        "policy": "Oriented sRGB RGBA; zero-alpha RGB normalized to zero; no resizing"
      },
      "browserDecodedObservation": null,
      "failureBranch": "An unsupported or failed decode is unknown, not a match. Different native sizes are not resized."
    },
    {
      "id": "S-H05-PIXEL",
      "inputs": [
        {
          "path": "/samples/image-files/original.png",
          "bytes": 338,
          "sha256": "18c472a1a2280e3b9521780f171d289b09389986236ee9c5f3bd8e5381e64f65",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 338,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 4
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          }
        },
        {
          "path": "/samples/image-files/changed-pixel.png",
          "bytes": 266,
          "sha256": "3a95eddeb54f1c3a20cbc3286f1fb905735b50f72b5c20566fbb14d5db529eb1",
          "servedMime": "image/png",
          "actualContainerReading": {
            "status": "checked",
            "bytes": 266,
            "signature": "png",
            "format": "png",
            "extension": "png",
            "browserMime": "image/png",
            "expectedMime": "image/png",
            "extensionMatch": "match",
            "mimeMatch": "match",
            "structure": {
              "complete": true,
              "limitReached": false,
              "diagnostics": [],
              "units": 3
            },
            "encoded": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "display": {
              "width": 8,
              "height": 6,
              "aspect": "4:3",
              "pixels": "48"
            },
            "orientation": {
              "status": "absent",
              "value": 1,
              "stored": [],
              "warnings": []
            },
            "animation": false,
            "multipleImages": false,
            "withinDecodeLimits": true,
            "warnings": [
              "No EXIF orientation tag was found; display dimensions use the encoded orientation. XMP orientation is not applied.",
              "Container boundaries and selected format rules were checked without decompressing image pixels. A matching extension or MIME does not certify safety or provenance."
            ]
          }
        }
      ],
      "actual": {
        "bytesEqual": false
      },
      "independentPillowExpected": {
        "status": "different",
        "dimensions": [
          8,
          6
        ],
        "changedPixels": 1,
        "changedChannels": 1,
        "maximumChannelDifference": 15,
        "boundingBox": {
          "x": 5,
          "y": 3,
          "width": 1,
          "height": 1
        },
        "firstChangedCoordinate": [
          5,
          3
        ],
        "differenceMap": "Opaque magenta changed pixels; transparent unchanged pixels"
      },
      "browserDecodedObservation": null,
      "failureBranch": "Animation, invalid orientation and decode-size/side limits stop comparison; this is not perceptual similarity or provenance verification."
    }
  ]
}
