Fix: FileInfo.Length returns a stale size for a file that is still being written on Windows
FileInfo caches its size, enumeration reads NTFS's lazily updated directory entry, and the writer may still hold bytes in its own buffers. Refresh(), or better, read the length from a shared handle with RandomAccess.GetLength.