Opus finding
BasePlatform.running raises ValueError on unknown action, killing the platform task irrecoverably
highbughigh
- backend/wonderwall/simulations/base.py:171-196
If an agent calls an unsupported action name (a typo, a renamed tool, an LLM hallucinating a method), BasePlatform.running raises and the entire message loop terminates. The pending request never gets a response, so `BaseAction.perform_action`'s `await self.channel.read_from_send_queue(message_id)` hangs forever, blocking the agent's `astep`. This converts a per-action error into a process-wide deadlock.
Recommendation
Instead of raising, return an error response via the channel: `await self.channel.send_to((message_id, agent_id, {"success": False, "error": f"Unknown action {action_name}"}))` and continue the loop.