Summary
On the viewer Dashboard, the MEMORIES stat tile counts only the discrete memory_save "fact" namespace (mem:memories), not the long-term memory corpus that auto-capture actually produces (semantic memories, session summaries, lessons, insights, crystals). On a healthy install with thousands of captured items, the tile reads MEMORIES: 1, which strongly reads as "memory capture is broken" even though everything is working.
This is a labeling / metric-scoping bug, not a data or endpoint failure. It is distinct from #544 (closed), where full-list endpoints 500'd on a large corpus and the viewer fell back to 0. Here the endpoints succeed and every other tile is accurate — the count is simply scoped to the wrong store.
Environment
- agentmemory plugin (Claude Code):
0.9.26
- runtime
@agentmemory/agentmemory: 0.9.27
- engine (
iii): 0.11.2
- OS: macOS, native/local server, viewer at
http://localhost:3113, daemon at :3111
- No
AGENTMEMORY_SECRET
What the dashboard shows
MEMORIES
1
latest versions
While the same install, via memory_diagnose, reports a large, healthy corpus:
| Store |
Count |
| Semantic memories |
1,640 |
| Session summaries |
79 |
| Lessons |
899 |
| Crystals |
163 |
| Insights |
640 |
memory_save facts |
1 ← what the tile counts |
The one "fact" is a manual test write ("Test write to verify agentmemory is functional"), so the tile happens to render 1.
Evidence that capture is healthy
memory_diagnose → all stores pass ("All 1640 semantic memories are consistent", "All 79 session summaries are consistent", "All 899 lessons are healthy", etc.).
The compress pipeline is actively running on real sessions, e.g. audit entries:
mem::summarize — observationCount 822 — "Split-button reset UX with undo toast and dev database branching"
mem::summarize — observationCount 365 — "Refactor, test suite, and production bug fix"
mem::summarize — observationCount 67 — "Fix /scheduled-tasks 404 and consolidate duplicate proxy files"
mem::consolidate-pipeline — semantic.newFacts: 26, totalSummaries: 79
memory_recall on a recent topic returns real file_edit / file_write / command_run observations with session IDs and timestamps. So capture → compress → recall works end to end.
Expected behavior
The MEMORIES tile should reflect the long-term memory corpus a user thinks of as "memories" — i.e. include semantic memories / session summaries (and/or surface them as their own labeled tiles), rather than counting only the rarely-used discrete memory_save fact namespace.
At minimum, one of:
- Have the tile count the semantic/summary corpus (what users mean by "memories"), or
- Rename the existing tile to something accurate for that namespace (e.g. "Saved facts"), and add a separate "Semantic" / "Summaries" tile.
As-is, a fully-working install presents as empty on the primary dashboard, which reads as a capture failure.
Summary
On the viewer Dashboard, the MEMORIES stat tile counts only the discrete
memory_save"fact" namespace (mem:memories), not the long-term memory corpus that auto-capture actually produces (semantic memories, session summaries, lessons, insights, crystals). On a healthy install with thousands of captured items, the tile readsMEMORIES: 1, which strongly reads as "memory capture is broken" even though everything is working.This is a labeling / metric-scoping bug, not a data or endpoint failure. It is distinct from #544 (closed), where full-list endpoints
500'd on a large corpus and the viewer fell back to 0. Here the endpoints succeed and every other tile is accurate — the count is simply scoped to the wrong store.Environment
0.9.26@agentmemory/agentmemory:0.9.27iii):0.11.2http://localhost:3113, daemon at:3111AGENTMEMORY_SECRETWhat the dashboard shows
While the same install, via
memory_diagnose, reports a large, healthy corpus:memory_savefactsThe one "fact" is a manual test write (
"Test write to verify agentmemory is functional"), so the tile happens to render1.Evidence that capture is healthy
memory_diagnose→ all storespass("All 1640 semantic memories are consistent", "All 79 session summaries are consistent", "All 899 lessons are healthy", etc.).The compress pipeline is actively running on real sessions, e.g. audit entries:
mem::summarize— observationCount 822 — "Split-button reset UX with undo toast and dev database branching"mem::summarize— observationCount 365 — "Refactor, test suite, and production bug fix"mem::summarize— observationCount 67 — "Fix /scheduled-tasks 404 and consolidate duplicate proxy files"mem::consolidate-pipeline—semantic.newFacts: 26,totalSummaries: 79memory_recallon a recent topic returns realfile_edit/file_write/command_runobservations with session IDs and timestamps. So capture → compress → recall works end to end.Expected behavior
The MEMORIES tile should reflect the long-term memory corpus a user thinks of as "memories" — i.e. include semantic memories / session summaries (and/or surface them as their own labeled tiles), rather than counting only the rarely-used discrete
memory_savefact namespace.At minimum, one of:
As-is, a fully-working install presents as empty on the primary dashboard, which reads as a capture failure.