127d2ee87a
Follow-up to the salvaged #57943: a wedged npm (dead registry, network blackhole) ran unbounded inside asyncio.to_thread, holding the photon connect path hostage. Cap npm ci / npm install at 600s; on timeout, log and leave the stale deps in place so the readiness check reports the real error and the next reconnect tick retries.