def _evaluate_one_repetition(
    scenario_name: str,
    scenario_config: scenarios_lib.ScenarioConfig,
    repetition_idx: int,
) -> logging_lib.SimulationOutcome:
  """Evaluates the agent on one scenario, one repetition.

  Args:
    scenario_name: name of the scenario
    scenario_config: config for the scenario
    repetition_idx: index of the repetition

  Returns:
    SimulationOutcome object with the results of the evaluation.
  """
  measurements = measurements_lib.Measurements()
  runnable_simulation = scenarios_lib.build_simulation(
      scenario_config=scenario_config,
      model=model,
      focal_agent_module=agent_module,
      embedder=embedder,
      measurements=measurements,
      override_agent_model=call_limit_wrapper.CallLimitLanguageModel(model),
      seed=args.seed + repetition_idx,
  )
  # Run the simulation
  outcome, text_results_log = runnable_simulation()
  # Write the full text log as an HTML file in the current working directory.
  html_filename = (
      f'{results_dir}/{scenario_name}__{repetition_idx}__'
      + datetime.datetime.now().strftime('%Y-%m-%d_%H:%M:%S')
      + '.html'
  )
  with open(html_filename, 'a', encoding='utf-8') as f:
    f.write(text_results_log)
  return outcome
Evaluates the agent on one scenario, one repetition.

  Args:
    scenario_name: name of the scenario
    scenario_config: config for the scenario
    repetition_idx: index of the repetition

  Returns:
    SimulationOutcome object with the results of the evaluation.
  
examples/deprecated/modular/launch_concordia_challenge_evaluation.py