Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[Bug]: The short-term summary does not track which episodes it covers: deleted episodes stay in it, and a failed summarization drops its batch

Ouverte
#1,884 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 3 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
48/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
ai, backend

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.

Langage dominant
Python
Étoiles
3.1k
Forks
217
Merge moyen
2 j 19 h
PR mergées (30 j)
17

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de MemMachine/MemMachine

Toutes les issues de MemMachine/MemMachine

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.