Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
The Dream Diary in DREAMS.md generates entries that all read like "Day 1" — the same "初次见面" (first meeting) memory fragments appear in every diary entry because they dominate the short-term recall store.
Steps to reproduce
1.Enable dreaming with default config
2.Wait for a few sweeps
3.Check DREAMS.md — every entry will reference "waking up for the first time" / "初次见面"
Expected behavior
NOT_ENOUGH_INFO
Actual behavior
Dreaming diary repeats "first day" narrative every sweep — same early memories dominate snippets
OpenClaw version
latest (2026.5.18)
Operating system
WSL2 / Linux
Install method
curl安装
Model
xiaomi-coding/mimo-v2.5
Provider / routing chain
openclaw->local-gateway->xiaomi/mimo-v2.5
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
Root Cause
Three design issues in dreaming-phases-dxWrCDfd.js:
-
Early memories dominate recall scoring
The short-term-recall.json entries for first-meeting memories accumulate recall counts with every sweep (currently 6+ each). Since light phase sorts by lastRecalledAt + recallCount, these high-count entries always rank in the top 12 snippets fed to the diary generator — forming a positive feedback loop.
-
buildNarrativePrompt() lacks temporal context
The prompt only includes memory fragments with no reference to:
The current date or day number
Previously written diary entries
The system prompt says "vary each entry" but the model has no way to know what was written before.
- No deduplication against existing entries
appendNarrativeEntry() blindly appends without checking whether the generated content overlaps with existing diary entries.
Suggested Fix
Inject the current date, day count, and/or previous diary entries into the narrative prompt
Or filter out already-written snippets before selection
Or adjust recall scoring to prevent early memories from monopolizing the top slots
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
The Dream Diary in DREAMS.md generates entries that all read like "Day 1" — the same "初次见面" (first meeting) memory fragments appear in every diary entry because they dominate the short-term recall store.
Steps to reproduce
1.Enable dreaming with default config
2.Wait for a few sweeps
3.Check DREAMS.md — every entry will reference "waking up for the first time" / "初次见面"
Expected behavior
NOT_ENOUGH_INFO
Actual behavior
Dreaming diary repeats "first day" narrative every sweep — same early memories dominate snippets
OpenClaw version
latest (2026.5.18)
Operating system
WSL2 / Linux
Install method
curl安装
Model
xiaomi-coding/mimo-v2.5
Provider / routing chain
openclaw->local-gateway->xiaomi/mimo-v2.5
Additional provider/model setup details
No response
Logs, screenshots, and evidence
Impact and severity
No response
Additional information
Root Cause
Three design issues in dreaming-phases-dxWrCDfd.js:
Early memories dominate recall scoring
The short-term-recall.json entries for first-meeting memories accumulate recall counts with every sweep (currently 6+ each). Since light phase sorts by lastRecalledAt + recallCount, these high-count entries always rank in the top 12 snippets fed to the diary generator — forming a positive feedback loop.
buildNarrativePrompt() lacks temporal context
The prompt only includes memory fragments with no reference to:
The current date or day number
Previously written diary entries
The system prompt says "vary each entry" but the model has no way to know what was written before.
appendNarrativeEntry() blindly appends without checking whether the generated content overlaps with existing diary entries.
Suggested Fix
Inject the current date, day count, and/or previous diary entries into the narrative prompt
Or filter out already-written snippets before selection
Or adjust recall scoring to prevent early memories from monopolizing the top slots