code: def get_proposed_feature(project):
      
      change_collector = ChangeCollector(project)
      collected_changes = change_collector.collect_changes()
      try:
          new_feature_info = one_or_raise(collected_changes.new_feature_info)
          importer, _, _ = new_feature_info
      except ValueError:
          raise BalletError('Too many features collected')
      module = importer()
      feature = _get_contrib_feature_from_module(module)
      return feature
docs: Get the proposed feature
  
      The path of the proposed feature is determined by diffing the project
      against a comparison branch, such as master. The feature is then imported
      from that path and returned.
  
      Args:
          project (ballet.project.Project): project info
  
      Raises:
          ballet.exc.BalletError: more than one feature collected