diff --git a/ade_bench/handlers/trial_handler.py b/ade_bench/handlers/trial_handler.py index 864878e5..7b5fc55d 100644 --- a/ade_bench/handlers/trial_handler.py +++ b/ade_bench/handlers/trial_handler.py @@ -164,6 +164,7 @@ def __init__( task_key: str = "base", variant_config: dict | None = None, agent_name = None, + run_discriminator: str = "", ): self.trial_name = trial_name self.input_path = input_path @@ -171,6 +172,7 @@ def __init__( self.task_key = task_key self.variant_config = variant_config or {} self.agent_name = agent_name + self._run_discriminator = run_discriminator self._logger = logger.getChild(__name__) self.task = Task.from_yaml(self._task_config_path) @@ -216,7 +218,10 @@ def docker_image_prefix(self) -> str: @property def client_container_name(self) -> str: - return f"{self.trial_name}__client".replace(".", "-") + base = self.trial_name.replace(".", "-") + if self._run_discriminator: + return f"{base}__{self._run_discriminator}__client" + return f"{base}__client" @property def client_image_name(self) -> str: diff --git a/ade_bench/harness.py b/ade_bench/harness.py index c4a07390..d8232746 100644 --- a/ade_bench/harness.py +++ b/ade_bench/harness.py @@ -1,4 +1,5 @@ import asyncio +import hashlib import logging import shutil import subprocess @@ -1182,6 +1183,7 @@ def _execute_single_trial( Returns: TrialResults: The results of the trial execution """ + run_discriminator = hashlib.sha256(self._run_id.encode()).hexdigest()[:6] trial_handler = TrialHandler( trial_name=trial_name, input_path=task_path, @@ -1189,6 +1191,7 @@ def _execute_single_trial( task_key=task_key, variant_config=config, agent_name=self._agent_name, + run_discriminator=run_discriminator, ) try: