Autobot::Agent::MemoryManager
Manages memory consolidation for sessions.
Responsible for:
- Determining when consolidation is needed
- Converting old messages into summarized memory
- Updating long-term memory and history files
- Trimming session messages after consolidation
Constants
DISABLED_MEMORY_WINDOW = 0
Memory consolidation settings
Log = ::Log.for("agent.memory_manager")
MAX_KEEP_COUNT = 10
MAX_MESSAGES_WITHOUT_CONSOLIDATION = 10
MIN_KEEP_COUNT = 2
Constructors
Instance methods
consolidate_if_needed(session : Session::Session) : Nil
Check if session needs consolidation and perform it if necessary.
Trims the session synchronously to avoid racing with the agent loop's save_to_session. The LLM summarization runs in a background fiber and only writes to memory files (no session mutation).
trim_if_disabled(session : Session::Session) : Nil
Trim messages when consolidation is disabled