From 5289d0846763d400a5baf41e9b0384c0cc9d2fb9 Mon Sep 17 00:00:00 2001 From: Simon Dold Date: Wed, 29 Jul 2026 14:23:05 +0200 Subject: [PATCH 1/3] add exit code 13 'search-unsolvable-within-bound'. --- downward/outcomes.py | 1 + examples/downward/project.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/downward/outcomes.py b/downward/outcomes.py index 1b1e4adbe..588d00873 100644 --- a/downward/outcomes.py +++ b/downward/outcomes.py @@ -40,6 +40,7 @@ def get_exit_code(signal_value): Outcome(10, "translate-unsolvable", explained=True, min_wins=False), Outcome(11, "search-unsolvable", explained=True, min_wins=False), Outcome(12, "search-unsolved-incomplete", explained=True, min_wins=None), + Outcome(13, "search-unsolvable-within-bound", explained=True, min_wins=None), Outcome(20, "translate-out-of-memory", explained=True, min_wins=True), Outcome(21, "translate-out-of-time", explained=True, min_wins=True), Outcome(22, "search-out-of-memory", explained=True, min_wins=True), diff --git a/examples/downward/project.py b/examples/downward/project.py index 69896760e..93bde196e 100644 --- a/examples/downward/project.py +++ b/examples/downward/project.py @@ -399,7 +399,7 @@ def check_initial_h_value(run): def check_search_started(run): if "search_start_time" not in run: error = run.get("error") - if error not in ["search-unsolved-incomplete", "translate-out-of-memory"]: + if error not in ["search-unsolved-incomplete", "search-unsolvable-within-bound", "translate-out-of-memory"]: tools.add_unexplained_error(run, f"search not started due to {error}") return True From c8adf9fe4e866c9aa48cddf0192be1c49da663db Mon Sep 17 00:00:00 2001 From: Simon Dold Date: Wed, 29 Jul 2026 16:04:48 +0200 Subject: [PATCH 2/3] remove unsolvable-within-bound from explained error list. --- examples/downward/project.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/downward/project.py b/examples/downward/project.py index 93bde196e..69896760e 100644 --- a/examples/downward/project.py +++ b/examples/downward/project.py @@ -399,7 +399,7 @@ def check_initial_h_value(run): def check_search_started(run): if "search_start_time" not in run: error = run.get("error") - if error not in ["search-unsolved-incomplete", "search-unsolvable-within-bound", "translate-out-of-memory"]: + if error not in ["search-unsolved-incomplete", "translate-out-of-memory"]: tools.add_unexplained_error(run, f"search not started due to {error}") return True From 031335a663112f678705e4ef5f841d5eebcc16ab Mon Sep 17 00:00:00 2001 From: Claudia Grundke Date: Thu, 30 Jul 2026 16:46:00 +0200 Subject: [PATCH 3/3] Update example. --- examples/downward/2020-09-11-A-cg-vs-ff.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/downward/2020-09-11-A-cg-vs-ff.py b/examples/downward/2020-09-11-A-cg-vs-ff.py index 2a383a2a3..dfdda274b 100755 --- a/examples/downward/2020-09-11-A-cg-vs-ff.py +++ b/examples/downward/2020-09-11-A-cg-vs-ff.py @@ -29,8 +29,8 @@ (f"{index:02d}-{h_nick}", ["--search", f"eager_greedy([{h}])"]) for index, (h_nick, h) in enumerate( [ - ("cg", "cg(transform=adapt_costs(one))"), - ("ff", "ff(transform=adapt_costs(one))"), + ("cg", "eval_modify_costs(cg(), cost_type=one)"), + ("ff", "eval_modify_costs(ff(), cost_type=one)"), ], start=1, )