## 1. Spring AI Milvus Setup - [x] 1.1 Add the official Spring AI Milvus VectorStore starter dependency. - [x] 1.2 Configure Spring AI Milvus to reuse the existing collection field names, dimension, metric type, and connection settings. - [x] 1.3 Add retrieval mode configuration for `auto`, `spring-ai`, and `sdk`. ## 2. Retrieval Service Refactor - [x] 2.1 Refactor `VectorSearchService` to inject optional Spring AI `VectorStore`. - [x] 2.2 Implement VectorStore search and map Spring AI `Document` results to existing `SearchResult`. - [x] 2.3 Preserve the existing SDK search path as a dedicated fallback method. - [x] 2.4 Route retrieval by configured mode and fallback rules. ## 3. Tests - [x] 3.1 Add tests for SDK mode bypassing VectorStore. - [x] 3.2 Add tests for auto mode using VectorStore when available. - [x] 3.3 Add tests for auto mode falling back to SDK when VectorStore fails or is unavailable. - [x] 3.4 Add tests for category metadata filter behavior. ## 4. Validation And Archive - [x] 4.1 Run targeted retrieval tests. - [x] 4.2 Run the offline RAG retrieval baseline evaluator. - [x] 4.3 Run OpenSpec validation. - [x] 4.4 Review git diff to confirm `lookup_knowledge` API and evidence output remain compatible.