Skip to content

[Bug]: Dreaming diary repeats "first day" narrative every sweep — same early memories dominate snippets #83830

Description

@YinLiuLiu66

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:linked-pr-openClawSweeper found an open linked pull request for this issue.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.clawsweeper:source-reproClawSweeper found a high-confidence source-level issue reproduction.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🦞 diamond lobsterVery strong issue quality with high-confidence source-level or clear reproduction.

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions