start_many mapped every read error on the marker to None via .ok(), so the agent went down the rebuild path while the log blamed a stale rev. A missing marker stays silent; any other error now logs the path and error. Control flow is unchanged.