Part of #534 (Phase 3 EPIC). Pairs with #538 (loop). Without this, auto-extraction is a liability — with it, the system gets less annoying over time instead of more.
Thesis
Hooks alone don't solve memory hygiene; they're the trigger, not the mechanism. The actual mechanism is a small set of patterns working together: decay scoring drives ranking down for unused memories, a periodic review subagent surfaces removal candidates, contradiction detection (#537) prevents silent conflicts, and a trivially-fast "drop this" gesture lets users prune in one keystroke when they see noise.
Current behavior
- Memories live forever once written.
- No access tracking.
- No review pass.
- No quick-drop UI.
Proposed change
Decay scoring — every memory carries last_accessed, access_count, and a per-type decay rate. Recall (#536) already uses these as signals; the same scores power a "below-threshold for N days" candidate set for proposed removal. Decay is type-aware: episodic decays fast (days), procedural slowly (months), constitutional not at all by default.
Periodic review subagent — fires from PostCompact hook (#538) and on a daily-on-startup cadence. Reads memory + access stats, proposes a review queue:
Always proposes, never auto-applies. Reference-cc's /remember skill is exactly this pattern; it's what makes auto-extraction tolerable instead of annoying.
One-key drop in /memory UI — the cheapest hygiene mechanism. When a user sees a bad memory, single keystroke removes it. Builds the user-driven feedback loop the decay scoring depends on.
Promotion lifecycle — when an episodic memory gets accessed N times across M sessions, propose promotion to procedural. When procedural proves durable, propose promotion to constitutional. Promotions never automatic — proposed via review queue.
Open questions
- Default decay rates per type.
- Review cadence: daily? Per-session? Both?
- How to surface the review queue without being noisy — a numbered count in the status bar that opens on demand?
- Should "auto-apply trivial cases" ever be allowed (e.g., dedup of literal duplicates)?
Acceptance signals
- Memory store size stabilizes over time instead of growing monotonically.
- User-initiated drops trend down across releases (proxy for "memory feels right").
- Review queue is opt-in to view, never blocks user flow.
- Promotion proposals visible and approvable from
/memory.
- A long-running test: 10K simulated turns + extraction events leaves the store under a configurable size cap.
Part of #534 (Phase 3 EPIC). Pairs with #538 (loop). Without this, auto-extraction is a liability — with it, the system gets less annoying over time instead of more.
Thesis
Hooks alone don't solve memory hygiene; they're the trigger, not the mechanism. The actual mechanism is a small set of patterns working together: decay scoring drives ranking down for unused memories, a periodic review subagent surfaces removal candidates, contradiction detection (#537) prevents silent conflicts, and a trivially-fast "drop this" gesture lets users prune in one keystroke when they see noise.
Current behavior
Proposed change
Decay scoring — every memory carries
last_accessed,access_count, and a per-type decay rate. Recall (#536) already uses these as signals; the same scores power a "below-threshold for N days" candidate set for proposed removal. Decay is type-aware:episodicdecays fast (days),proceduralslowly (months),constitutionalnot at all by default.Periodic review subagent — fires from
PostCompacthook (#538) and on a daily-on-startup cadence. Reads memory + access stats, proposes a review queue:Always proposes, never auto-applies. Reference-cc's
/rememberskill is exactly this pattern; it's what makes auto-extraction tolerable instead of annoying.One-key drop in
/memoryUI — the cheapest hygiene mechanism. When a user sees a bad memory, single keystroke removes it. Builds the user-driven feedback loop the decay scoring depends on.Promotion lifecycle — when an
episodicmemory gets accessed N times across M sessions, propose promotion toprocedural. Whenproceduralproves durable, propose promotion toconstitutional. Promotions never automatic — proposed via review queue.Open questions
Acceptance signals
/memory.