Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
On OpenClaw 2026.4.15 with dreaming.enabled: true, the dreaming pipeline surfaces tokenization artifacts (e.g. "assistant" 2754 hits) as top themes due to an incomplete stopword list, and pollutes the session corpus with cron/NO_REPLY noise because there is no cron-session filter in corpus ingestion.
Steps to reproduce
- Deploy OpenClaw 2026.4.15 with memory-core plugin and dreaming.enabled: true.
- Run a system with frequent cron-triggered sessions (health checks, token refreshes, alerts).
- Allow the dreaming pipeline to run and inspect top themes output.
- Observe "assistant" (2754 hits, conf 1.00) and "the" (1730 hits, conf 0.81) as top themes.
- Inspect memory/.dreams/session-corpus/.txt — corpus is 90%+ cron/NO_REPLY lines.
Expected behavior
Dreaming pipeline surfaces meaningful semantic concepts from real user interactions. Cron-triggered sessions and NO_REPLY exchanges are excluded from corpus ingestion.
Actual behavior
Issue 1: CONCEPT_STOP_WORDS in dist/short-term-promotion-Cd3cMDbx.js (~line 12) defines only 8 english stopwords, missing common NLP terms (the, a, an, is, to, of...) and transcript markers (assistant, user). These surface as top themes.
Issue 2: collectSessionIngestionBatches in dist/dreaming-Dmn9KbNB.js ingests all session jsonl lines with no filter for cron-triggered sessions, flooding the corpus with automation scaffolding noise.
OpenClaw version
OpenClaw: 2026.4.15
Operating system
Ubuntu 24.04.4
Install method
Docker 29.4.0
Model
anthropic/claude-sonnet-4-6
Provider / routing chain
agents.defaults.model
Additional provider/model setup details
Environment
|
|
| OpenClaw |
2026.4.15 (041266a) |
| Host OS |
Ubuntu 24.04.4 LTS |
| Host kernel |
Linux 6.8.0-110-generic x86_64 |
| Container runtime |
Docker 29.4.0 |
| Container base |
Debian 13 (trixie) |
| Node |
v22.22.2 |
| LLM providers enabled |
anthropic, openai, xai, google |
| Agent default model routing |
primary: anthropic/claude-sonnet-4-6 → fallbacks: anthropic/claude-opus-4-6, openai/gpt-5.4, openai/gpt-5.4-mini |
| Runtime model mix (last 30 sessions) |
24× claude-haiku-4-5 (per-cron overrides), 6× claude-sonnet-4-6 |
| memory-core config |
dreaming.enabled: true, frequency: 0 3 * * * (Asia/Kuwait) |
| Dreaming cron |
payload.kind: systemEvent — deterministic, no LLM invoked |
| active-memory config |
queryMode: recent, promptStyle: balanced, logging: true (no model override → inherits agent default) |
Logs, screenshots, and evidence
Observed in dist/short-term-promotion-Cd3cMDbx.js ~line 12: CONCEPT_STOP_WORDS english array contains only 8 entries.
Observed in dist/dreaming-Dmn9KbNB.js: collectSessionIngestionBatches ingests all session jsonl lines with no cron filter.
Top themes output example: "assistant" (2754 hits, conf 1.00), "the" (1730 hits, conf 0.81).
Corpus sample: [main/sessions/X.jsonl#L5] User: [cron:<id> WHOOP Token Refresh] / [L8] Assistant: NO_REPLY
Impact and severity
Affected: Personal-assistant deployments using memory-core plugin with dreaming.enabled: true
Severity: Medium (degrades dreaming output quality; no crash)
Frequency: Always — reproducible on any system with common stopwords or cron-triggered sessions
Consequence: Dreaming pipeline surfaces meaningless tokenization artifacts as top themes; corpus becomes 90%+ automation noise, making memory/reflection features unreliable
Additional information
Not a version regression — likely shipped this way. Local workaround applied: stopwords expanded to 170 words in-place patch; isCronNoiseSnippet() guard added to ingestion loop. Author willing to submit PR if approach is acceptable.
Bug type
Behavior bug (incorrect output/state without crash)
Beta release blocker
No
Summary
On OpenClaw 2026.4.15 with dreaming.enabled: true, the dreaming pipeline surfaces tokenization artifacts (e.g. "assistant" 2754 hits) as top themes due to an incomplete stopword list, and pollutes the session corpus with cron/NO_REPLY noise because there is no cron-session filter in corpus ingestion.
Steps to reproduce
Expected behavior
Dreaming pipeline surfaces meaningful semantic concepts from real user interactions. Cron-triggered sessions and NO_REPLY exchanges are excluded from corpus ingestion.
Actual behavior
Issue 1: CONCEPT_STOP_WORDS in dist/short-term-promotion-Cd3cMDbx.js (~line 12) defines only 8 english stopwords, missing common NLP terms (the, a, an, is, to, of...) and transcript markers (assistant, user). These surface as top themes.
Issue 2: collectSessionIngestionBatches in dist/dreaming-Dmn9KbNB.js ingests all session jsonl lines with no filter for cron-triggered sessions, flooding the corpus with automation scaffolding noise.
OpenClaw version
OpenClaw: 2026.4.15
Operating system
Ubuntu 24.04.4
Install method
Docker 29.4.0
Model
anthropic/claude-sonnet-4-6
Provider / routing chain
agents.defaults.model
Additional provider/model setup details
Environment
2026.4.15 (041266a)anthropic,openai,xai,googleanthropic/claude-sonnet-4-6→ fallbacks:anthropic/claude-opus-4-6,openai/gpt-5.4,openai/gpt-5.4-miniclaude-haiku-4-5(per-cron overrides), 6×claude-sonnet-4-6dreaming.enabled: true,frequency: 0 3 * * *(Asia/Kuwait)payload.kind: systemEvent— deterministic, no LLM invokedqueryMode: recent,promptStyle: balanced,logging: true(no model override → inherits agent default)Logs, screenshots, and evidence
Impact and severity
Affected: Personal-assistant deployments using memory-core plugin with dreaming.enabled: true
Severity: Medium (degrades dreaming output quality; no crash)
Frequency: Always — reproducible on any system with common stopwords or cron-triggered sessions
Consequence: Dreaming pipeline surfaces meaningless tokenization artifacts as top themes; corpus becomes 90%+ automation noise, making memory/reflection features unreliable
Additional information
Not a version regression — likely shipped this way. Local workaround applied: stopwords expanded to 170 words in-place patch; isCronNoiseSnippet() guard added to ingestion loop. Author willing to submit PR if approach is acceptable.