module

Crig::Memory::Compactor

Derives a single Message-shaped artifact from a slice of messages that a memory policy has evicted from the active window.

Implementations typically wrap an LLM call or a pure template rollup.

carry_over is the artifact produced by the previous compaction for this conversation, if any. Implementations that want a recursive summary should summarize evicted together with carry_over.

Instance methods

compact(conversation_id : String, evicted : Array(Crig::Completion::Message), carry_over : Crig::Completion::Message | Nil) : Crig::Completion::Message
Source