diff --git a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py index 3585209..465125d 100644 --- a/src/control_backend/agents/user_interrupt/user_interrupt_agent.py +++ b/src/control_backend/agents/user_interrupt/user_interrupt_agent.py @@ -106,8 +106,8 @@ class UserInterruptAgent(BaseAgent): "Forwarded button press (override) with context '%s' to BDI Core.", event_context, ) - else: - await self._send_to_program_manager(event_context) + elif asl_cond_norm := self._cond_norm_map.get(ui_id): + await self._send_to_bdi("force_norm", asl_cond_norm) self.logger.info( "Forwarded button press (override) with context '%s' to BDIProgramManager.", event_context, diff --git a/test/unit/agents/bdi/test_bdi_program_manager.py b/test/unit/agents/bdi/test_bdi_program_manager.py index 50dc4ed..644c23b 100644 --- a/test/unit/agents/bdi/test_bdi_program_manager.py +++ b/test/unit/agents/bdi/test_bdi_program_manager.py @@ -95,7 +95,9 @@ async def test_receive_programs_valid_and_invalid(): assert forwarded.phases[0].goals[0].name == "G1" # Verify history clear was triggered - assert manager._send_clear_llm_history.await_count == 1 + assert ( + manager._send_clear_llm_history.await_count == 2 + ) # first sends program to UserInterrupt, then clears LLM @pytest.mark.asyncio