feat(vectorstore): add in-memory VectorStore with Delete method and c…#20
Merged
feat(vectorstore): add in-memory VectorStore with Delete method and c…#20
Conversation
…onfig flag Add InMemoryStore as a lightweight alternative to Qdrant for resource-constrained deployments. Add Delete method to VectorStore interface for post-analysis vector cleanup. Wire conditional store initialization via VECTOR_STORE env var (default: memory). - Add Delete(ctx, collectionID, url, contentHash) to VectorStore interface - Create InMemoryStore with sync.RWMutex thread safety - Add no-op Delete to QdrantStore (logs and returns nil) - Add VECTOR_STORE config field (memory|qdrant, default: memory) - Update main.go for conditional store initialization - Add Delete pass-through to RAG pipeline - Call Delete in analyzer after caching results - 13 unit tests for InMemoryStore (all pass with -race) Assisted by the code-assist SOP
…ryStore Replace placeholder Search() with brute-force dot product similarity: - Add dotProduct() helper for computing vector similarity - Filter chunks by URL and contentHash before scoring - Skip chunks with nil/empty vectors - Sort results by score descending, return top N - Log search operations with structured fields (collection, filters, results, latency_ms) - Handle edge cases: empty collection, limit <= 0, fewer results than limit Add 12 new tests covering all acceptance criteria and update existing tests to include vector data for compatibility with real search logic. Assisted by the code-assist SOP
…or in-memory default - Add `profiles: [qdrant]` to Qdrant service in docker-compose.yml - Remove `depends_on: qdrant` and `QDRANT_URL` env override from backend service - Update README.md to document in-memory as default, Qdrant as optional via --profile - Update CLAUDE.md tech stack and build commands to reflect new defaults - Document VECTOR_STORE env var throughout Note: .env.example needs manual update to add VECTOR_STORE=memory (sandbox restriction). Assisted by the code-assist SOP
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…onfig flag
Add InMemoryStore as a lightweight alternative to Qdrant for resource-constrained deployments. Add Delete method to VectorStore interface for post-analysis vector cleanup. Wire conditional store initialization via VECTOR_STORE env var (default: memory).
Assisted by the code-assist SOP