pub fn heuristic_title(text: &str) -> String
Instant offline title from the first user message.
Strips common filler, keeps 3–8 content words, caps length. Good enough for the session picker before (or without) an LLM refine pass.