Policies

Memory Kinds and Retention

Different memory kinds should age and rank differently to keep retrieval useful over time.

Kind taxonomy

  • Conversational: raw episodic turns
  • SessionSummary: compressed session-level context
  • Fact: stable propositions and profile truths
  • Lesson: extracted guidance from prior outcomes
  • Decision: explicit committed decision
  • Preference: user preferences intended to persist

Default policy ideas

Not all memories should decay equally. Conversational snippets become noisy quickly, while facts and preferences should persist unless explicitly superseded.

Define policy centrally and keep it versioned; this prevents silent retrieval drift when teams tune decay weights ad hoc.

Example policy table
conversational: { ttl_days: 90,  decay_half_life_days: 14 }
session_summary: { ttl_days: 60, decay_half_life_days: 10 }
fact: { ttl_days: 730, decay_half_life_days: 120 }
preference: { ttl_days: 730, decay_half_life_days: null }
decision: { ttl_days: null, decay_half_life_days: null }

Operational guardrails

  • Record policy version used at ingest time.
  • Recompute scores if policy version changes materially.
  • Log filtered-hit counts by reason (ttl, invalidated, scope).