              d_align.setdefault(align_fname, {}).setdefault(source_name, []).append(full_info)
              all_versions.setdefault(align_fname, []).append(meta["source"]["alignments_version"])
  
          alignments = self._sort_alignments(d_align)
          self._save_alignments(alignments, versions)
  
      @classmethod
 
</s> remove         self._save_alignments(alignments)
        if skip_count > 1:
            logger.warning("%s of %s files skipped that do not contain valid alignment data",
                           skip_count, len(self._filelist))
            logger.warning("Run the process in verbose mode to see which files were skipped")
 </s> add         self._save_alignments(alignments, versions) </s> remove             full_info = (f_idx, alignment, filename, meta["itxt"]["source"])
 </s> add             full_info = (f_idx, alignment, filename, meta["source"]) </s> remove             if "itxt" not in meta or "alignments" not in meta["itxt"]:
                logger.verbose("skipping invalid file: '%s'", filename)  # type:ignore
                skip_count += 1
                continue

            align_fname = self._get_alignments_filename(meta["itxt"]["source"])
 </s> add             align_fname = self._get_alignments_filename(meta["source"]) </s> remove                     this_file[frame].append(almt)
 </s> add                     this_file[frame]["faces"].append(almt)
        versions = {k: min(v) for k, v in all_versions.items()}
              d_align.setdefault(align_fname, {}).setdefault(source_name, []).append(full_info)
              all_versions.setdefault(align_fname, []).append(meta["source"]["alignments_version"])
  
        versions = {k: min(v) for k, v in all_versions.items()}
          alignments = self._sort_alignments(d_align)
          self._save_alignments(alignments, versions)
  
      @classmethod
keep keep add keep keep keep keep
 alignments tool - Remove-face - Minor update 
tools/alignments/jobs_faces.py