From 62522cb192b5e02ed3317ca260e135f0b37df485 Mon Sep 17 00:00:00 2001 From: ahcrm-core Date: Sun, 20 Sep 2026 18:23:26 -0500 Subject: [PATCH] test(engine): pin hazard-first merge refusal --- tests/test_engine_worktree.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tests/test_engine_worktree.py b/tests/test_engine_worktree.py index 7a2be287..6464b809 100644 --- a/tests/test_engine_worktree.py +++ b/tests/test_engine_worktree.py @@ -5827,11 +5827,13 @@ def test_merge_stray_dirt_escalates_with_clear_message(project): # which is the exact verb (`unlink`) this guard performs on incoming strays. assert "Unity" not in reason assert "clean them" not in reason + assert "could commit under the story's name" in reason + assert "would fold them" not in reason assert "Commit, stash or revert" in reason # the two SAFE resolutions, named assert ".gitignore" in reason # the inner GitError still names the exact path # The composed message says which half of the dirt actually blocks a merge. Note # the inner GitError carries "tracked" too, so this one does not by itself pin the - # OUTER wording — "Commit, stash or revert" above is the assertion that does. + # OUTER wording — the hazard-first assertion above is the one that does. assert "tracked" in reason # branch kept for manual merge; the operator's edit was left untouched assert branch_exists(project.project, "bmad-loop/test-run/1-1-a")