anchor.diff:    ) async {
       try {
         developer.log('Purging unused files from disk cache');
  -
  -      // TODO this can yeet just_audio .part files while they are useful
   
         final List<String> deletionCandidates = await _listDeletionCandidates(songsToPreserve, imagesToPreserve);
         final List<int> sizes = await Future.wait(deletionCandidates.map((path) async {
  
positive.code:     final targetFile = getAudioLocation(host, path);
      try {
        _lru.upsert(targetFile.path);
        await source.copy(targetFile.path);
      } catch (e) {
        developer.log('Error while adding audio to disk cache: $path', error: e);
      }
  
negative.code:         final String path = deletionCandidates.removeAt(0);
          final io.File file = io.File(path);
          final stat = await file.stat();
          final isPartFile = p.extension(file.path) == 'part';
          final isStale = stat.modified.difference(DateTime.now()) > const Duration(hours: 1);
          if (isPartFile && !isStale) {
            continue;
          }
          await file.delete();
          _lru.data.remove(path);
          cacheSize -= stat.size;
  