-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Context
Engram has 3,140+ memories. Most never reach the 5-evaluation threshold for the maintenance system's quadrant classification. Memories accumulate indefinitely.
Problem
Memories that are never confirmed useful (0 followed_count, low surfaced_count) persist forever. The existing maintenance system (review.go, maintain.go) requires >= 5 evaluations to classify a memory as Noise/Leech/Working/Hidden Gem. Most memories never get surfaced enough to reach that threshold, so they escape cleanup.
Proposed approach
Add a time-since-last-relevance decay factor:
- Track
last_relevant_at(last time memory was marked--relevant --usedvia feedback) - Memories without any confirmed relevance decay in surfacing priority over time
- After a configurable period (e.g., 90 days) with no confirmed relevance, memories become candidates for auto-removal or archiving
- Decay should be gradual (reduce surfacing probability) not cliff-edge (sudden deletion)
Key constraint: don't overswing. Many memories are legitimately low-frequency but high-value ("never force-push to main" might go months without being relevant, then save you). The decay should primarily target memories that are surfaced repeatedly but never confirmed useful.
Related
- Existing issue Auto-remove memories after sustained irrelevance #347 (auto-remove after sustained irrelevance) may overlap — consider whether this supersedes or complements it
- Spec:
docs/superpowers/specs/2026-03-22-generalizability-gating-design.md(section: "What this does NOT cover")