Feat
- search: select hybrid, semantic, bm25 or exact on nc_semantic_search
Fix
- search: reject an invalid fusion for every algorithm, and score_threshold with exact
- search: note short exact pages; pin the exact metric label
Refactor
- search: fold the exact branch into _exact_page (S3776)
- search: extract exact paging and truncation from nc_semantic_search
- search: one list of fusion modes; document context with exact