--- 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.