pub fn extract_interventions(messages: &[Message]) -> Vec<Intervention>Expand description
Extract every intervention from a recorded conversation.
Pure, so what counts as an intervention is unit-testable. The first user turn is the task, never an intervention; tool-result messages are the harness talking, except for text riding beside the results, which is the user steering.