{
  "tested_on": "2026-09-27",
  "input": "One original synthetic RGB card; no portrait or portal upload",
  "environment": {
    "python": "3.12.14",
    "pillow": "12.3.0"
  },
  "method": "Save one 600 x 840 PNG; copy its bytes to a .jpg filename; separately decode PNG and encode JPEG at quality 90, subsampling 0, optimize false. Compare encoded bytes and decoded RGB hashes.",
  "settings": {
    "pixels": [
      600,
      840
    ],
    "png_compress_level": 6,
    "jpeg_quality": 90,
    "jpeg_subsampling": 0,
    "jpeg_optimize": false
  },
  "limitations": [
    "Not a portal acceptance test",
    "Not a recommended photo size or quality setting",
    "A single synthetic image cannot establish typical portrait byte sizes",
    "No portrait quality or application outcome was evaluated"
  ],
  "results": [
    {
      "file": "source.png",
      "detected_format": "PNG",
      "bytes": 23846,
      "width": 600,
      "height": 840,
      "mode": "RGB",
      "first_8_bytes_hex": "89 50 4e 47 0d 0a 1a 0a",
      "file_sha256": "3b78b089a9684f983950ff9551e464a7a84f9f3a82df38bf55f2a1d8f3086509",
      "decoded_rgb_sha256": "35e3f4c18566d0f45e737d4248e5f1591595d67bef5752a7903e5cf8c237f5af",
      "decoded_pixels_equal_source": true
    },
    {
      "file": "renamed-only.jpg",
      "detected_format": "PNG",
      "bytes": 23846,
      "width": 600,
      "height": 840,
      "mode": "RGB",
      "first_8_bytes_hex": "89 50 4e 47 0d 0a 1a 0a",
      "file_sha256": "3b78b089a9684f983950ff9551e464a7a84f9f3a82df38bf55f2a1d8f3086509",
      "decoded_rgb_sha256": "35e3f4c18566d0f45e737d4248e5f1591595d67bef5752a7903e5cf8c237f5af",
      "decoded_pixels_equal_source": true
    },
    {
      "file": "converted-quality90.jpg",
      "detected_format": "JPEG",
      "bytes": 102762,
      "width": 600,
      "height": 840,
      "mode": "RGB",
      "first_8_bytes_hex": "ff d8 ff e0 00 10 4a 46",
      "file_sha256": "605e604a6e7d502dd779cccd1b8eb39953858aad40fcebe691b45d5e9cda6e9e",
      "decoded_rgb_sha256": "9d580b9d8075311dc8bd3a682acaa00a5566a3469b1d9c1105a6f4a6fc2451a6",
      "decoded_pixels_equal_source": false
    }
  ]
}
