openclaw - ✅(Solved) Fix memory status reports "Dreaming: off" when only light phase is enabled [3 pull requests, 1 participants]

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…
GitHub stats
openclaw/openclaw#67868Fetched 2026-04-17 08:29:13
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×3

openclaw memory status reports Dreaming: off even when dreaming.enabled=true with only phases.light.enabled=true (and phases.deep.enabled=false). The status render reads only the deep-dreaming config path, producing a false-negative for valid light-only setups.

Root Cause

Root cause (from dist inspection)

Fix Action

Fixed

PR fix notes

PR #67882: fix(memory-core): report active dreaming phases in memory status

Description (problem / solution / changelog)

Summary

AI-assisted: Yes (Codex) Testing: targeted regression + memory-core extension lane + repo build Session log: not attached

  • Problem: openclaw memory status reported Dreaming: off when deep dreaming was disabled even if other dreaming phases were active.
  • Why it matters: operators use memory status to verify that dreaming is enabled, so light/REM-capable setups looked fully disabled.
  • What changed: the status summary now derives its state from the overall dreaming config plus per-phase light/REM/deep enablement, and a regression test covers the light-enabled/deep-disabled case.
  • What did NOT change (scope boundary): no dreaming execution logic, cron reconciliation, or /dreaming status behavior changed.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #67868
  • Related #67836
  • This PR fixes a bug or regression

Root Cause (if applicable)

  • Root cause: extensions/memory-core/src/cli.runtime.ts built the Dreaming: line from resolveShortTermPromotionDreamingConfig(), which only reflects the deep phase.
  • Missing detection / guardrail: there was no CLI regression covering a config where dreaming was active outside the deep phase.
  • Contributing context (if known): resolveMemoryDreamingConfig() defaults light and REM phases on when global dreaming is enabled, so the old summary could incorrectly collapse active configs to off.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: extensions/memory-core/src/cli.test.ts
  • Scenario the test should lock in: a light-enabled / deep-disabled dreaming config should not print Dreaming: off in openclaw memory status.
  • Why this is the smallest reliable guardrail: it exercises the actual CLI render path and config resolution without needing a live gateway or cron runtime.
  • Existing test that already covers this (if any): prints recall-store audit details during status still covers the fully-off/default case.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

  • openclaw memory status now reports active dreaming phases (light, REM, deep) and the configured sweep cron instead of incorrectly collapsing valid non-deep setups to off.

Diagram (if applicable)

For UI changes or non-trivial logic flows, include a small ASCII diagram reviewers can scan quickly. Otherwise write N/A.

Before:
[memory status] -> [deep phase disabled] -> [Dreaming: off]

After:
[memory status] -> [light/REM/deep phase summary] -> [accurate active/off state]

Security Impact (required)

  • New permissions/capabilities? (Yes/No) No
  • Secrets/tokens handling changed? (Yes/No) No
  • New/changed network calls? (Yes/No) No
  • Command/tool execution surface changed? (Yes/No) No
  • Data access scope changed? (Yes/No) No
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: local Node 24.14.0
  • Model/provider: N/A
  • Integration/channel (if any): N/A
  • Relevant config (redacted): plugins.entries.memory-core.config.dreaming.enabled=true with phases.light.enabled=true and phases.deep.enabled=false

Steps

  1. Configure memory-core dreaming with global dreaming enabled and deep disabled while keeping light dreaming enabled.
  2. Run openclaw memory status.
  3. Inspect the Dreaming: line.

Expected

  • memory status reports active dreaming phases instead of saying dreaming is fully off.

Actual

  • Before this change, memory status printed Dreaming: off because it only consulted the deep-phase helper.

Evidence

Attach at least one:

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Human Verification (required)

What you personally verified (not just CI), and how:

  • Verified scenarios:
    • Added a focused regression in extensions/memory-core/src/cli.test.ts and confirmed it failed before the code change.
    • Re-ran that targeted test after the fix and confirmed it passed.
    • Ran the full memory-core extension lane.
    • Ran pnpm build successfully.
  • Edge cases checked:
    • Default/off behavior still has existing coverage.
    • The light-enabled / deep-disabled config no longer renders Dreaming: off.
    • REM default enablement is surfaced explicitly in the status line.
  • What you did not verify:
    • No live gateway/manual CLI run outside the test harness.
    • No /dreaming status output changes; that command was intentionally left untouched.

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

If a bot review conversation is addressed by this PR, resolve that conversation yourself. Do not leave bot review conversation cleanup for maintainers.

Compatibility / Migration

  • Backward compatible? (Yes/No) Yes
  • Config/env changes? (Yes/No) No
  • Migration needed? (Yes/No) No
  • If yes, exact upgrade steps:

Risks and Mitigations

List only real risks for this PR. Add/remove entries as needed. If none, write None.

  • Risk: any external tooling that matched the exact active Dreaming: string may need to tolerate a phase breakdown instead of a deep-only summary.
    • Mitigation: off behavior is preserved when no phase is active, and the new output is a more accurate reflection of the configured dreaming phases.

Changed files

  • extensions/memory-core/src/cli.runtime.ts (modified, +27/-4)
  • extensions/memory-core/src/cli.test.ts (modified, +44/-0)

