Skip to main content

validate_recency_bias

Function validate_recency_bias 

Source
pub fn validate_recency_bias(
    recency_bias: Option<f32>,
) -> Result<Option<f32>, CoercionError>
Expand description

Validate a recency_bias parameter is within acceptable bounds.

The recency_bias parameter controls temporal decay in semantic search. Invalid values can cause exponential growth (negatives), underflow to zero (extreme values), or corrupt rankings (NaN, Infinity).

§Arguments

  • recency_bias - The recency_bias value to validate (None means disabled)

§Returns

  • Ok(Some(value)) - The validated recency_bias value
  • Ok(None) - If recency_bias was None (disabled)
  • Err(CoercionError) with helpful message if invalid

§Valid Range

  • [0.0, 10.0] - 0.0 disables decay, 10.0 is maximum practical decay rate
  • Rejects: negative values, NaN, Infinity, NegInfinity

§Example

use post_cortex::daemon::validate::validate_recency_bias;

// Valid values
assert_eq!(validate_recency_bias(Some(0.0)).unwrap(), Some(0.0));
assert_eq!(validate_recency_bias(Some(0.5)).unwrap(), Some(0.5));
assert_eq!(validate_recency_bias(Some(10.0)).unwrap(), Some(10.0));
assert_eq!(validate_recency_bias(None).unwrap(), None);

// Invalid values
assert!(validate_recency_bias(Some(-1.0)).is_err());
assert!(validate_recency_bias(Some(f32::NAN)).is_err());
assert!(validate_recency_bias(Some(f32::INFINITY)).is_err());