Skip to main content

aggregate_episodes

Function aggregate_episodes 

Source
pub fn aggregate_episodes(
    policy_states: &[PolicyState],
    num_signals: usize,
    num_windows: usize,
    reason_codes: &[ReasonCode],
    drift_directions: &[DriftDirection],
    slew_magnitudes: &[f64],
    correlation_window: u64,
    episodes_out: &mut [DebugEpisode],
) -> usize
Expand description

Aggregate per-window policy evaluations into episodes.

An episode opens when any signal transitions to Review or Escalate. An episode closes when all signals return to Silent/Watch for correlation_window consecutive windows.

§Arguments

  • policy_states - per-window, per-signal policy states (row-major: [window][signal])
  • num_signals - number of signals per window
  • num_windows - number of windows
  • reason_codes - per-window, per-signal reason codes
  • correlation_window - windows of silence required to close an episode
  • episodes_out - output buffer for episodes

§Returns

Number of episodes written