You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(memory): Add status metadata and session-scoped retrieval for action-oriented memories #143
When EverMemOS is used with long-running agents (e.g., OpenClaw 24/7 agents), completed action items from past sessions are retrieved alongside current context. The agent then re-executes already-finished tasks because it cannot distinguish resolved actions from active ones.
Root cause
No status metadata on memories — completed and pending action items look identical in retrieval results.
No session boundary awareness — retrieval treats all memories equally regardless of which session produced them.
No relevance decay for action-oriented memories — a "deploy X" instruction from 3 days ago has the same retrieval weight as one from 5 minutes ago.
Real-world impact
In production OpenClaw deployments, we observe:
Agents re-running deployment scripts that already succeeded
Duplicate messages sent because a "send update to user" memory resurfaces
Manual workaround required: prefixing resolved items with [RESOLVED] markers in memory text
Possible values: active (default) | resolved | superseded
2. Session-scoped retrieval option
Add a session_id field to memories and a retrieval filter:
GET /api/v1/memories?session_id=abc123&include_resolved=false
This allows agents to scope retrieval to the current session while optionally including cross-session context.
3. Relevance decay for action memories
For memories tagged as action-oriented (trait type or custom tag), apply a time-based decay factor to retrieval scoring. Informational memories (facts, preferences) would remain unaffected.
Alternatives Considered
Client-side markers ([RESOLVED] prefix in text): Currently used as a workaround. Fragile — depends on LLM parsing text markers correctly.
Activity