/// Search query intent classification enum.
///
/// Why: different query shapes benefit from different BM25/vector balance;
/// a typed enum lets the routing layer select optimal weights without
/// per-result heuristics.
/// What: enumerates the five recognised intent categories, each carrying its
/// own routing weight tuple via [`QueryIntent::weights`].
/// Test: see `classify.rs` and `tests.rs` for representative examples per intent.