Treat an aborted Codex turn as ended when reading child rollouts
main·
Commit

The rollout reader only closed a turn on task_complete. A turn_aborted (a user interrupt, or a Codex daemon restart that aborts the turn and resumes in a new one) left it open, so the next task_started read as an overlapping start and invalidated every terminal turn in the rollout: the child was never seen complete again and its task record stayed in flight until session end. turn_aborted now closes the turn like task_complete, with the same turn-id checks.
Co-Authored-By: Claude Opus 5.5 noreply@anthropic.com Entire-Checkpoint: 01M43E0Y11F0PDCDZA8D0B94Y5
Checkpoints
Checkpoint 1