Memory erase swallows cleanup errors with no retry, so derived data can be left behind
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Start with erase() in sentient/memory/facts.py around lines 953–955, then find the hourly memory upkeep entry point and its tests. Trace the listed cleanup steps and how upkeep is scheduled before choosing where failed work should be recorded. Done means a test makes one cleanup step fail once and confirms the next upkeep run removes the derived data.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Raised by CodeRabbit on #453, but it predates that PR. erase() in sentient/memory/facts.py (~953-955) catches and drops errors from its cleanup steps (vectors, links, summaries, MEMORY.md/USER.md, insight evidence) with no retry. If one step fails (a locked file, a transient DB error), the memory row is gone but some derived data stays, and nothing ever tries again. This affects manual deletes and #441's expiry.
Fix: record failed cleanup steps (for example a small pending_erase table, or a retry list that the hourly memory upkeep drains) and retry them until they succeed. Log them plainly.
Done when: a test that makes one cleanup step fail once shows the derived data is removed on the next upkeep run.
- Lenguaje dominante
- Python
- Estrellas
- 702
- Forks
- 113
- Merge medio
- 5 h 15 min
- PR fusionados (30 d)
- 173
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de existence-master/Sentient
-
Telegram/Discord: tapping "Local only" in the /model list should ask too, and "/model Local only no" should cancelPosiblemente ocupada @bernalalexis-try la tomó hace 1 día. Abiertoarea: channels enhancement good first issue priority: P2 size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
existence-master/Sentient#457 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
area: desktop bug good first issue priority: P2 size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
existence-master/Sentient#454 ·
Los mantenedores suelen responder en 1 día
-
area: desktop bug priority: P2 size: S
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
existence-master/Sentient#440 ·
Los mantenedores suelen responder en 1 día
-
area: desktop bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
existence-master/Sentient#426 ·
Los mantenedores suelen responder en 1 día
-
area: memory bug flaky
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
existence-master/Sentient#422 ·
Los mantenedores suelen responder en 1 día
Todos los issues de existence-master/Sentient
Issues similares
-
changelog investigate
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
ramnes/notion-sdk-py#423 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 1-3 horas Aptitud para principiantes 89/100
duckdb/duckdb-web#7514 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
jbacalso24/mimry#525 ·
Los mantenedores suelen responder en 1 día