The orchestrator may stop processing messages before all actors have finished.
The runUntilQuiescent loop checks quiescence after processing one message per actor. If new messages arrive during processing (e.g., from child actors), they may not be detected before the quiescence check.
1. Re-read message counts after all processing in an iteration 2. Use fsnotify to watch for new messages instead of polling 3. Add a settling delay before checking quiescence 4. Track in-flight messages explicitly