REPO was os.path.join(HERE, '..', '..'), and HERE is <root>/library/scripts/posters
-- so REPO resolved to <root>/library, not the repo root. Both outputs went to
directories nothing reads and nothing serves:
library/plugin-designs/<profile>/assets/previews/ instead of plugin-designs/...
library/data/posters/ instead of data/posters/
★ IT REPORTED SUCCESS WHILE DOING NOTHING USEFUL, which is what makes it worth a
commit of its own. The script printed "[make-previews] N posters" and its two
destination lines, wrote genuine WebPs, and exited 0. Only the files were in a
tree no build stages, so the SERVED previews never changed.
MEASURED, on one poster, before and after:
before the regenerated thumbnail was byte-identical to the shipped one
(same sha256, git status clean) -- 0 pixels changed
after sha differs, git sees both files modified, and 52.9% of the
thumbnail's pixels differ (21.1% by more than 40/255, max delta 255)
Found by DRY-RUNNING this step on a single already-shot poster instead of
discovering it after a 174-sheet reshoot. Without the fix that reshoot would have
produced 174 correct WebPs in the wrong tree, the walls would have kept their old
teal thumbnails, and the landing would have looked complete: a teal thumbnail
over a hued print, which is the exact defect the reshoot exists to remove.
The three-level form is what the other scripts in this folder already use to
reach the root; this one was the odd one out.