This directory contains Architecture Decision Records (ADRs) for the Memorizer project. ADRs are used to document important architectural decisions, their context, and consequences.
An ADR is a document that captures an important architectural decision made along with its context and consequences. Each ADR describes:
- The architectural decision that was made
- The context and forces at play
- The current status (proposed, accepted, deprecated, superseded)
- The consequences of the decision
- Plain Text Memory Column - Introduces dedicated text storage for better embedding quality and LLM interaction
- Always Return Relationship Type - Ensures relationship types are always populated in memory DTOs
- Asynchronous Memory Chunking with Actors - Implements background chunking using Akka.NET actors for better search quality and fast responses
- Migration from Ollama to OllamaSharp - Switches to OllamaSharp package for better .NET ecosystem integration and dependency injection support
- Chunking Integration Test Design - Comprehensive testing strategy for asynchronous chunking system with TestContainers and actor verification
- Preserve Original Memories During Chunking - Ensures original memory content is never modified during chunking, preventing data loss and maintaining user trust
- Memory Search Result Ranking and Tag Handling - Similarity is primary, tags are a soft boost, always show something, and rationale/consequences documented
- Hybrid Search with PostgreSQL FTS and RRF - Combines vector search with PostgreSQL full-text search via Reciprocal Rank Fusion, fixing zero-result failures for short keyword queries