Check for updates using only a fresh local cache entry.
This is the startup fast path: it never contacts PyPI. Stale, missing, corrupt, or unparsable cache data is treated as "no cached update answer" so callers can launch immediately and let a background update check refresh the cache later.