Class ProgressProjector
java.lang.Object
com.arc_e_tect.gradle.trackerlens.projection.ProgressProjector
Extrapolates when a tracker will reach its total item count, from the historical rate at which
items have reached its final stage.
The lookback window adapts to how much history is actually available, capped at 90 days, with
a 7-day floor below which no projection is produced at all: a fast-moving team can generate a lot
of signal quickly, and a low-confidence estimate with a visible disclaimer is more useful than
months of silence. Confidence reflects how much of that window was actually available and
is meant to drive free-text disclaimer wording in the dashboard - it is never part of the CSS
contract.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionproject(List<LifecycleRecord> records, String finalStage, int totalCount, Instant now) Projects whenrecordswill collectively reachtotalCountitems atfinalStage.
-
Constructor Details
-
ProgressProjector
public ProgressProjector()Creates a newProgressProjector.
-
-
Method Details
-
project
public Optional<Projection> project(List<LifecycleRecord> records, String finalStage, int totalCount, Instant now) Projects whenrecordswill collectively reachtotalCountitems atfinalStage.- Parameters:
records- the tracker's current recordsfinalStage- the stage that marks an item as completetotalCount- total number of items the tracker is trackingnow- the instant to project from- Returns:
- the projection, or
Optional.empty()when fewer than 7 days of lookback history is available, or when the resulting velocity is zero or negative
-