ADR 0007 Conversation memory as a FIFO queue of summaries - agbossjs/agboss GitHub Wiki
ADR-0007 — Conversation memory as a FIFO queue of summaries
- Status: Accepted
- Issue: #77
Context
Readers saw only the last historyLimit turns verbatim: long conversations forgot their start, and
a larger limit made every turn more expensive. A rolling summary that re-summarises itself blurs
early details over time.
Decision
- Every
everyturns, right after the answer, a model compacts them into one self-contained summary (full names, no outside pronouns). Input: its own turns + the raw turns of the previous window as read-only context. Summaries never read summaries. - Summaries form a FIFO queue: readers see the latest
keep(each reader has its own limit) plus the raw turns since the last compaction; older rows stay in the database. - A compaction failure never fails the turn; its cost is the FinOps category
compaction.
Consequences
- ~
every × keepturns of memory at the price of ~keepnotes. - The turn that compacts returns a few seconds later.
- References deeper than one window back are not resolved inside a summary.