openclaw - 💡(How to fix) Fix [Bug]: Dreaming diary repeats "first day" narrative every sweep — same early memories dominate snippets

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

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.

Root Cause

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.

RAW_BUFFERClick to expand / collapse

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:

  1. 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.

  2. 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.

  1. 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

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

NOT_ENOUGH_INFO

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING