pub fn remove_stale_locks(project_root: &Path) -> Vec<String>Expand description
Remove this project’s per-phase lock files, skipping any whose recorded
holder PID is still alive — deleting a live holder’s lock would let a
duplicate advance acquire it, after which the original holder’s
LockGuard::Drop deletes the NEW holder’s file.
Returns human-readable warnings for anything skipped or that failed to delete, so callers surface problems instead of reporting a clean sweep that left wedging locks behind.