withDecay static method
Apply decay based on age (for time-sensitive confidence).
Implementation
static double withDecay({
required double baseConfidence,
required Duration age,
required Duration halfLife,
}) {
if (halfLife.inMilliseconds <= 0) return baseConfidence;
final decayFactor =
0.5 * (age.inMilliseconds / halfLife.inMilliseconds).abs();
return baseConfidence * (1.0 - decayFactor).clamp(0.0, 1.0);
}