Level-triggered fits agent lifecycles well. If the loop compares what should be running with what is running on every pass, a crashed subagent can't slip through because its exit event got lost, and that's the bug class I keep fighting in my own agent loops. When you rebuilt it, did the desired state live in a file the agents could read, or only inside the orchestrator?