PR #67910: fix(memory status): show light/deep/rem dreaming phase state

Description (problem / solution / changelog)

Summary

  • fix openclaw memory status dreaming summary to use full dreaming config instead of deep-only config
  • render phase-level status so light-only setups no longer appear as Dreaming: off
  • add a CLI unit test that covers a light-only configuration (light on, deep off, rem off)

Validation

  • Added test: reports phase-level dreaming status for light-only configs in extensions/memory-core/src/cli.test.ts
  • Could not execute Vitest in this workspace because dependencies are not installed (Cannot find module 'vitest/package.json').

Closes #67868

Changed files

  • extensions/memory-core/src/cli.runtime.ts (modified, +11/-3)
  • extensions/memory-core/src/cli.test.ts (modified, +40/-0)

PR #67923: fix(memory-core): show light-only dreaming state in memory status

Description (problem / solution / changelog)

Summary

  • update memory status dreaming summary to read both light and deep phase config
  • report per-phase state instead of treating deep config as the only source of truth
  • include a regression test for light-only configuration (light=on, deep=off)

Why

memory status currently reports Dreaming: off for valid light-only setups because it only reads deep dreaming config.

Fixes #67868

Testing

  • ./node_modules/.bin/vitest extensions/memory-core/src/cli.test.ts -t "reports light-only dreaming status when deep phase is disabled"

Changed files

  • extensions/imessage/src/monitor/inbound-processing.test.ts (modified, +27/-0)
  • extensions/memory-core/src/cli.runtime.ts (modified, +17/-5)
  • extensions/memory-core/src/cli.test.ts (modified, +38/-0)

Code Example

{
  "enabled": true,
  "frequency": "0 3 * * *",
  "timezone": "America/Sao_Paulo",
  "storage": { "mode": "separate" },
  "phases": {
    "light": { "enabled": true, "lookbackDays": 7, "limit": 20 },
    "deep":  { "enabled": false }
  }
}

---

Dreaming: light=on (cron=0 3 * * *, lookback=7d, limit=20) · deep=off
RAW_BUFFERClick to expand / collapse

Summary

openclaw memory status reports Dreaming: off even when dreaming.enabled=true with only phases.light.enabled=true (and phases.deep.enabled=false). The status render reads only the deep-dreaming config path, producing a false-negative for valid light-only setups.

Version

OpenClaw 2026.4.14 (323493f)

Steps to reproduce

  1. Configure plugins.entries.memory-core.config.dreaming with:
{
  "enabled": true,
  "frequency": "0 3 * * *",
  "timezone": "America/Sao_Paulo",
  "storage": { "mode": "separate" },
  "phases": {
    "light": { "enabled": true, "lookbackDays": 7, "limit": 20 },
    "deep":  { "enabled": false }
  }
}
  1. Restart the gateway.
  2. Run openclaw memory status.

Expected

A line indicating that light dreaming is enabled (or a breakdown like Dreaming: light on · deep off · cron=<freq>).

Actual

Every workspace reports Dreaming: off, suggesting dreaming is entirely disabled.

Root cause (from dist inspection)

In dist/cli.runtime-DoWnKLae.js:110, formatDreamingSummary calls resolveShortTermPromotionDreamingConfig, which in dist/dreaming-Dj_6ReO4.js:1210 internally calls resolveMemoryDeepDreamingConfig. Light config is never consulted. So enabled: false in the summary always reflects deep-only state.

Impact

Light-only is a valid, documented configuration (and the safer default for anyone wanting to populate the recall store without LLM-heavy deep cycles). Operators reasonably run memory status to confirm dreaming activation; today it silently misleads them, and only source-level inspection reveals the truth.

Suggested fix

Have formatDreamingSummary consult both resolveMemoryLightDreamingConfig and resolveMemoryDeepDreamingConfig, and render per-phase state — e.g.:

Dreaming: light=on (cron=0 3 * * *, lookback=7d, limit=20) · deep=off

Happy to submit a PR if the shape above is acceptable.

extent analysis

TL;DR

The openclaw memory status command should be modified to consult both light and deep dreaming configurations to accurately report the dreaming status.

Guidance

  • The issue arises from formatDreamingSummary only considering the deep dreaming configuration, so it should be updated to also call resolveMemoryLightDreamingConfig.
  • To verify the fix, run openclaw memory status after applying the changes and check that it correctly reports the light dreaming status.
  • The suggested fix involves modifying the formatDreamingSummary function to render per-phase state, providing a more accurate representation of the dreaming configuration.
  • Before submitting a PR, ensure that the proposed changes align with the project's coding standards and conventions.

Example

// Example output of the updated formatDreamingSummary function
Dreaming: light=on (cron=0 3 * * *, lookback=7d, limit=20) · deep=off

Notes

The provided issue description and suggested fix are specific to the OpenClaw 2026.4.14 version, so the solution may not be applicable to other versions.

Recommendation

Apply the workaround by modifying the formatDreamingSummary function to consult both light and deep dreaming configurations, as this will provide an accurate representation of the dreaming status.

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…

Still need to ship something?

×6

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

Back to top recommendations

TRENDING

openclaw - ✅(Solved) Fix memory status reports "Dreaming: off" when only light phase is enabled [3 pull requests, 1 participants]