Prune deleted rows from ProjectManager.file_cache and notify listeners.
V2 client: does not walk ProjectFiles or FolderFiles (no cleanup_deleted — callers ProjectFiles.refresh after delete). Emits on_cleanup when finished.