feat(kpi): GetLatestRollupHourAsync watermark seam for the backfill fast-path (plan R2-04 T2)

This commit is contained in:
Joseph Doherty
2026-07-13 09:44:57 -04:00
parent 29c1286943
commit a1c7c4ef26
4 changed files with 54 additions and 0 deletions
@@ -191,6 +191,9 @@ public class KpiHistoryRecorderActorTests : TestKit
lock (_gate) { _rollupPurgeCutoff = before; }
return Task.CompletedTask;
}
public Task<DateTime?> GetLatestRollupHourAsync(CancellationToken cancellationToken = default) =>
Task.FromResult<DateTime?>(null);
}
/// <summary>
@@ -237,6 +240,9 @@ public class KpiHistoryRecorderActorTests : TestKit
public Task PurgeRollupsOlderThanAsync(DateTime before, CancellationToken cancellationToken = default) =>
Task.CompletedTask;
public Task<DateTime?> GetLatestRollupHourAsync(CancellationToken cancellationToken = default) =>
Task.FromResult<DateTime?>(null);
}
/// <summary>
@@ -283,6 +289,9 @@ public class KpiHistoryRecorderActorTests : TestKit
public Task PurgeRollupsOlderThanAsync(DateTime before, CancellationToken cancellationToken = default) =>
Task.CompletedTask;
public Task<DateTime?> GetLatestRollupHourAsync(CancellationToken cancellationToken = default) =>
Task.FromResult<DateTime?>(null);
}
/// <summary>
@@ -340,6 +349,9 @@ public class KpiHistoryRecorderActorTests : TestKit
public Task PurgeRollupsOlderThanAsync(DateTime before, CancellationToken cancellationToken = default) =>
Task.CompletedTask;
public Task<DateTime?> GetLatestRollupHourAsync(CancellationToken cancellationToken = default) =>
Task.FromResult<DateTime?>(null);
}
private IServiceProvider BuildServiceProvider(