--- tags: [project, memory, claude, sync] topic: second-brain date: 2026-07-14 status: active related: - "[[projects-index]]" - "[[services-catalog]]" - "[[openbrain]]" --- # second-brain — хибридна памет за Claude Code (Mac + Unraid) Изградена 2026-07-13/14. Код: `~/Homelab/second-brain` (Mac) = `/mnt/user/projects/second-brain` (Unraid). Repo: `git.xtrm-lab.org/jazzymc/second-brain`. ## Архитектура - **SessionStart hook** — инжектира working memory + скорошни логове + активни решения + скорошни бележки, routed по cwd → vault - **SessionEnd hook** — `claude -p` haiku обобщение в 3-то лице → `Session-Memory/logs/YYYY-MM-DD.md` → git commit+push → FTS индекс - **`memory` skill** — „запомни" (working memory, 2500 cap), „решихме" (append-only ADR със supersedes верига), recall със задължителни цитати - **FTS5 индекс** — SQLite, локален на всяка машина (не се синхронизира, rebuild-ва се) - **Decision ledger** — `Decisions/` във всеки vault: решение никога не се пренаписва, supersede верига пази пълната история ## Синхронизация (замени неработещия Obsidian LiveSync) | Repo | Mac | Unraid | |------|-----|--------| | obsidian-{ampeco,homelab,personal} | `~/Obsidian/*` | `/mnt/user/projects/obsidian/*` (`/root/Obsidian` symlink) | | claude-memory (споделена working memory) | `~/.claude/memory` | `.claude/memory` в appdata | | second-brain (код) | `~/Homelab/second-brain` | `/mnt/user/projects/second-brain` | - **Mac**: launchd `org.xtrm.vault-sync` на 5 мин (pull --rebase + commit + push) - **Unraid**: cron през `/boot/config/plugins/dynamix/vault-sync.cron` на 5 мин - **Конфликти**: session логове и memory.md са `merge=union` (append-only → auto-merge); други файлове → rebase abort + лог във `vault-sync.log`, sync-ът на този vault спира до ръчна намеса - **Boot persistence** (Unraid): symlinks в `install-claude.sh`; python3 през NerdTools плъгин ## Операционни бележки - Старите LiveSync копия: `/mnt/user/projects/obsidian-livesync-old-20260714` - Sync лог: `~/.claude/memory/vault-sync.log` (и на двете машини) - Unraid repos: `core.fileMode false` (FUSE) - Recall: `python3 ~/Homelab/second-brain/scripts/recall.py ""`