---
id: "0001"
date: 2026-06-03
status: Accepted
supersedes:
superseded-by:
affected-paths: []
affected-components: []
migration_confidence: medium
migration_source: "docs/memory-system/03-architecture-decisions.md### ADR-001 — Two memory types, kept as separate systems"
---

# 0001 — Two memory types, kept as separate systems

## Context

Earlier attempts to make one tool serve both "what happened" and "how do we do
  X" felt forced (e.g. trying to make memsearch filter knowledge by tags).

## Decision

Model **episodic** memory and **semantic/knowledge** memory as two separate
  systems with different tools.
- **Rationale**: They have different lifecycles (episodic accretes and decays; knowledge is
  deliberately maintained), different write paths (auto-captured vs curated with guardrails),
  and different query patterns ("when did we…" vs "how do we…"). Separation dissolves the
  earlier integration tension entirely.

## Consequences

Episodic and semantic/knowledge memory are built and maintained as two independent systems with different tools, lifecycles, and write paths, rather than one unified store. This avoids the awkward filtering that forcing a single tool (e.g. memsearch with tags) would require, at the cost of maintaining two separate systems instead of one.

## Alternatives rejected

One unified store (memsearch-for-everything, or OpenBrain's single
  `thoughts` table) — conflates the two and forces awkward filtering.
