docs: def _find_countour_yaml(start, checked, names=None):
      """Traverse the directory tree identified by start
      until a directory already in checked is encountered or the path
      of countour.yaml is found.
  
      Checked is present both to make the loop termination easy
      to reason about and so the same directories do not get
      rechecked
  
      Args:
          start: the path to start looking in and work upward from
          checked: the set of already checked directories
  
      Returns:
          the path of the countour.yaml file or None if it is not found
      """
      extensions = []
  
      if names:
          for name in names:
              if not os.path.splitext(name)[1]:
                  extensions.append(name + ".yaml")
                  extensions.append(name + ".yml")
  
      yaml_names = (names or []) + CONTOUR_YAML_NAMES + extensions
      directory = start
  
      while directory not in checked:
          checked.add(directory)
  
          for fs_yaml_name in yaml_names:
              yaml_path = os.path.join(directory, fs_yaml_name)
  
              if os.path.exists(yaml_path):
                  return yaml_path
  
          directory = os.path.dirname(directory)
  
      return