decide owns when the flush is written, the stdin closes, a signal goes out and the run ends. The loop reads the clock once per event, ends on the child's exit (a waitpid thread) as well as on stdout EOF, and never signals a child that already exited. The flush's turn begins at the first result after the flush is written: the headroom counts only later requests and the grace runs from the flush write. The child runs in its own process group and signals go to the group. Tests: tables over decide, an enumeration of event orders against an oracle, the Yggdrasil probe shapes through a real child. Builds; every test passes.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>