feat: add long-term memory systems with fused retrieval and memory explorer
Phase 5 (ADR-0003). pkg/concepts fixes the epistemic vocabulary (observation, fact, memory, claim, hypothesis, belief, prediction, assumption, inference, opinion), memory kinds and relation names. internal/memory stores episodic, semantic, procedural and autobiographical memories in one mind-scoped table with trust-derived credibility, importance, salience and decaying activation. Retrieval fuses full-text rank (any-term by default), optional pgvector similarity, recency, activation, importance and credibility, and returns the component scores so every recall can be explained. Decay lowers activation and never deletes; retraction and supersession keep rows for provenance. Relationships are constrained to one mind at insert time. Embeddings live in a conditional pgvector table keyed by model so vector spaces are never mixed; without an embedder the system degrades to text and graph retrieval. Attention gates encoding: the attend handler turns admitted observations into episodic memories (operator changes become autobiographical ones) with memory_created events; the retrieve process proposes recalled memories as candidates and admitted recalls are reinforced with memory_retrieved events carrying their scoring components. Memory explorer UI (search with component breakdown, timeline, filters, operator knowledge entry), memory detail with provenance, relationships, citing events and an inaccurate-memory correction; API; noemactl memory commands; decay and embed-missing background jobs.
This commit is contained in:
@@ -80,13 +80,16 @@ An administrator can: start Noema → log in → create a mind → configure per
|
||||
- ☑ `noemactl workspace show|cycle|pause|resume|reset`
|
||||
- ☑ Tests: scoring determinism and bounds, ranking order, admission/refresh/capacity/decay/prune, provenance chain across a cycle, restart continuity, no self-triggered cycles, loop suppression, pause/reset/cancellation
|
||||
|
||||
### Phase 5 – Episodic and semantic memory
|
||||
- ☐ `migrations/0005_memory`: memories (kinds, tsvector), memory_relationships, memory_embeddings (conditional pgvector)
|
||||
- ☐ `internal/memory`: typed stores, retrieval fusion with recorded component scores, reinforcement, decay job, isolation by mind
|
||||
- ☐ `internal/embeddings`: interface, pgvector adapter, none-adapter
|
||||
- ☐ Processes: memory retrieval, novelty detection
|
||||
- ☐ UI: memory explorer (search, timeline, filters, evidence, relationships)
|
||||
- ☐ Tests: retrieval scoring, decay, isolation, fallback without pgvector
|
||||
### Phase 5 – Episodic and semantic memory ☑
|
||||
- ☑ `pkg/concepts`: epistemic kinds, memory kinds, relation vocabulary
|
||||
- ☑ `migrations/0005_memory`: memories (kinds, epistemic status, trust/credibility, importance, activation, tsvector), memory_relationships, conditional pgvector memory_embeddings
|
||||
- ☑ `internal/embeddings`: interface, None fallback, pgvector formatting
|
||||
- ☑ `internal/memory`: mind-scoped store, fused retrieval with recorded components (text any-term/strict, vector, recency, activation, importance, credibility), reinforcement, decay without deletion, relationships, statuses, stats, embed-missing job
|
||||
- ☑ Processes and handlers: `retrieve` proposes recalls as candidates; `attend` handler encodes attended events as episodic/autobiographical memories; `retrieve` handler reinforces and records `memory_retrieved`
|
||||
- ☑ API: list/search, create (operator knowledge), detail with relationships and citing events, retract, relate, stats
|
||||
- ☑ UI: memory explorer (search with component scores, timeline, filters, add knowledge), memory detail (provenance, strength, relationships, correction)
|
||||
- ☑ `noemactl memory search|list|inspect|add`; decay and embedding background jobs; docs/memory.md
|
||||
- ☑ Tests: lifecycle, fused retrieval, cross-mind isolation (retrieve, get, relate), reinforcement, decay, retraction, stats
|
||||
|
||||
### Phase 6 – Beliefs, evidence, confidence, contradictions
|
||||
- ☐ `migrations/0006_beliefs`: beliefs, belief_versions (append-only), belief_evidence, corrections
|
||||
|
||||
Reference in New Issue
Block a user