The initial wait loop used proc.wait(timeout=0.5) which could raise subprocess.TimeoutExpired and crash the runner. Added a try/except and increased timeout to 5s so the runner polls correctly without crashing. Generated with [Devin](https://devin.ai) Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>