namespace SeaHaven.DataServices.Interfaces { public sealed class WeekRolledProcessOutcome { public bool Processed { get; init; } public bool Skipped { get; init; } public int OldCarriedOver { get; init; } public int NewCarriedOver { get; init; } } public sealed class PastDueRefreshResult { public int SetCount { get; init; } public int ClearedCount { get; init; } public int ExaminedCount { get; init; } } public interface IWorkOrderDomainJobDataService { Task> GetWeekRolledCandidatesAsync( DateOnly sourceWeekStart, DateOnly sourceWeekEnd, int batchSize = 500, CancellationToken cancellationToken = default); Task TryProcessWeekRolledAsync( int workOrderId, DateOnly sourceWeekStart, string correlationId, CancellationToken cancellationToken = default); Task RefreshPastDueFlagsAsync( DateTime utcNow, int batchSize = 500, CancellationToken cancellationToken = default); } }