Implement the core orchestration logic in Ava to spawn and monitor pi-orchestrate.sh.
Use the bash scripts directly instead of waiting for Haskell conversion:
pi-orchestrate.sh as subprocessdata WorkerState
= Idle
| Working TaskId ProcessHandle ThreadId -- task, process, output reader
| Failed TaskId Text
data OrchestratorEvent
= StartTask TaskId
| WorkerOutput Text -- line from stdout
| WorkerFinished ExitCode
| UserMessage Text
1. Spawn pi-orchestrate.sh with task ID 2. Fork thread to read stdout line by line 3. Parse key lines (phase changes, completion) 4. Send Telegram updates at key points 5. Handle completion/failure