pub fn list_states(project_root: &Path) -> Vec<State>Expand description
Enumerate every active phase state, sorted by phase number.
Unparsable state files are skipped with a warning rather than failing the
whole listing — status/recover must degrade, not die, on one corrupt
file.