Skip to content

Latest commit

 

History

History
23 lines (17 loc) · 2.07 KB

File metadata and controls

23 lines (17 loc) · 2.07 KB

Architecture Decision Records (ADRs)

This directory contains Architecture Decision Records (ADRs) for the Memorizer project. ADRs are used to document important architectural decisions, their context, and consequences.

What is an ADR?

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

Current ADRs

  1. Plain Text Memory Column - Introduces dedicated text storage for better embedding quality and LLM interaction
  2. Always Return Relationship Type - Ensures relationship types are always populated in memory DTOs
  3. Asynchronous Memory Chunking with Actors - Implements background chunking using Akka.NET actors for better search quality and fast responses
  4. Migration from Ollama to OllamaSharp - Switches to OllamaSharp package for better .NET ecosystem integration and dependency injection support
  5. Chunking Integration Test Design - Comprehensive testing strategy for asynchronous chunking system with TestContainers and actor verification
  6. Preserve Original Memories During Chunking - Ensures original memory content is never modified during chunking, preventing data loss and maintaining user trust
  7. Memory Search Result Ranking and Tag Handling - Similarity is primary, tags are a soft boost, always show something, and rationale/consequences documented
  8. 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