37 lines
1.5 KiB
Markdown
37 lines
1.5 KiB
Markdown
---
|
|
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.
|