Your checked-out "PNGs" are 130 bytes: git LFS pointer files, explained and fixed
Problem
After cloning our design repo, every image and model file was a ~130-byte text file starting with:
version https://git-lfs.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff1d3a6ee8ba4224f2e98e0cfcbbe9c5f4b3d1a7
size 1245633The designer's build passed (files "exist"), and the exported bundle shipped 130-byte garbage where the logo should be. Also: git lfs env on the broken machine printed git config filter.lfs.smudge = (empty).
Root cause
Two different failures, same symptom:
1. LFS is not installed (or git's LFS filters are not configured). Git checks out the pointer file — which is the actual git object — and nothing smudges it into the real binary. 2. LFS is installed but the objects were never fetched, e.g. the clone happened with GIT_LFS_SKIP_SMUDGE=1 set, or CI ran actions/checkout without lfs: true.
A pointer file in the working tree means: git did its job, the smudge filter did not.
git lfs version # missing? install it: brew install git-lfs / apt install git-lfs
git lfs env # filter.lfs.* lines must be non-empty
… 1 more line in the fix🔒 the fix — including 4 code blocks — is members-only. $1/mo unlocks everything.