{
  "scope": "Real official PhotoCraft 0.7.0 CLI engine tests on three generated feature fixtures. Not GUI or Photoshop-authored-file tests.",
  "binary": {
    "name": "Official PhotoCraft CLI v0.7.0",
    "bytes": 127901392,
    "sha256": "31ce1ee017b76f3b0f97c6166dcb60e8607189b3f123be64f8cf93c2e42f7f2d"
  },
  "environment": {
    "macos": "15.5",
    "machine": "arm64",
    "python": "3.12.14",
    "psd_tools": "1.24.0",
    "pillow": "12.3.0"
  },
  "command_reference": "Actual --help and commands --json registry from the tested official binary; no command parameters guessed.",
  "samples": [
    {
      "id": "01-pixel-layers",
      "source": {
        "path": "practice/source/01-pixel-layers.psd",
        "bytes": 82899,
        "sha256": "5795ae6d859adf305d7d819a8a3e938c4a2d7494fe4f6b554fb7850813add64e"
      },
      "expected_png": {
        "path": "practice/source/01-pixel-layers-expected.png",
        "bytes": 1855,
        "sha256": "8f3bc7e970c3c541d3be2a87885c09eff73c572086868bf31e2c9753049583b9"
      },
      "steps": [
        {
          "label": "source-info",
          "evidence": "practice/evidence/cli-psd-01-pixel-layers-source-info.json",
          "exit_code": 0
        },
        {
          "label": "direct-png",
          "evidence": "practice/evidence/cli-psd-01-pixel-layers-direct-png.json",
          "exit_code": 0
        },
        {
          "label": "save-psd",
          "evidence": "practice/evidence/cli-psd-01-pixel-layers-save-psd.json",
          "exit_code": 0
        },
        {
          "label": "saved-info",
          "evidence": "practice/evidence/cli-psd-01-pixel-layers-saved-info.json",
          "exit_code": 0
        },
        {
          "label": "reopened-png",
          "evidence": "practice/evidence/cli-psd-01-pixel-layers-reopened-png.json",
          "exit_code": 0
        }
      ],
      "all_cli_commands_succeeded": true,
      "input_unchanged": true,
      "input_psd_independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 3,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Teal rectangle",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Orange circle",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          }
        ]
      },
      "direct_png": {
        "path": "practice/output/01-pixel-layers-cli.png",
        "bytes": 2552,
        "sha256": "a06786790058af934cc9f6e665b6628f8eb0c2cbdf34bff7a14eced2b0036976"
      },
      "direct_png_vs_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      },
      "saved_psd": {
        "path": "practice/output/01-pixel-layers-cli-roundtrip.psd",
        "bytes": 53880,
        "sha256": "5c2188c63458c1bf52789358c4589060763c77bd84a90a001587dcbbf42ae79e"
      },
      "saved_psd_independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 3,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Teal rectangle",
            "kind": "pixel",
            "bbox": [
              60,
              80,
              331,
              321
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Orange circle",
            "kind": "pixel",
            "bbox": [
              270,
              110,
              501,
              341
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          }
        ]
      },
      "layer_count_preserved": true,
      "layer_kinds_preserved": true,
      "mask_presence_preserved": true,
      "text_strings_preserved": true,
      "reopened_png": {
        "path": "practice/output/01-pixel-layers-cli-roundtrip.png",
        "bytes": 2552,
        "sha256": "a06786790058af934cc9f6e665b6628f8eb0c2cbdf34bff7a14eced2b0036976"
      },
      "reopened_png_vs_direct_png": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      },
      "reopened_png_vs_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      }
    },
    {
      "id": "02-text-layer",
      "source": {
        "path": "practice/source/02-text-layer.psd",
        "bytes": 78269,
        "sha256": "f04b5742624cc1fc7756cc378cda6ce4faca79b87682de6460bf099c9d0247af"
      },
      "expected_png": {
        "path": "practice/source/02-text-layer-expected.png",
        "bytes": 3331,
        "sha256": "cc5582951de95b485920959f960f8e0ff32e6349c510052f568290954b8ce47a"
      },
      "steps": [
        {
          "label": "source-info",
          "evidence": "practice/evidence/cli-psd-02-text-layer-source-info.json",
          "exit_code": 0
        },
        {
          "label": "direct-png",
          "evidence": "practice/evidence/cli-psd-02-text-layer-direct-png.json",
          "exit_code": 0
        },
        {
          "label": "save-psd",
          "evidence": "practice/evidence/cli-psd-02-text-layer-save-psd.json",
          "exit_code": 0
        },
        {
          "label": "saved-info",
          "evidence": "practice/evidence/cli-psd-02-text-layer-saved-info.json",
          "exit_code": 0
        },
        {
          "label": "reopened-png",
          "evidence": "practice/evidence/cli-psd-02-text-layer-reopened-png.json",
          "exit_code": 0
        }
      ],
      "all_cli_commands_succeeded": true,
      "input_unchanged": true,
      "input_psd_independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "EDIT ME \u2014 editable text",
            "kind": "type",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false,
            "text": "EDIT ME",
            "transform": [
              1.0,
              0.0,
              0.0,
              1.0,
              60.0,
              180.0
            ],
            "engine_data_text": "EDIT ME\r",
            "fonts": [
              "AdobeInvisFont",
              "ArialMT"
            ],
            "font_size_px": 60.0
          }
        ]
      },
      "direct_png": {
        "path": "practice/output/02-text-layer-cli.png",
        "bytes": 3898,
        "sha256": "7b624ff7a16c19ff01d7cd174eca75fe5b642e1bfb3eb2dac922061865805b9d"
      },
      "direct_png_vs_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": false,
        "different_pixels": 883,
        "maximum_channel_difference": 28,
        "mean_absolute_channel_difference": 0.033181640625,
        "difference_bbox": [
          64,
          137,
          301,
          180
        ]
      },
      "saved_psd": {
        "path": "practice/output/02-text-layer-cli-roundtrip.psd",
        "bytes": 60621,
        "sha256": "1ed69ca6496e84284dd70242918229a04000f763478eaf7545b00dde519ac6da"
      },
      "saved_psd_independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "EDIT ME \u2014 editable text",
            "kind": "type",
            "bbox": [
              64,
              137,
              301,
              180
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false,
            "text": "EDIT ME",
            "transform": [
              1.0,
              0.0,
              0.0,
              1.0,
              60.0,
              180.0
            ],
            "engine_data_text": "EDIT ME\r",
            "fonts": [
              "AdobeInvisFont",
              "ArialMT"
            ],
            "font_size_px": 60.0
          }
        ]
      },
      "layer_count_preserved": true,
      "layer_kinds_preserved": true,
      "mask_presence_preserved": true,
      "text_strings_preserved": true,
      "expected_png_note": "Expected PNG is a Pillow-generated cached raster placeholder, not a Photoshop reference export. PhotoCraft rerenders the real editable type layer; its text string, 60px font size and (60,180) text transform remain intact. The observed pixel differences are confined to the text region and are not a roundtrip drift.",
      "reopened_png": {
        "path": "practice/output/02-text-layer-cli-roundtrip.png",
        "bytes": 3898,
        "sha256": "7b624ff7a16c19ff01d7cd174eca75fe5b642e1bfb3eb2dac922061865805b9d"
      },
      "reopened_png_vs_direct_png": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      },
      "reopened_png_vs_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": false,
        "different_pixels": 883,
        "maximum_channel_difference": 28,
        "mean_absolute_channel_difference": 0.033181640625,
        "difference_bbox": [
          64,
          137,
          301,
          180
        ]
      }
    },
    {
      "id": "03-layer-mask",
      "source": {
        "path": "practice/source/03-layer-mask.psd",
        "bytes": 62372,
        "sha256": "62180cbc20d6658cd10191315a47bc6cc5b35874885e655fbce4e2751abd56a6"
      },
      "expected_png": {
        "path": "practice/source/03-layer-mask-expected.png",
        "bytes": 1983,
        "sha256": "6301192bbcd014cc1aa860508d9334752e61faca053f83828bfdbb66323d8ca3"
      },
      "steps": [
        {
          "label": "source-info",
          "evidence": "practice/evidence/cli-psd-03-layer-mask-source-info.json",
          "exit_code": 0
        },
        {
          "label": "direct-png",
          "evidence": "practice/evidence/cli-psd-03-layer-mask-direct-png.json",
          "exit_code": 0
        },
        {
          "label": "save-psd",
          "evidence": "practice/evidence/cli-psd-03-layer-mask-save-psd.json",
          "exit_code": 0
        },
        {
          "label": "saved-info",
          "evidence": "practice/evidence/cli-psd-03-layer-mask-saved-info.json",
          "exit_code": 0
        },
        {
          "label": "reopened-png",
          "evidence": "practice/evidence/cli-psd-03-layer-mask-reopened-png.json",
          "exit_code": 0
        }
      ],
      "all_cli_commands_succeeded": true,
      "input_unchanged": true,
      "input_psd_independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Teal fill with circular mask",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": true,
            "mask": {
              "stored_size": [
                640,
                400
              ],
              "bbox": [
                0,
                0,
                640,
                400
              ],
              "background_color": 0,
              "disabled": false,
              "extrema": [
                0,
                255
              ],
              "document_coordinate_samples": {
                "corner_0_0": 0,
                "center_320_200": 255
              }
            }
          }
        ]
      },
      "direct_png": {
        "path": "practice/output/03-layer-mask-cli.png",
        "bytes": 2815,
        "sha256": "5f0b63fa5c1632878d97faf32bcbc177165545f280a9ad5e8014e0d1a37f8eae"
      },
      "direct_png_vs_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      },
      "saved_psd": {
        "path": "practice/output/03-layer-mask-cli-roundtrip.psd",
        "bytes": 60214,
        "sha256": "685c77ea9d2c11b57cdcf1455c979d1dd2c0e57247f13c98195bdbb8ce62c0df"
      },
      "saved_psd_independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Teal fill with circular mask",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": true,
            "mask": {
              "stored_size": [
                321,
                321
              ],
              "bbox": [
                160,
                40,
                481,
                361
              ],
              "background_color": 0,
              "disabled": false,
              "extrema": [
                0,
                255
              ],
              "document_coordinate_samples": {
                "corner_0_0": 0,
                "center_320_200": 255
              }
            }
          }
        ]
      },
      "layer_count_preserved": true,
      "layer_kinds_preserved": true,
      "mask_presence_preserved": true,
      "text_strings_preserved": true,
      "mask_pixels_preserved_in_document_coordinates": true,
      "underlying_fill_pixels_preserved": true,
      "mask_storage_note": "PhotoCraft cropped the stored mask bitmap to its non-black bounds; after applying its document offset and black background, all mask pixels remain identical.",
      "reopened_png": {
        "path": "practice/output/03-layer-mask-cli-roundtrip.png",
        "bytes": 2815,
        "sha256": "5f0b63fa5c1632878d97faf32bcbc177165545f280a9ad5e8014e0d1a37f8eae"
      },
      "reopened_png_vs_direct_png": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      },
      "reopened_png_vs_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      }
    }
  ],
  "feature_edits": [
    {
      "feature": "Replace imported editable text EDIT ME with EDIT OK",
      "command_id": "edit.findAndReplaceText",
      "params": {
        "find": "EDIT ME",
        "replace": "EDIT OK",
        "action": "changeAll",
        "caseSensitive": true,
        "wholeWord": false,
        "allLayers": true
      },
      "exit_code": 0,
      "command_evidence": "practice/evidence/cli-psd-text-edit.json",
      "saved_psd": {
        "path": "practice/output/02-text-layer-cli-edited.psd",
        "bytes": 57623,
        "sha256": "2726cbaa538517c1c08d8d34a782d14cd95d597a6f95689328fccad51ef1e929"
      },
      "independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "EDIT ME \u2014 editable text",
            "kind": "type",
            "bbox": [
              63,
              136,
              300,
              182
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false,
            "text": "EDIT OK",
            "transform": [
              1.0,
              0.0,
              0.0,
              1.0,
              60.0,
              180.0
            ],
            "engine_data_text": "EDIT OK\r",
            "fonts": [
              "AdobeInvisFont",
              "ArialMT"
            ],
            "font_size_px": 60.0
          }
        ]
      },
      "type_layer_remains_editable_metadata": true,
      "reopen_info_exit_code": 0,
      "render_exit_code": 0,
      "rendered_png": {
        "path": "practice/output/02-text-layer-cli-edited.png",
        "bytes": 5541,
        "sha256": "dad088208f71141ecd0f0e2c6511e1bbf656a8dc6d6fbab67e2beb3c264b4484"
      },
      "edited_png_vs_original_cli_png": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": false,
        "different_pixels": 2902,
        "maximum_channel_difference": 211,
        "mean_absolute_channel_difference": 1.044416015625,
        "difference_bbox": [
          64,
          136,
          301,
          181
        ]
      }
    },
    {
      "feature": "Disable imported mask",
      "command_id": "layer.layerMask.enabled",
      "params": {
        "enabled": false
      },
      "exit_code": 0,
      "saved_psd": {
        "path": "practice/output/03-layer-mask-cli-disabled.psd",
        "bytes": 56974,
        "sha256": "ecaed7e51bbb0007a171e63dda660b2eb959c9309a19fec06af7ef7c7b26f48b"
      },
      "independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Teal fill with circular mask",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": true,
            "mask": {
              "stored_size": [
                321,
                321
              ],
              "bbox": [
                160,
                40,
                481,
                361
              ],
              "background_color": 0,
              "disabled": true,
              "extrema": [
                0,
                255
              ],
              "document_coordinate_samples": {
                "corner_0_0": 0,
                "center_320_200": 255
              }
            }
          }
        ]
      },
      "mask_retained": true,
      "mask_disabled_flag": true,
      "reopen_info_exit_code": 0,
      "render_exit_code": 0,
      "rendered_png": {
        "path": "practice/output/03-layer-mask-cli-disabled.png",
        "bytes": 1608,
        "sha256": "17b2e4fce6297b99b99285f10b1da1f7ec069c408169eb77d2d1e2e436ae8c29"
      },
      "disabled_mask_renders_entire_teal_fill": true
    },
    {
      "feature": "Re-enable imported mask",
      "command_id": "layer.layerMask.enabled",
      "params": {
        "enabled": true
      },
      "exit_code": 0,
      "saved_psd": {
        "path": "practice/output/03-layer-mask-cli-reenabled.psd",
        "bytes": 60214,
        "sha256": "685c77ea9d2c11b57cdcf1455c979d1dd2c0e57247f13c98195bdbb8ce62c0df"
      },
      "independent_inspection": {
        "dimensions": [
          640,
          400
        ],
        "bits_per_channel": 8,
        "color_mode": "RGB",
        "layer_count": 2,
        "layers": [
          {
            "name": "Background \u2014 pale sky",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": false
          },
          {
            "name": "Teal fill with circular mask",
            "kind": "pixel",
            "bbox": [
              0,
              0,
              640,
              400
            ],
            "visible": true,
            "has_pixels": true,
            "has_mask": true,
            "mask": {
              "stored_size": [
                321,
                321
              ],
              "bbox": [
                160,
                40,
                481,
                361
              ],
              "background_color": 0,
              "disabled": false,
              "extrema": [
                0,
                255
              ],
              "document_coordinate_samples": {
                "corner_0_0": 0,
                "center_320_200": 255
              }
            }
          }
        ]
      },
      "mask_retained": true,
      "mask_disabled_flag": false,
      "reopen_info_exit_code": 0,
      "render_exit_code": 0,
      "rendered_png": {
        "path": "practice/output/03-layer-mask-cli-reenabled.png",
        "bytes": 2815,
        "sha256": "5f0b63fa5c1632878d97faf32bcbc177165545f280a9ad5e8014e0d1a37f8eae"
      },
      "reenabled_png_vs_original_expected": {
        "dimensions_match": true,
        "dimensions": [
          640,
          400
        ],
        "exact_match": true,
        "different_pixels": 0,
        "maximum_channel_difference": 0,
        "mean_absolute_channel_difference": 0.0,
        "difference_bbox": null
      }
    }
  ],
  "download_archive": {
    "filename": "photocraft-cli-0.7.0-macos-universal.zip",
    "bytes": 64701365,
    "sha256": "caf41eee1827ef740bc4495fb1fee77f6a4e0be82fb131106ad06cd591fd8091"
  }
}
