v1.4.29
Adding FTS-only candidates to the pool displaces correct vector results from the top-K, regressing active retrieval passes from 31 to 22. The cosine gate already works correctly — BM25 re-ranks within it. Scope hard filter and scoreThreshold parameter are retained.