code: def _warn_about_suspicious_changes(self):
      for add in sorted(self.config_mods.added):
          if not set(iter_prefixes(add)).intersection(
              self.captured_args
          ):
              if self.path:
                  add = join_paths(self.path, add)
              raise ConfigAddedError(add, config=self.config)
          else:
              self.logger.warning('Added new config entry: "%s"' % add)
  
      for key, (
          type_old,
          type_new,
      ) in self.config_mods.typechanged.items():
          if type_old in (int, float) and type_new in (int, float):
              continue
          self.logger.warning(
              'Changed type of config entry "%s" from %s to %s'
              % (key, type_old.__name__, type_new.__name__)
          )
  
      for cfg_summary in self.summaries:
          for key in cfg_summary.ignored_fallbacks:
              self.logger.warning(
                  'Ignored attempt to set value of "%s", because it is an '
                  "ingredient." % key
              )
  
imports: import os
  from collections import OrderedDict, defaultdict
  from copy import copy, deepcopy
  from sacred.config import ConfigDict, chain_evaluate_config_scopes, dogmatize, load_config_file, undogmatize
  from sacred.config.config_summary import ConfigSummary
  from sacred.config.custom_containers import make_read_only
  from sacred.host_info import get_host_info
  from sacred.randomness import create_rnd, get_seed
  from sacred.run import Run
  from sacred.utils import convert_to_nested_dict, create_basic_stream_logger, get_by_dotted_path, is_prefix, rel_path, iterate_flattened, set_by_dotted_path, recursive_update, iter_prefixes, join_paths, NamedConfigNotFoundError, ConfigAddedError
  from sacred.settings import SETTINGS
label_desc: Use image node_id 11 for calling the Scaffold obj's underlying member method code with example usage: obj._warn_about_suspicious_changes() without return types