code: def live_dirs(self):
      
      # The only caller of this function is the workdir cleaning pipeline. It is not clear that the previous_results_dir
      # should be returned for that purpose. And, by the time this is called, the contents have already been copied.
      if self.has_results_dir:
        yield self.results_dir
        yield self.current_results_dir
        if self.has_previous_results_dir:
          yield self.previous_results_dir
docs: Yields directories that must exist for this VersionedTarget to function.