mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-30 08:53:35 +00:00
* fix(memory-core): filter REM dreaming candidates to light-staged entries REM dreaming re-ingested the full short-term recall store independently, ignoring which entries were staged by the light sleep phase. Because the confidence formula heavily weights accumulated averageScore (45%) and recallStrength (25%), old high-recall entries permanently dominated freshly staged candidates. The intended light→REM→deep pipeline was broken: light correctly staged current material, but REM selected a different set entirely, so lightHits never paired with remHits for deep ranking. Fix: in runRemDreaming(), read the phase-signals store for keys with lightHits > 0 and filter entries to that set before passing to previewRemDreaming(). When no light-staged keys exist (light disabled or first run), fall back to the full entry set for backward compatibility. Added readLightStagedKeys() to short-term-promotion.ts as a clean export for reading the light-staged key set from the phase signal store. Closes #86249 Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> * fix(memory-core): keep REM staging pending * fix(memory-core): mark REM-considered staged entries --------- Signed-off-by: Sebastien Tardif <sebtardif@ncf.ca> Co-authored-by: Peter Steinberger <steipete@gmail.com>