diff --git a/ra_aid/agent_context.py b/ra_aid/agent_context.py index 8148963..f52adf0 100644 --- a/ra_aid/agent_context.py +++ b/ra_aid/agent_context.py @@ -23,12 +23,8 @@ class AgentContext: self.completion_message = "" self.agent_should_exit = False - # Inherit state from parent if provided - if parent_context: - self.task_completed = parent_context.task_completed - self.plan_completed = parent_context.plan_completed - self.completion_message = parent_context.completion_message - self.agent_should_exit = parent_context.agent_should_exit + # Note: Completion flags (task_completed, plan_completed, completion_message, + # agent_should_exit) are no longer inherited from parent contexts def mark_task_completed(self, message: str) -> None: """Mark the current task as completed. diff --git a/ra_aid/tests/ra_aid/test_agent_context.py b/ra_aid/tests/ra_aid/test_agent_context.py index a2a5da4..db4f119 100644 --- a/ra_aid/tests/ra_aid/test_agent_context.py +++ b/ra_aid/tests/ra_aid/test_agent_context.py @@ -221,12 +221,12 @@ class TestAgentContext: assert context.completion_message == "" def test_context_inheritance(self): - """Test that child contexts inherit state from parent contexts.""" + """Test that child contexts do not inherit completion flags from parent contexts.""" parent = AgentContext() parent.mark_task_completed("Parent task completed") child = AgentContext(parent_context=parent) - assert child.task_completed is True - assert child.completion_message == "Parent task completed" + assert child.task_completed is False + assert child.completion_message == "" def test_mark_task_completed(self): """Test marking a task as completed.""" @@ -290,16 +290,16 @@ class TestContextManager: parent = AgentContext() parent.mark_task_completed("Parent task") with agent_context(parent_context=parent) as ctx: - assert ctx.task_completed is True - assert ctx.completion_message == "Parent task" + assert ctx.task_completed is False + assert ctx.completion_message == "" def test_context_manager_inheritance(self): - """Test that nested contexts inherit from outer contexts by default.""" + """Test that nested contexts do not inherit completion flags from outer contexts.""" with agent_context() as outer: outer.mark_task_completed("Outer task") with agent_context() as inner: - assert inner.task_completed is True - assert inner.completion_message == "Outer task" + assert inner.task_completed is False + assert inner.completion_message == "" inner.mark_plan_completed("Inner plan") # Outer context should not be affected by inner context changes assert outer.task_completed is True diff --git a/tests/ra_aid/test_agent_context.py b/tests/ra_aid/test_agent_context.py index b14d401..52198b0 100644 --- a/tests/ra_aid/test_agent_context.py +++ b/tests/ra_aid/test_agent_context.py @@ -27,12 +27,12 @@ class TestAgentContext: assert context.completion_message == "" def test_context_inheritance(self): - """Test that child contexts inherit state from parent contexts.""" + """Test that child contexts do not inherit completion flags from parent contexts.""" parent = AgentContext() parent.mark_task_completed("Parent task completed") child = AgentContext(parent_context=parent) - assert child.task_completed is True - assert child.completion_message == "Parent task completed" + assert child.task_completed is False + assert child.completion_message == "" def test_mark_task_completed(self): """Test marking a task as completed.""" @@ -96,16 +96,16 @@ class TestContextManager: parent = AgentContext() parent.mark_task_completed("Parent task") with agent_context(parent_context=parent) as ctx: - assert ctx.task_completed is True - assert ctx.completion_message == "Parent task" + assert ctx.task_completed is False + assert ctx.completion_message == "" def test_context_manager_inheritance(self): - """Test that nested contexts inherit from outer contexts by default.""" + """Test that nested contexts do not inherit completion flags from outer contexts.""" with agent_context() as outer: outer.mark_task_completed("Outer task") with agent_context() as inner: - assert inner.task_completed is True - assert inner.completion_message == "Outer task" + assert inner.task_completed is False + assert inner.completion_message == "" inner.mark_plan_completed("Inner plan") # Outer context should not be affected by inner context changes assert outer.task_completed is True