Replace state.db mtime watching with a cached digest of session projection rows so gateway heartbeat writes no longer trigger false Desktop refreshes. (Cherry-picked from #121396 without its Desktop busy-turn deferral hunk.)
Replace state.db mtime watching with a cached digest of session projection rows so gateway heartbeat writes no longer trigger false Desktop refreshes. (Cherry-picked from #121396 without its Desktop busy-turn deferral hunk.)