diff --git a/src/control_backend/agents/bdi/agentspeak_generator.py b/src/control_backend/agents/bdi/agentspeak_generator.py index 17248a8..d02888a 100644 --- a/src/control_backend/agents/bdi/agentspeak_generator.py +++ b/src/control_backend/agents/bdi/agentspeak_generator.py @@ -171,7 +171,7 @@ class AgentSpeakGenerator: self._astify(to_phase) if to_phase else AstLiteral("phase", [AstString("end")]) ) - context = [from_phase_ast, ~AstLiteral("responded_this_turn")] + context = [from_phase_ast] if from_phase and from_phase.goals: context.append(self._astify(from_phase.goals[-1], achieved=True)) diff --git a/src/control_backend/agents/bdi/bdi_core_agent.py b/src/control_backend/agents/bdi/bdi_core_agent.py index 99bea80..74a747d 100644 --- a/src/control_backend/agents/bdi/bdi_core_agent.py +++ b/src/control_backend/agents/bdi/bdi_core_agent.py @@ -213,6 +213,14 @@ class BDICoreAgent(BaseAgent): agentspeak.runtime.Intention(), ) + # Check for transitions + self.bdi_agent.call( + agentspeak.Trigger.addition, + agentspeak.GoalType.achievement, + agentspeak.Literal("transition_phase"), + agentspeak.runtime.Intention(), + ) + self._wake_bdi_loop.set() self.logger.debug(f"Added belief {self.format_belief_string(name, args)}")