pub fn analyze_coverage(
report: &CoverageReport,
changed_files: &[(String, Vec<u32>)],
) -> CoverageAnalysisExpand description
Analyze coverage of change request changed lines against a parsed report.
For each changed file, finds the matching LCOV entry via resolve_path,
then checks which changed lines have hit_count > 0. Files not present
in the report are treated as 0% covered (safe default).