Skip to content

[Bug]: memory status shows inconsistent Dirty state, watcher stops auto-indexing, and --deep required to confirm health on 2026.6.1 #90801

Description

@fenglanhua

Bug type

Regression (worked before, now fails)

Beta release blocker

No

Summary

After upgrading from 2026.5.26 to 2026.6.1 with memorySearch.provider: gemini, memory status reports inconsistent Dirty state between bare and --deep invocations, and the memory watcher no longer auto-indexes new files.

Steps to reproduce

Before upgrade, set openclaw config set agents.defaults.memorySearch.provider gemini
Upgrade 2026.5.26 → 2026.6.1
Run openclaw memory status → shows Dirty: yes, Vector search: paused
Run openclaw memory status --deep → shows Dirty: no, Vector store: ready
Write new files to memory extra path (~/clawd/memory/)
Wait — watcher does not trigger, files remain unindexed
Run openclaw memory status --deep → still shows previous indexed count
Run openclaw memory status --index --agent main → successfully indexes new files

Expected behavior

memory status and memory status --deep should report consistent health state
Memory watcher should auto-detect and index new files as in 2026.5.26
Manual --index should not be required for routine file additions

Actual behavior

memory status reports Dirty: yes / vector search paused (misleading)
memory status --deep reports healthy state (correct)
Watcher silent — gateway.log shows no memory/embed/sync activity after startup
New files only indexed after manual openclaw memory status --index --agent main

OpenClaw version

2026.6.1 (2e08f0f)

Operating system

Rocky Linux, Node v24.14.1

Install method

npm global (openclaw update)

Model

google/gemini-3-flash-preview

Provider / routing chain

Google AI Studio API key → OpenClaw Gateway → memorySearch (gemini/gemini-embedding-001)

Additional provider/model setup details

json"memorySearch": {
"extraPaths": ["/path/to/memory/"],
"enabled": true,
"provider": "gemini"
}

Logs, screenshots, and evidence

gateway.log after startup — no memory watcher activity:
2026-06-06T08:38:43.230+08:00 [gateway] http server listening (9 plugins: memory-core, telegram, ...)
2026-06-06T08:41:05.221+08:00 [gmail-watcher] gmail watcher stopped
(No memory/embed/sync/watcher entries)
memory status (misleading):
Provider: gemini (requested: gemini)
Dirty: yes
Vector search: paused until memory is rebuilt
Index identity: index was built for model gemini-embedding-001, expected
memory status --deep (correct):
Provider: gemini (requested: gemini)
Model: gemini-embedding-001
Dirty: no
Vector store: ready
Semantic vectors: ready
Embeddings: ready
After manual --index:
Memory index complete.
Indexed: 1384/1384 files · 21580 chunks
Dirty: no

Impact and severity

Affected: Users with Google/gemini memorySearch provider on 2026.6.1
Severity: Medium — memory health status is misleading, auto-indexing broken. Workaround available (manual --index), but automation pipelines relying on watcher will silently fail.
Frequency: Always reproducible after upgrade

Additional information

Related to #90786 and #90787 (same upgrade path, same provider configuration).
Workaround for #90786/#90787: setting memorySearch.provider: gemini before upgrading preserves vector search functionality. However this issue (#watcher + Dirty display) persists even with the workaround applied.
Last known good: 2026.5.26 — watcher auto-indexed new files immediately, memory status and --deep reported consistent state.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P2Normal backlog priority with limited blast radius.bugSomething isn't workingclawsweeper:fix-shape-clearClawSweeper found a clear likely implementation shape for this issue.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerAuth, provider routing, model choice, or SecretRef resolution may break.impact:session-stateSession, memory, transcript, context, or agent state can drift or corrupt.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.regressionBehavior that previously worked and now fails

    Type

    No type

    Fields

    Priority

    None yet

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions