[Bug]: The short-term summary does not track which episodes it covers: deleted episodes stay in it, and a failed summarization drops its batch
维护者通常 3 天内回复
还没有人认领这个 Issue。
评估
调研方向
Start with packages/server/src/memmachine_server/episodic_memory/short_term_memory/short_term_memory.py, especially the cited queueing, deletion, persistence, and summarization paths at the supplied revision. Trace how episode identifiers and pending batches move through those paths, then inspect the related tests for short-term memory and episode deletion. Done means deleting an episode removes its contribution from the in-memory and persisted summary, and a failed summarization leaves its batch available for a later attempt.
由索引模型根据 Issue 内容生成。
描述
What happened
Paths are under packages/server/src/memmachine_server/episodic_memory/short_term_memory/; line numbers are at 805ea21 (head of feat/horizontal-scaling).
Short-term memory keeps a buffer of recent episodes and a running summary of older ones. When the buffer is full, its episodes are queued for summarization (short_term_memory.py:521), and queued episodes are removed from the buffer as new ones arrive (:232-234), whether or not their summarization succeeded. The summary is free text with no record of which episodes it covers, and the consolidator's docstring promises that "the summary will eventually reflect all ingested episodes" (:480-481).
Deleting an episode leaves its content in the summary. delete_episode removes the episode from the buffer only (:268-279). Once an episode has been summarized, the summary keeps its content, in memory and in the persisted copy (save_short_term_memory, :642), and once it has also left the buffer, delete_episode does not find it at all. Every later search in the session returns that summary. #1720 clears the summary when the whole short-term memory is cleared; deleting single episodes (POST /api/v2/memories/episodic/delete) is not covered.
A failed summarization drops its batch. The worker takes the whole pending batch off the queue before summarizing it (:536-537). The model call makes one attempt (:633-636; generate_response defaults to max_attempts=1). Any error other than a recognized context-length error is logged and the previous summary is kept (:674-679). After a rate limit, a timeout, or a server error from the model, that batch is no longer queued, its episodes leave the buffer as new ones arrive, and they never reach the summary.
Not reproduced; follows from the code above.
Expected
- Deleting an episode removes its content from the short-term summary, in memory and in storage.
- A batch whose summarization fails is summarized later, or stays available, rather than dropped.
Notes
#1719 (open PR #1720) covers the summary surviving a reset and cancellation during summarization. Context-length errors that are not recognized on some providers, which also drop the batch, are #1879.
Related: #1719, #1720, #1748, #1879.
🤖 Written by Claude Code (Claude Opus 5.5) on behalf of @edwinyyyu.
- 主要语言
- Python
- 星标
- 3.1k
- 派生
- 217
- 平均合并
- 4 天 15 小时
- 30 天内合并 PR
- 21
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
MemMachine/MemMachine 的其他 Issue
-
[Bug]: The OpenAI Responses language model never sends `reasoning_effort`, and no configuration can set it可能已有人在做 @Brownteen18 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
MemMachine/MemMachine#1877 · 1 条评论 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
MemMachine/MemMachine#1874 ·
维护者通常 3 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
MemMachine/MemMachine#1873 ·
维护者通常 3 天内回复
-
Install docs: Windows quickstart runs a bash script, and the macOS wizard description is stale可能已有人在做 @ShryukGrandhi 今天认领。 未关闭documentation
难度 2/5 1-3 小时 新手友好度 79/100
MemMachine/MemMachine#1870 ·
维护者通常 3 天内回复
-
[Bug]: LangGraph memory search summary reports no memories for nonempty episodic results可能已有人在做 @March-7 于 8 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
MemMachine/MemMachine#1852 ·
维护者通常 3 天内回复
查看 MemMachine/MemMachine 的全部 Issue
相似的 Issue
-
getchaintips leaves out the active tip once a header is staged on it, where Core always lists it未关闭
难度 2/5 1-3 小时 新手友好度 88/100
btclib-org/btclib-node#2158 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
dbt-msft/dbt-sqlserver#897 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 65/100
Gathin23/cleanyourtv#2770 · 2 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
vllm-project/vllm#64845 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 84/100
dekobon/big-code-analysis#1729 ·
维护者通常 1 天内回复