66a56cc337
Passive tile reconciles (reconcileTileTranscripts on every sessions.changed tick) were cold-starting pooled backends for every open bot tile, including hidden ones, and holding each spawned slot for its lifetime via the 10s touch loop. With 15-20+ profiles this permanently saturated the Warm Bot Backends pool so interactive opens timed out. Add a passive read intent: getLatestSessionMessages now accepts a passive flag forwarded as HermesApiRequest.passive. The Electron main process honors it by serving only already-warm pool entries and failing fast otherwise, without spawning or bumping lastActiveAt. reconcileTileTranscripts uses passive reads so background refresh never consumes a pool slot; interactive opens keep the normal spawn path.