16ddbbc628
Fixes #17971 When initSessionState() reads the session store, use skipCache: true to ensure fresh data from disk. The session store cache is process-local and uses mtime-based invalidation, which can fail in these scenarios: 1. Multiple gateway processes (each has separate in-memory cache) 2. Windows file system where mtime granularity may miss rapid writes 3. Race conditions between messages 6-8 seconds apart Symptoms: 134+ orphaned .jsonl transcript files, each with only 1 exchange. Session rotates on every incoming message even when sessionKey is stable. Root cause: loadSessionStore() returns stale cache → entry not found for sessionKey → new sessionId generated → new transcript file. The fix ensures session identity (sessionId) is always resolved from the latest on-disk state, not potentially-stale cache.