cc-os/docs/adr/0008-markdown-as-truth-sync...

1.5 KiB

id date status supersedes superseded-by affected-paths affected-components migration_confidence migration_source
0008 2026-06-03 Accepted
medium 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.