pub fn attribute_root_causes(
episodes_out: &mut [DebugEpisode],
episode_count: usize,
eval_out: &[SignalEvaluation],
num_signals: usize,
num_windows: usize,
service_graph: &[(u16, u16)],
slew_delta: f64,
)Expand description
Walk the service-call graph and stamp each closed episode with its most-upstream contributing signal index, if determinable.
eval_out must be the same buffer that run_evaluation populated.
service_graph is a slice of (parent_signal_idx, child_signal_idx)
pairs. Empty graph → no attribution.