openclaw - 💡(How to fix) Fix [Bug]: Managed Memory Dreaming Promotion cron silently NO_REPLY since 2026-05-09 (jobs.json lastRun stays null)

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…

Memory Dreaming Promotion cron (id 26bd02cc-3253-4c8c-9530-77aa3ee952ac) is enabled but has never recorded lastRun, nextRun, consecutiveErrors, or lastError in /data/cron/jobs.json — the runtime accepts the job but never dispatches it, never errors, never returns. Symptom surfaces downstream in the daily Dreams Digest as "Sweep produced no diary entry today. Last diary date: <stale>". Gap has been growing since 2026-05-09 (15+ days). Adjacent to #84291 but a different failure mode (no size-limit error, no error of any kind — silent NO_REPLY).

Error Message

Memory Dreaming Promotion cron (id 26bd02cc-3253-4c8c-9530-77aa3ee952ac) is enabled but has never recorded lastRun, nextRun, consecutiveErrors, or lastError in /data/cron/jobs.json — the runtime accepts the job but never dispatches it, never errors, never returns. Symptom surfaces downstream in the daily Dreams Digest as "Sweep produced no diary entry today. Last diary date: <stale>". Gap has been growing since 2026-05-09 (15+ days). Adjacent to #84291 but a different failure mode (no size-limit error, no error of any kind — silent NO_REPLY). Whatever code path translates memory-core: updated managed dreaming cron job. into an actual dispatch + result-writeback to /data/cron/jobs.json. Possibly a regression introduced between 2026.5.6 and 2026.5.20 that silently drops the result when no error/result handler is registered.

Root Cause

Memory Dreaming Promotion cron (id 26bd02cc-3253-4c8c-9530-77aa3ee952ac) is enabled but has never recorded lastRun, nextRun, consecutiveErrors, or lastError in /data/cron/jobs.json — the runtime accepts the job but never dispatches it, never errors, never returns. Symptom surfaces downstream in the daily Dreams Digest as "Sweep produced no diary entry today. Last diary date: <stale>". Gap has been growing since 2026-05-09 (15+ days). Adjacent to #84291 but a different failure mode (no size-limit error, no error of any kind — silent NO_REPLY).

Fix Action

Fix / Workaround

Memory Dreaming Promotion cron (id 26bd02cc-3253-4c8c-9530-77aa3ee952ac) is enabled but has never recorded lastRun, nextRun, consecutiveErrors, or lastError in /data/cron/jobs.json — the runtime accepts the job but never dispatches it, never errors, never returns. Symptom surfaces downstream in the daily Dreams Digest as "Sweep produced no diary entry today. Last diary date: <stale>". Gap has been growing since 2026-05-09 (15+ days). Adjacent to #84291 but a different failure mode (no size-limit error, no error of any kind — silent NO_REPLY).

…but no subsequent dispatch/result records for this id. The sweep IS partially running (/data/workspace/memory/.dreams/{session-corpus,session-ingestion.json,short-term-recall.json,phase-signals.json,events.jsonl} are all freshly mtimed at the expected 03:00 PT slot), but no diary entry is appended to /data/workspace/DREAMS.md after 2026-05-21 — and the jobs.json record stays in the never-ran state above. short-term-recall.json is 13.7 MB (below the #84291 16 MB cap), so this is not the same regression.

lastRun populated after each dispatch; lastError populated on failure; if the run finishes cleanly, /data/workspace/DREAMS.md gets today's REM-entry/backfill-entry block.

Code Example

OpenClaw 2026.5.20 (e510042)
node v22.22.3

---

// fly ssh console -a <app> -C 'jq ".jobs[] | select(.id==\"26bd02cc-…\")" /data/cron/jobs.json'
{
  "id": "26bd02cc-3253-4c8c-9530-77aa3ee952ac",
  "enabled": true,
  "lastRun": null,
  "nextRun": null,
  "consecutiveErrors": null,
  "lastError": null
}

---

memory-core: updated managed dreaming cron job.
RAW_BUFFERClick to expand / collapse

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

Memory Dreaming Promotion cron (id 26bd02cc-3253-4c8c-9530-77aa3ee952ac) is enabled but has never recorded lastRun, nextRun, consecutiveErrors, or lastError in /data/cron/jobs.json — the runtime accepts the job but never dispatches it, never errors, never returns. Symptom surfaces downstream in the daily Dreams Digest as "Sweep produced no diary entry today. Last diary date: <stale>". Gap has been growing since 2026-05-09 (15+ days). Adjacent to #84291 but a different failure mode (no size-limit error, no error of any kind — silent NO_REPLY).

Runtime

OpenClaw 2026.5.20 (e510042)
node v22.22.3

Evidence

// fly ssh console -a <app> -C 'jq ".jobs[] | select(.id==\"26bd02cc-…\")" /data/cron/jobs.json'
{
  "id": "26bd02cc-3253-4c8c-9530-77aa3ee952ac",
  "enabled": true,
  "lastRun": null,
  "nextRun": null,
  "consecutiveErrors": null,
  "lastError": null
}

/tmp/openclaw/openclaw-2026-05-24.log shows the subsystem accepting the job at boot:

memory-core: updated managed dreaming cron job.

…but no subsequent dispatch/result records for this id. The sweep IS partially running (/data/workspace/memory/.dreams/{session-corpus,session-ingestion.json,short-term-recall.json,phase-signals.json,events.jsonl} are all freshly mtimed at the expected 03:00 PT slot), but no diary entry is appended to /data/workspace/DREAMS.md after 2026-05-21 — and the jobs.json record stays in the never-ran state above. short-term-recall.json is 13.7 MB (below the #84291 16 MB cap), so this is not the same regression.

Steps to reproduce

  1. Run OpenClaw 2026.5.20 with the managed dreaming cron enabled (plugins.entries.memory-core.config.dreaming.enabled = true).
  2. Wait past the daily 03:00 PT dreaming slot.
  3. jq '.jobs[] | select(.id=="26bd02cc-…")' /data/cron/jobs.json — observe all run-tracking fields are null despite the underlying .dreams/ artifacts being updated.

Expected

lastRun populated after each dispatch; lastError populated on failure; if the run finishes cleanly, /data/workspace/DREAMS.md gets today's REM-entry/backfill-entry block.

Actual

No run ever recorded in jobs.json. No errors logged. No new DREAMS.md entries since 2026-05-21. The downstream daily digest (dreams-digest skill) correctly emits a "no diary entry today" stub per its design contract — that contract is the only reason the failure has been visible at all.

Probable area

Whatever code path translates memory-core: updated managed dreaming cron job. into an actual dispatch + result-writeback to /data/cron/jobs.json. Possibly a regression introduced between 2026.5.6 and 2026.5.20 that silently drops the result when no error/result handler is registered.

Workarounds tried

  • df421efe31, bbc06816c2, 8941d3de10 (pre-exec watchdog widen to 300s), dfa99e6b92 (explicit toolsAllow pin mirroring Memory Wiki Daily Promotion) — all shipped 2026-05-18, no change in symptom.
  • Restart of gateway — no change.

Adjacent issues

  • #84291 — adjacent size-limit silent failure (different cause, our file is under 16 MB).
  • #84847 — gateway overload on dreaming cron (we don't see this).

Happy to provide additional logs or run probes from our environment.

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 - 💡(How to fix) Fix [Bug]: Managed Memory Dreaming Promotion cron silently NO_REPLY since 2026-05-09 (jobs.json lastRun stays null)