# Validation record — 0.1.1 review candidate

Verified environment: Blender **4.5.3 LTS**, build `67807e1800cc`, on macOS Apple Silicon (arm64). This is the only verified test combination for this review build. Windows, Linux, other Blender versions, third-party renderers and customer projects are untested.

## Automated behavior checks

- 15 filesystem tests: relative/absolute paths, unresolved paths, exact case-sensitive names, duplicate names, symlink exclusions, deterministic ordering, finite file/entry limits, access/root errors and CSV formula escaping.
- 36 tests running in real Blender: shared/nested material/world mapping, resource holds, unique/ambiguous candidates, stale identity/path checks, repair/restore, corrupt candidate rejection, batch rollback, colorspace preservation, project save/base changes, frozen confirmation snapshots and dirty-pixel protection.
- Independent spec review identified and verified fixes for changed relative-path meaning after Save As and changed selections during a confirmation dialog.
- Independent code review identified unsaved image pixel loss through reload; the implementation now holds dirty images and checks again immediately before mutation.

The original demo has two missing images affecting three objects. The actual add-on API repaired both references, rendered the repaired scene, restored both original references and verified the saved `.blend` SHA256 was unchanged. Before/after images use the same scene, camera and lighting.

## Extension packaging and native UI acceptance — 2026-10-04

The 0.1.1 ZIP uses Blender's standard extension format, including `blender_manifest.toml`, SPDX GPL-3.0-or-later licensing and a declared local-file permission. It was built and validated with Blender 4.5.3's official extension CLI. No network permission is requested. The previous 0.1.0 legacy package remains archived and is superseded for review.

The packaged extension was installed through Preferences > Install from Disk and visibly enabled in Blender. In the original demo, the actual sidebar scan found two missing images; a chosen local folder produced exact-name candidates. Selecting both rows opened a confirmation dialog showing both old and replacement paths. Confirming repaired both images, displayed both as OK and restored the visible textures. Restore Last Repairs showed a separate confirmation, restored both original paths and returned the scene to its original missing-texture state. CSV export through the native dialog produced two expected rows with object/material mappings. The saved demo SHA256 remained unchanged. Screenshots and the exported report are retained in the local validation evidence.

These observed mouse-driven checks resolve the earlier native-UI validation gap. The computer-control connection initially had focus/window-targeting failures; rebinding and raising the intended window resolved them. Narrow sidebar labels may be truncated; the confirmation dialogs show the full tested paths. This validation covers the stated environment and demo, not every user project, operating system or renderer. No independent buyer validation is claimed.

## Reproduce

```sh
python3 -m unittest discover -s tests -p test_core.py
Blender --background --factory-startup --python-exit-code 1 --python tests/test_blender.py
Blender --background --factory-startup --python-exit-code 1 --python demo/create_demo.py
Blender --background --factory-startup --python-exit-code 1 --python demo/verify_demo.py
```

The add-on runs offline without network access or external Python dependencies. Creating this local candidate does not mean Superhive accepted it, a public listing exists, or a buyer has paid.
