Retrieval-Augmented Generation with Qdrant and Ollama
Find a file
Claude a49761b1ba
feat: extract Embedder and VectorStore interfaces, add mock-based tests
Phase 2 test infrastructure: extract interfaces to decouple business
logic from external services, enabling fast CI tests without live
Qdrant or Ollama.

- Add Embedder interface (embedder.go) satisfied by OllamaClient
- Add VectorStore interface (vectorstore.go) satisfied by QdrantClient
- Update Ingest, IngestFile, Query to accept interfaces
- Add QueryWith, QueryContextWith, IngestDirWith, IngestFileWith helpers
- Add mockEmbedder and mockVectorStore in mock_test.go
- Add 69 new mock-based tests (ingest: 23, query: 12, helpers: 16)
- Coverage: 38.8% -> 69.0% (135 leaf-level tests total)

Co-Authored-By: Charon <developers@lethean.io>
2026-02-20 00:15:54 +00:00
chunk.go feat: extract go-rag from go-ai as standalone RAG package 2026-02-19 18:29:59 +00:00
chunk_test.go test: add Phase 1 pure-function unit tests (18.4% -> 38.8% coverage) 2026-02-20 00:02:52 +00:00
CLAUDE.md feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
embedder.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
FINDINGS.md feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
go.mod fix: correct go.mod replace directive, prep contract files for fleet 2026-02-19 23:33:56 +00:00
go.sum fix: correct go.mod replace directive, prep contract files for fleet 2026-02-19 23:33:56 +00:00
helpers.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
helpers_test.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
ingest.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
ingest_test.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
mock_test.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
ollama.go feat: extract go-rag from go-ai as standalone RAG package 2026-02-19 18:29:59 +00:00
ollama_test.go test: add Phase 1 pure-function unit tests (18.4% -> 38.8% coverage) 2026-02-20 00:02:52 +00:00
qdrant.go feat: extract go-rag from go-ai as standalone RAG package 2026-02-19 18:29:59 +00:00
qdrant_test.go test: add Phase 1 pure-function unit tests (18.4% -> 38.8% coverage) 2026-02-20 00:02:52 +00:00
query.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
query_test.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
TODO.md feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00
vectorstore.go feat: extract Embedder and VectorStore interfaces, add mock-based tests 2026-02-20 00:15:54 +00:00