Expand description
Hierarchical Memory Compaction (Task 5)
This module implements semantic memory compaction inspired by LSM-trees. It manages tiered storage where older memories are summarized to maintain bounded context while preserving semantic continuity.
§Architecture
L0: Raw Episodes (recent, full detail)
│
▼ Summarization
L1: Summaries (older, compressed)
│
▼ Abstraction
L2: Abstractions (oldest, highly compressed)§Compaction Strategy
- Episodes older than tier threshold are grouped by semantic similarity
- Each group is summarized (via LLM or extractive methods)
- Summaries are re-embedded for retrieval
- Growth is O(log_c T) where c = compaction ratio, T = total events
Structs§
- Abstraction
- An abstraction (L2)
- Compaction
Stats - Compaction statistics
- Episode
- A raw episode (L0)
- Extractive
Summarizer - Extractive summarizer (no LLM required)
- Hierarchical
Memory - Hierarchical memory store with compaction
- Memory
Compaction Config - Configuration for memory compaction
- Summary
- A summary (L1)
Enums§
- Compaction
Error - Compaction error
- Episode
Type - Episode types
- Memory
Entry - Entry from hierarchical memory
Traits§
- Summarizer
- Trait for summarization backends
Functions§
- create_
hierarchical_ memory - Create a hierarchical memory with extractive summarizer
- create_
test_ memory - Create with aggressive compaction for testing