---
id: "0008"
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-008 — Markdown-as-truth; sync the vault, not the indexes"
---

# 0008 — Markdown-as-truth; sync the vault, not the indexes

## Context

Must be accessible on a VPS / multiple machines but run local-fast (Goal 4).

## Decision

Sync the **markdown vault** to the VPS via **git or Syncthing** (choice deferred
  to build time). **Graphs/indexes (Milvus Lite, Graphify `graphify-out/`) are rebuilt per
  machine and never synced.**
- **Rationale**: Markdown is plain text — git/Syncthing sync it trivially; lazy (hourly or
  continuous-async) is enough. Indexes are disposable caches; syncing binary DBs invites
  conflicts for no gain. Local reads stay fast; ownership and portability stay with the user.

## Consequences

Only the markdown vault is synced across machines (via git or Syncthing); derived indexes like Milvus Lite and Graphify's graphify-out/ are rebuilt per machine and never synced, keeping local reads fast and avoiding binary-DB sync conflicts. This preserves user ownership and portability of the source data while requiring each machine to rebuild its own indexes.

## Alternatives rejected

**OpenBrain / Mem0** hosted DBs — always-remote, adds per-query
  latency and monthly cost, conflicts with local-fast; ownership weaker (Mem0 especially).
  Only worth it for real-time cross-tool memory, which the user called overkill.
