4a6362192d
The package-root override branch of `resolveCanonicalPiSpecifier` returned the bunfs override path without checking the target was actually present, so when `bun --compile` quietly dropped one of the extra entrypoints (observed on macOS arm64 release binaries), the static rewrite emitted a `file://` URL to a missing module. The #1216 fallback only fired on the throwing `getResolvedSpecifier` path, so the override never threw and the rewrite committed the bad URL — extensions silently failed to load. Each override target is now checked with `fs.existsSync` at module init. Missing entries are dropped from `LEGACY_PI_PACKAGE_ROOT_OVERRIDES` so `resolveCanonicalPiSpecifier` falls through to `getResolvedSpecifier`, which throws under bunfs and triggers the existing rewrite catch — Bun then resolves the canonical `@oh-my-pi/pi-*` specifier from the extension's own `node_modules`. Fixes #2168