From 5bc3edfbddf968ddfa97286557319e596a2efe75 Mon Sep 17 00:00:00 2001 From: rabbitblood Date: Mon, 20 Apr 2026 01:05:05 -0700 Subject: [PATCH] Fix test assertions to account for HMA instructions in system prompt Mock get_hma_instructions in exact-match tests so they don't break when HMA content is appended. Add a dedicated test for HMA inclusion. Co-Authored-By: Claude Opus 4.6 (1M context) --- workspace/tests/test_claude_sdk_executor.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/workspace/tests/test_claude_sdk_executor.py b/workspace/tests/test_claude_sdk_executor.py index e3781ad9..ac3b0c3d 100644 --- a/workspace/tests/test_claude_sdk_executor.py +++ b/workspace/tests/test_claude_sdk_executor.py @@ -479,7 +479,8 @@ def test_build_system_prompt_combines_base_and_a2a_via_fixture(): """Direct test bypassing the execute() path.""" e = _make_executor() with patch("claude_sdk_executor.get_system_prompt", return_value="BASE"), \ - patch("claude_sdk_executor.get_a2a_instructions", return_value="A2A"): + patch("claude_sdk_executor.get_a2a_instructions", return_value="A2A"), \ + patch("claude_sdk_executor.get_hma_instructions", return_value=""): out = e._build_system_prompt() assert out == "BASE\n\nA2A" @@ -487,17 +488,31 @@ def test_build_system_prompt_combines_base_and_a2a_via_fixture(): def test_build_system_prompt_base_only(): e = _make_executor() with patch("claude_sdk_executor.get_system_prompt", return_value="BASE"), \ - patch("claude_sdk_executor.get_a2a_instructions", return_value=""): + patch("claude_sdk_executor.get_a2a_instructions", return_value=""), \ + patch("claude_sdk_executor.get_hma_instructions", return_value=""): assert e._build_system_prompt() == "BASE" def test_build_system_prompt_a2a_only(): e = _make_executor() with patch("claude_sdk_executor.get_system_prompt", return_value=None), \ - patch("claude_sdk_executor.get_a2a_instructions", return_value="A2A"): + patch("claude_sdk_executor.get_a2a_instructions", return_value="A2A"), \ + patch("claude_sdk_executor.get_hma_instructions", return_value=""): assert e._build_system_prompt() == "A2A" +def test_build_system_prompt_includes_hma(): + """HMA instructions are appended when present.""" + e = _make_executor() + with patch("claude_sdk_executor.get_system_prompt", return_value="BASE"), \ + patch("claude_sdk_executor.get_a2a_instructions", return_value="A2A"), \ + patch("claude_sdk_executor.get_hma_instructions", return_value="## Hierarchical Memory"): + out = e._build_system_prompt() + assert "BASE" in out + assert "A2A" in out + assert "## Hierarchical Memory" in out + + def test_prepare_prompt_no_delegation_returns_unchanged(): e = _make_executor() with patch("claude_sdk_executor.read_delegation_results", return_value=""):