From 3c8ee0a529c3d47498da52d35d9cefb2f8a1825a Mon Sep 17 00:00:00 2001 From: peter Date: Tue, 20 Jan 2026 21:06:06 +0100 Subject: [PATCH] Change employment overlaps to informational only - Rename "Employment Overlap" to "Concurrent Employment" - Remove score penalty for overlaps (often legitimate: part-time, consulting, transitions) - Change severity from Warning/Critical to Info - Update scoring explanation to note overlaps are not penalised Co-Authored-By: Claude Opus 4.5 --- .../Jobs/ProcessCVCheckJob.cs | 17 ++++++----------- src/TrueCV.Web/Components/Pages/Report.razor | 2 +- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs b/src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs index c119f8e..70c517c 100644 --- a/src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs +++ b/src/TrueCV.Infrastructure/Jobs/ProcessCVCheckJob.cs @@ -397,22 +397,17 @@ public sealed class ProcessCVCheckJob }); } - // Penalty for overlaps (only if > 2 months) + // Note overlaps - these are often legitimate (part-time, consulting, transitions) + // Only flag as informational, no score penalty foreach (var overlap in timeline.Overlaps) { - var excessMonths = Math.Max(0, overlap.Months - 2); // Allow 2 month transition, prevent negative - var overlapPenalty = excessMonths * OverlapMonthPenalty; - score -= overlapPenalty; - - var severity = overlap.Months >= 6 ? FlagSeverity.Critical : FlagSeverity.Warning; - flags.Add(new FlagResult { Category = FlagCategory.Timeline.ToString(), - Severity = severity.ToString(), - Title = "Employment Overlap", - Description = $"{overlap.Months} month overlap between '{overlap.Company1}' and '{overlap.Company2}' ({overlap.OverlapStart:MMM yyyy} to {overlap.OverlapEnd:MMM yyyy})", - ScoreImpact = -overlapPenalty + Severity = FlagSeverity.Info.ToString(), + Title = "Concurrent Employment", + Description = $"Worked at both '{overlap.Company1}' and '{overlap.Company2}' simultaneously for {overlap.Months} months ({overlap.OverlapStart:MMM yyyy} to {overlap.OverlapEnd:MMM yyyy})", + ScoreImpact = 0 }); } diff --git a/src/TrueCV.Web/Components/Pages/Report.razor b/src/TrueCV.Web/Components/Pages/Report.razor index a3a4888..3bc1e6f 100644 --- a/src/TrueCV.Web/Components/Pages/Report.razor +++ b/src/TrueCV.Web/Components/Pages/Report.razor @@ -200,7 +200,7 @@
  • Director claims not verified: -20 pts each
  • Employment before company existed: -20 pts
  • Employment gaps: -1 to -10 pts per gap
  • -
  • Excessive overlaps: -2 pts per month
  • +
  • Concurrent employment is noted but not penalised