MnemoCore / docs /ARCHITECTURE.md
Granis87's picture
Initial upload of MnemoCore
dbb04e4 verified

# MnemoCore Architecture (Beta)

Beta Context

This document describes the current implementation direction in beta. It is not a guarantee of final architecture, performance, or feature completeness.

Core Components

  • src/core/engine.py: Main orchestration for memory storage, encoding, query, and synaptic augmentation.
  • src/core/binary_hdv.py: Binary hyperdimensional vector operations.
  • src/core/tier_manager.py: HOT/WARM/COLD placement and movement logic.
  • src/core/config.py: Typed config loading from YAML + env overrides.
  • src/core/async_storage.py: Async Redis metadata operations.
  • src/api/main.py: FastAPI interface.

Memory Model

MnemoCore represents memory as high-dimensional vectors and metadata-rich nodes:

  1. Encode input text into vector representation.
  2. Store node in HOT tier initially.
  3. Apply reinforcement/decay dynamics (LTP-related logic).
  4. Move between tiers based on thresholds and access patterns.

Tiering Model

  • HOT: In-memory dictionary for fastest access.
  • WARM: Qdrant-backed where available; filesystem fallback when unavailable.
  • COLD: Filesystem archival path for long-lived storage.

Query Flow (Current Beta)

Current query behavior prioritizes HOT tier recall and synaptic score augmentation. Cross-tier retrieval is still evolving and should be treated as beta behavior.

Async + External Services

  • Redis is used for async metadata and event stream operations.
  • API startup checks Redis health and can operate in degraded mode.
  • Qdrant usage is enabled through tier manager and can fall back to local files.

Observability

  • Prometheus metrics endpoint mounted at /metrics in API server.
  • Logging behavior controlled through config.

Practical Limitations

  • Some roadmap functionality remains TODO-marked in code.
  • Interface contracts may change across beta releases.
  • Performance can vary significantly by hardware and data profile.

For active limitations and next work items, see docs/ROADMAP.md.