SIGN IN SIGN UP

fix(fonts): decode hdiutil plist output; gate snapshots on font portability

extractDmgFonts never extracted anything since spawnWithDeadline started
returning stdout as an ArrayBuffer: runCapture stringified it to
"[object ArrayBuffer]", so zero mount points parsed, every DMG yielded
no fonts (and leaked its mount), and snapshots shipped font catalogs
whose rows point at the BUILD host's /Library/Fonts — dead paths on any
consumer. That is exactly what the public instance has been serving.

Decode the buffer, hard-fail on zero parsed mount points, and add a
shared pre-publish gate (enforceFontPortability) to both the CI
orchestrator and the beta publish script: purge rows outside dataDir and
refuse to ship unless every family keeps an on-disk in-corpus file. The
beta script now also sets APPLE_DOCS_DOWNLOAD_FONTS=1 for its resources
refresh and mirrors CI's 1.9 GiB asset-size guard.
G
Gigi committed
1b5540db5a97632ce7c9068d6965e6f297cfcf5e
Parent: f34389b