LAR Labs Memory Architecture - Tiered context loading with SQLite persistence.
pip install -e .from src.memory.tiered_loader import TieredLoader
loader = TieredLoader()
# Load at specific tier
context = loader.load_abstract(path) # L0: brief summary
context = loader.load_overview(path) # L1: overview
context = loader.load_full(path) # L2: full content with chunking
# Auto fallback chain (L0 → L1 → L2)
context = loader.load_tiered(path)from src.memory.abstract_generator import AbstractGenerator
gen = AbstractGenerator()
# Generate from content
abstract = gen.generate_abstract(markdown_content)
overview = gen.generate_overview(markdown_content)
# Or from file
gen.save_summaries(Path("document.md"))from src.memory.persistence.fact_store import FactStore
from src.memory.persistence.audit_logger import AuditLogger
# CRUD operations
store = FactStore()
fact = store.create("key", "value", metadata={"source": "test"})
fact = store.get("key")
store.update("key", "new_value")
store.delete("key")
# Audit logging
logger = AuditLogger()
logger.log_insert("facts", fact.id, {"key": "key", "value": "value"})pytest tests/unit/src/memory/
├── __init__.py
├── config.py # Configuration
├── tiered_loader.py # L0/L1/L2 context loading
├── abstract_generator.py # LLM summarization
└── persistence/
├── database.py # SQLite connection
├── fact_store.py # CRUD operations
└── audit_logger.py # Audit trail