Link vs Rex-Memory — Adoption Plan
Perbandingan Link (gowtham0992) vs rex-memory vault kita, plus adoption plan fitur yang worth diport.
Link vs Rex-Memory — Adoption Plan
Hasil analisis https://github.com/gowtham0992/link setelah refactor rex-memory jadi sistem retrieval 3-lapis.
Perbandingan
| Aspek | Link | Rex-Memory |
|---|---|---|
| Format | Markdown + YAML frontmatter | Markdown + YAML frontmatter |
| Lokalitas | Plain files, git, no DB | Plain files, git, no DB |
| Lapis | raw/ (immutable) + wiki/ (agent-compiled) |
daily/ (cold) + projects/+knowledge/ (warm) + Hermes memory (hot) |
| Index | index.md + _backlinks.json auto |
index.md auto (bin/reindex.py tiap 30m) |
| Write safety | Review-gated, conflict detection, supersedes | Direct-write via write_file/patch |
| Recall | Lexical + semantic (measured 0.749 hit@1) | Agent baca index.md → read_file |
| Cross-agent | CLI + MCP + 7 integrasi (Codex/Claude/Cursor/Kiro/Copilot) | Hermes-only |
| Complexity | 6K LoC, optional semantic deps | 230 LoC reindex.py, zero deps |
| Produk | Memory untuk agent (propose→approve→retrieve) | Memory dari agent (agent catat, user baca) |
Fitur Link yang powerful
1. applies_when fencing (HIGH VALUE)
Memory bisa dibatasi scope:
applies_when: "project:arthanta"
applies_when: "path:~/workspace/cde-*"
applies_when: "task:frontend"
Use case rex-memory: Knowledge Laravel trustProxies cuma relevan ke proyek Laravel, bukan ke Flutter. Sekarang semua knowledge global — agent harus filter sendiri.
Adoption: Tambah field applies_when di frontmatter knowledge/*.md. Reindex bisa group index by scope. Agent skill bisa filter hasil search_files by applies_when match.
2. supersedes lineage (MEDIUM VALUE)
Memory lama diarsip dengan link ke memory baru:
supersedes: vps-specs-2026-07.md
superseded_by: vps-specs-2026-08.md
Use case rex-memory: VPS specs berubah (2-core → 4-core). Sekarang tinggal replace teks, riwayat cuma di git log (susah dibaca).
Adoption: Tambah supersedes/superseded_by di frontmatter. Reindex render lineage chain di index. Kalau ada superseded_by, kasih warning "outdated, lihat X".
3. context field — retrieval text bukan claim (LOW VALUE untuk kita)
Teks yang bantu recall tapi bukan bagian memory itu sendiri. Echo/duplicate check cuma baca memory_claim_text (title+TLDR+body), skip context.
Use case Link: Session transcript punya deixis ("itu bagus") — context nampung turn sebelumnya biar retrievable, tapi nggak dianggap duplikat kalau memory lain juga bilang "itu bagus".
Use case rex-memory: Kita nggak punya automatic capture, jadi semua write manual. Agent sudah tahu mana claim mana bukan. Skip dulu.
4. Session-end hooks + proposal mining (MEDIUM VALUE, tapi kerja berat)
Transkrip agent otomatis dimining jadi proposal, user tinggal approve. Echo guard 2-layer (Link's output dropped, lalu restating existing memory dropped).
Use case rex-memory: Daily log sekarang manual. Kalau ada hook, agent bisa auto-capture "preferensi Rey: model pinned cc/claude-sonnet-5" dari transkrip, user cuma approve.
Adoption: Butuh integrasi Hermes session lifecycle. Nggak sepele — Link punya agent_hooks.py 500+ baris. Defer sampai vault manual stabil dulu.
5. Benchmark as CI gate (LOW VALUE untuk solo use)
Link punya 62-memory corpus, 1,176 test cases. CI fails kalau recall hit@1 turun.
Use case Link: Multi-contributor repo, cegah regression saat refactor recall logic.
Use case rex-memory: Solo vault. Regression detection = "kok agent nggak nemu X lagi?" Benchmark overhead tinggi untuk gain rendah. Skip.
6. Semantic search (HIGH VALUE, tapi deps trade-off)
Lexical (token match) hit@1 = 0.589. Quality tier (all-MiniLM-L6 ONNX) hit@1 = 0.749. Zero-overlap paraphrase: lexical 0.048 → quality 0.120 (2.5×).
Use case rex-memory: "cara deploy Laravel di nginx" vs "aturan trustProxies di balik reverse proxy" — pure paraphrase, lexical miss. Sekarang agent harus nebak keyword atau baca index 1-by-1.
Adoption trade-off:
- Pro: Hit rate naik 27% (0.589 → 0.749), zero-overlap 2.5×.
- Cons: Dependency (sentence-transformers / model2vec), model 30-90MB, build embedding index (sekali setup + incremental), latency +8ms.
Keputusan: DEFER sampai vault hits 200+ notes. Di 71 notes sekarang, lexical + summary bagus cukup. Complexity cost belum worth it.
Adoption plan (prioritas)
Phase 1 — Low-hanging fruit (1-2 jam kerja)
A. applies_when fencing
- Tambah
applies_when: "project:X"/applies_when: "stack:laravel"di frontmatter schema (CONVENTIONS.md). reindex.py: parseapplies_when, render badge di index ([Laravel],[Flutter]).- Kurasi 10-15 knowledge paling sering false-positive (misal Laravel-specific ke Flutter project) — tambah
applies_when. - Tulis skill
scoped-knowledge-retrieval: wrappersearch_files+ frontmatter filter by scope match.
B. supersedes lineage
- Tambah
supersedes/superseded_bydi frontmatter schema. reindex.py: detect supersession chain, render lineage di index (A ← B ← C [latest]).- Kalau note punya
superseded_by, index kasih 🔗 "Outdated → lihat X".
Phase 2 — Medium effort (4-6 jam)
C. Backlink tracking
Link punya _backlinks.json — reverse index [[wikilink]]. Berguna untuk "knowledge X dirujuk dari mana aja?"
reindex.py: scan body[[link]]atau[text](path.md), build reverse index JSON.- Index render "Referenced by: …" di bawah tiap note.
D. Conflict detection
Link refuse write kalau ada memory yang bentrok (negation, contradictory option). User dipaksa resolve via --supersedes.
reindex.py(atau script terpisah): detect contradiction pattern antar memory — "prefer X" vs "avoid X", "use Riverpod" vs "use Provider".- Report di stderr saat reindex: "⚠️ Potential conflict: A vs B".
Phase 3 — Future (defer)
E. Semantic search — defer sampai 200+ notes.
F. Session-end hooks — defer sampai daily-log manual lancar 3+ bulan.
G. MCP server — defer sampai ada use case cross-agent nyata (sekarang cuma Hermes).
Non-adoption (over-engineering untuk kita)
memory_typetaxonomy (preference/decision/project/fact/note/procedure) —type+statuscukup.review_status/reviewed_at— semua write manual, implisit reviewed.expires_at/review_after— update manual, nggak butuh TTL.- CI benchmark gate — solo vault, nggak butuh regression gate.
- LinkBar GUI — Obsidian + terminal cukup.
Kesimpulan
Link adalah mature memory infrastructure untuk multi-agent, production-grade, measured. Rex-memory adalah vault manual yang direfactor jadi retrieval system — optimized untuk solo dev + Hermes-native.
Worth stealing:
applies_whenscoping (high ROI, low complexity).supersedeslineage (medium ROI, low complexity).- Backlink tracking (nice-to-have).
Defer:
- Semantic search (deps + 90MB model, ROI rendah di <100 notes).
- Session hooks (integration overhead tinggi, manual masih lancar).
- MCP server (nggak butuh cross-agent support sekarang).
Phase 1 implementable hari ini. Phase 2 kalau vault hits pain point retrieval (false positive, contradiction). Phase 3 kalau vault scale 200+ notes atau ada agent kedua.
Backlinks
No backlinks