From a6c6a4b0cae4a0c54735db518b8480f17605c987 Mon Sep 17 00:00:00 2001 From: Simon Rosenberg Date: Mon, 2 Mar 2026 17:23:39 -0300 Subject: [PATCH 1/2] Fix prompt template path listing when CWD differs from project root `p.relative_to(Path.cwd())` raises ValueError when the current working directory is not an ancestor of the prompt directory. Use `str(p)` with the already-resolved absolute path instead. Co-Authored-By: Claude Opus 4.6 --- benchmarks/commit0/run_infer.py | 2 +- benchmarks/multiswebench/run_infer.py | 2 +- benchmarks/swebench/run_infer.py | 2 +- benchmarks/swebenchmultimodal/run_infer.py | 2 +- benchmarks/swefficiency/run_infer.py | 2 +- benchmarks/swtbench/run_infer.py | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/benchmarks/commit0/run_infer.py b/benchmarks/commit0/run_infer.py index 36af180a5..552e2fe5c 100644 --- a/benchmarks/commit0/run_infer.py +++ b/benchmarks/commit0/run_infer.py @@ -594,7 +594,7 @@ def evaluate_instance( def main() -> None: prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p.relative_to(Path.cwd())) for p in prompt_dir.glob("*.j2")] + choices = [str(p) for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found" diff --git a/benchmarks/multiswebench/run_infer.py b/benchmarks/multiswebench/run_infer.py index ec5137a2d..7280ee485 100644 --- a/benchmarks/multiswebench/run_infer.py +++ b/benchmarks/multiswebench/run_infer.py @@ -405,7 +405,7 @@ def evaluate_instance( def main() -> None: prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p.relative_to(Path.cwd())) for p in prompt_dir.glob("*.j2")] + choices = [str(p) for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found" diff --git a/benchmarks/swebench/run_infer.py b/benchmarks/swebench/run_infer.py index 231de93e9..36c8c6568 100644 --- a/benchmarks/swebench/run_infer.py +++ b/benchmarks/swebench/run_infer.py @@ -350,7 +350,7 @@ def evaluate_instance( def main() -> None: prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p.relative_to(Path.cwd())) for p in prompt_dir.glob("*.j2")] + choices = [str(p) for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found" diff --git a/benchmarks/swebenchmultimodal/run_infer.py b/benchmarks/swebenchmultimodal/run_infer.py index 6a1b533a7..cf2daf713 100644 --- a/benchmarks/swebenchmultimodal/run_infer.py +++ b/benchmarks/swebenchmultimodal/run_infer.py @@ -403,7 +403,7 @@ def evaluate_instance( def main() -> None: prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p.relative_to(Path.cwd())) for p in prompt_dir.glob("*.j2")] + choices = [str(p) for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found" diff --git a/benchmarks/swefficiency/run_infer.py b/benchmarks/swefficiency/run_infer.py index cf5a902d2..b07b11de6 100644 --- a/benchmarks/swefficiency/run_infer.py +++ b/benchmarks/swefficiency/run_infer.py @@ -396,7 +396,7 @@ def evaluate_instance( def main() -> None: prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p.relative_to(Path.cwd())) for p in prompt_dir.glob("*.j2")] + choices = [str(p) for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found" diff --git a/benchmarks/swtbench/run_infer.py b/benchmarks/swtbench/run_infer.py index 36b78f265..93f890116 100644 --- a/benchmarks/swtbench/run_infer.py +++ b/benchmarks/swtbench/run_infer.py @@ -339,7 +339,7 @@ def evaluate_instance( def main() -> None: """Main entry point for SWT-bench evaluation.""" prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p.relative_to(Path.cwd())) for p in prompt_dir.glob("*.j2")] + choices = [str(p) for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found" From f16ec4ea92cbe2c7bf294906fad821e381c0e055 Mon Sep 17 00:00:00 2001 From: simonrosenberg <157206163+simonrosenberg@users.noreply.github.com> Date: Tue, 3 Mar 2026 01:24:29 -0300 Subject: [PATCH 2/2] Update benchmarks/swebench/run_infer.py Co-authored-by: OpenHands Bot --- benchmarks/swebench/run_infer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/benchmarks/swebench/run_infer.py b/benchmarks/swebench/run_infer.py index 36c8c6568..e410ca8bd 100644 --- a/benchmarks/swebench/run_infer.py +++ b/benchmarks/swebench/run_infer.py @@ -350,7 +350,7 @@ def evaluate_instance( def main() -> None: prompt_dir = (Path(__file__).parent / "prompts").resolve() - choices = [str(p) for p in prompt_dir.glob("*.j2")] + choices = [p.name for p in prompt_dir.glob("*.j2")] default_prompt_path = prompt_dir / "default.j2" assert default_prompt_path.exists(), ( f"Default prompt {default_prompt_path} not found"