Pulls the MCP idle-timeout progress loop out of TaskMergeService into a standalone ProgressReporter (Lifecycle namespace) shared by the verify gate and preview-verify call sites, and adds a per-item i/n overload (ReportItem) for upcoming batch progress in D2/D3.