improve agent context inheritance

This commit is contained in:
AI Christianson 2025-02-27 10:31:55 -05:00
parent 6c85a39bbb
commit 9403b8c57f
3 changed files with 18 additions and 22 deletions

View File

@ -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.

View File

@ -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

View File

@ -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