Skip to main content

Module memory_compaction

Module memory_compaction 

Source
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)
CompactionStats
Compaction statistics
Episode
A raw episode (L0)
ExtractiveSummarizer
Extractive summarizer (no LLM required)
HierarchicalMemory
Hierarchical memory store with compaction
MemoryCompactionConfig
Configuration for memory compaction
Summary
A summary (L1)

Enums§

CompactionError
Compaction error
EpisodeType
Episode types
MemoryEntry
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