Split memory/store.py into focused mixins
- _ddl.py: table creation (conditional on pgvector/pg_trgm)
- _embeddings.py: EmbeddingMixin — pgvector checks, embed generation, backfill
- _facts.py: FactMixin — upsert, search (vector + ILIKE), delete, list, count
- _summary.py: SummaryMixin — get/set conversation summary
- _session_state.py: SessionStateMixin — extraction tracking per session
- store.py: reduced to ~60-line facade composing all mixins

No external API changes — MemoryStore remains the single interface.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 9a8606e commit 02f2d8e4551cb49cafd2d1b70679b07397f51b8e
@Eugene Sukhodolskiy Eugene Sukhodolskiy authored on 29 Apr
Showing 6 changed files
View
navi/memory/_ddl.py 0 → 100644
View
navi/memory/_embeddings.py 0 → 100644
View
navi/memory/_facts.py 0 → 100644
View
navi/memory/_session_state.py 0 → 100644
View
navi/memory/_summary.py 0 → 100644
View
navi/memory/store.py