The June 25 companion story starts with issue #95495, where GitHub user fenglanhua reported that an OpenClaw 2026.6.9 upgrade left memory status showing 0 of 1,499 files indexed after the memory store moved.
That public report mattered because it did more than say "memory broke." It named the before-and-after behavior, ruled out a config detour, showed the old data still existed, and connected the failure to an upgrade path readers could understand.
The report
The issue was labeled as a regression, a session-state risk, and a data-loss impact. Its summary said the old embedded corpus remained on disk while the new agent database appeared as an empty shell, with vector search paused until memory was rebuilt.
That is the kind of operator evidence maintainers can act on: an upgrade command said OK, but the state underneath no longer matched the user's expectations.
The repair
PR #95631 by mushuiyu886, merged June 24 by vincentkoc, moved the fix into OpenClaw's doctor migration boundary.
The merged commit 414c250a added memory-core doctor contract code, memory-host schema changes, state-migration tests, doctor preflight wiring, and coverage for partial or conflicting legacy sidecars.
The judgment
The careful decision was not simply "copy the old database." The PR says legacy sidecars should import through an explicit doctor state migration, restore matching vector rows before archive, merge when safe, and leave sidecars in place when row or vector-dimension conflicts make import unsafe.
That keeps the human arc fair: a user surfaced a concrete upgrade harm, a contributor narrowed the root cause, and maintainers accepted a fix that preserves retry and recovery state instead of hiding the caveat.
The follow-up
The constructive question for OpenClaw is whether future upgrade notes and doctor output will make memory-store movement visible before users discover it through a zero-indexed corpus.