pub fn last_events_by_phase(
project_root: &Path,
) -> HashMap<u32, PhaseEventSummary>Expand description
The most recent event per phase, from ONE read + parse pass over the log
(14-CR-10) — devflow status renders N phases without N full-file scans.
Each summary’s stage_launched_ts is the newest matching stage_launched
event’s ts, independent of what the latest event overall is: a later
transition, gate_fired, or corrupt line never clears an
already-recorded launch timestamp.