Use Case
ReMe handles long-term memory well (summary, decay, retrieval), but short-lived daily notes (YYYY-MM-DD.md style) can accumulate unresolved items that fall through the cracks.
Problem
In a QwenPaw agent workspace, memory/YYYY-MM-DD.md files serve as short-lived "daily notes" — quick context dumps, decisions, and pending items. When the agent is interrupted or a context window collapses mid-session, these notes often end up containing:
- TODO: add validation for edge cases in stock report → not started
- BLOCKED: need user confirmation for API key rotation
There's currently no lifecycle management for these notes. They just sit there, silently. The content is ephemeral (shouldn't survive ~7 days), but the TODO/BLOCKED markers are actionable signals that the agent should revisit.
Proposed Feature: forgotten-memory-check Hook
Add an optional stale TODO detector that runs as part of ReMe's post-chat sync:
def check_forgotten_memories(memory_dir, max_age_days=7):
"""Scan daily notes for unresolved markers older than max_age_days."""
stale = []
cutoff = datetime.now() - timedelta(days=max_age_days)
for note in Path(memory_dir).glob("*.md"):
if note.stat().st_mtime > cutoff:
continue # Not old enough
content = note.read_text()
markers = re.findall(r'(?i)(TODO|FIXME|BLOCKED|待办|待确认)', content)
if markers:
stale.append({
"file": note.name,
"days_old": (datetime.now() - note.stat().st_mtime).days,
"markers": list(set(m.upper() for m in markers))
})
return stale
How It Would Help
| Without |
With |
| TODOs sit forgotten for weeks |
Agent gets a warning after 7 days |
| No signal to clean up old notes |
Stale items are surfaced on next sync |
| Decay only covers long-term memory |
Short-term notes get lifecycle management |
Integration Point
This could be exposed as:
- A pre-chat hook — agent checks forgotten memories before each conversation starts
- A
ReMe.forget() extension — include stale-marker filtering in the existing cleanup path
- A config option in
sync_policy — "stale_marker_days": 7
Relationship to Existing Features
This complements (not replaces):
summary — summarizes conversations, doesn't flag stale action items
decay — degrades memory scores based on time, but operates on long-term files not short-term notes
fetch — retrieves context, doesn't detect what's missing/forgotten
The gap: there's no mechanism to surface "this daily note had an unresolved TODO from 10 days ago and it was never addressed."
Alternatives Considered
- External cron job — works but bypasses ReMe's memory lifecycle; creates a parallel system
- Agent self-check — agents can do this, but it requires the agent to remember to check (ironic)
- ReMe-level hook — keeps lifecycle management inside the memory system where it belongs
Would love to hear thoughts on whether this fits ReMe's design philosophy, or if there's a better integration point I'm not seeing.
Use Case
ReMe handles long-term memory well (summary, decay, retrieval), but short-lived daily notes (
YYYY-MM-DD.mdstyle) can accumulate unresolved items that fall through the cracks.Problem
In a QwenPaw agent workspace,
memory/YYYY-MM-DD.mdfiles serve as short-lived "daily notes" — quick context dumps, decisions, and pending items. When the agent is interrupted or a context window collapses mid-session, these notes often end up containing:There's currently no lifecycle management for these notes. They just sit there, silently. The content is ephemeral (shouldn't survive ~7 days), but the
TODO/BLOCKEDmarkers are actionable signals that the agent should revisit.Proposed Feature:
forgotten-memory-checkHookAdd an optional stale TODO detector that runs as part of ReMe's post-chat sync:
How It Would Help
Integration Point
This could be exposed as:
ReMe.forget()extension — include stale-marker filtering in the existing cleanup pathsync_policy—"stale_marker_days": 7Relationship to Existing Features
This complements (not replaces):
summary— summarizes conversations, doesn't flag stale action itemsdecay— degrades memory scores based on time, but operates onlong-termfiles notshort-termnotesfetch— retrieves context, doesn't detect what's missing/forgottenThe gap: there's no mechanism to surface "this daily note had an unresolved TODO from 10 days ago and it was never addressed."
Alternatives Considered
Would love to hear thoughts on whether this fits ReMe's design philosophy, or if there's a better integration point I'm not seeing.