pub fn detect(session: &Session) -> Result<State>
Combine all three signals into a single State (precedence: capture-pane gates → transcript).
State