{
  "version": "2026-10-15",
  "kind": "Synthetic SVG software fixtures, not camera photographs",
  "files": [
    {
      "name": "reference.svg",
      "note": "Original geometric test chart.",
      "size": 458,
      "sha256": "e07762ee42804677d7ebefe867a4fda1a75ab24202c83b00f2cf0a60ff69cf5c"
    },
    {
      "name": "identical-copy.svg",
      "note": "Exact copy; only the filename is different.",
      "size": 458,
      "sha256": "e07762ee42804677d7ebefe867a4fda1a75ab24202c83b00f2cf0a60ff69cf5c"
    },
    {
      "name": "metadata-change.svg",
      "note": "One metadata byte changed. Drawing instructions unchanged.",
      "size": 458,
      "sha256": "43ee433b78ac877a6b85bd842ffe55e70ca37e9af8ae056814c02ee40d6e7f02"
    },
    {
      "name": "visible-change.svg",
      "note": "One color byte changed; same byte count, different drawing.",
      "size": 458,
      "sha256": "bea9da3a75701cef2d52df87f5a0a901567b7c510542afb06cea5e5bfa937cb5"
    },
    {
      "name": "truncated.svg",
      "note": "Only the first 200 bytes retained; deliberately incomplete XML.",
      "size": 200,
      "sha256": "0c6625061c55153a78e5845724e1d3afa975c37dfb10f32d9e2848fa7d033c81"
    }
  ],
  "cases": [
    {
      "id": "identical",
      "a": "reference.svg",
      "b": "identical-copy.svg",
      "equal": true,
      "label": "Identical copy",
      "lesson": "A new filename did not change the contents. Opening the image is still a separate check."
    },
    {
      "id": "metadata",
      "a": "reference.svg",
      "b": "metadata-change.svg",
      "equal": false,
      "label": "Metadata-only change",
      "lesson": "The drawing commands are unchanged, but one metadata byte differs. A mismatch alone is not a corruption diagnosis."
    },
    {
      "id": "visible",
      "a": "reference.svg",
      "b": "visible-change.svg",
      "equal": false,
      "label": "Same size, different drawing",
      "lesson": "One color byte differs. Equal file sizes did not establish identical contents."
    },
    {
      "id": "truncated",
      "a": "reference.svg",
      "b": "truncated.svg",
      "equal": false,
      "label": "Truncated file",
      "lesson": "The comparison detects different contents, not the cause. This supplied fixture is deliberately incomplete."
    },
    {
      "id": "broken-match",
      "a": "truncated.svg",
      "b": "truncated.svg",
      "equal": true,
      "label": "Two identical broken inputs",
      "lesson": "Identical contents can still be invalid image data. A match is not an image-health check."
    }
  ]
}
