claude-memory-layer 1.0.31 → 1.0.32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (313) hide show
  1. package/README.md +9 -2
  2. package/dist/cli/index.js +1 -1
  3. package/package.json +11 -2
  4. package/scripts/postinstall-embedding-backend.cjs +16 -12
  5. package/AGENTS.md +0 -71
  6. package/CLAUDE.md +0 -30
  7. package/HANDOFF.md +0 -92
  8. package/Memo.txt +0 -558
  9. package/benchmarks/replay/anonymized-real-sessions.json +0 -48
  10. package/config/kpi-thresholds.json +0 -7
  11. package/context.md +0 -636
  12. package/docs/ARCHITECTURE_COMPARISON_AND_RECOMMENDATIONS.md +0 -627
  13. package/docs/HERMES_MEMORY_INGESTION_ANALYSIS.md +0 -440
  14. package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +0 -271
  15. package/docs/MEMORY_USEFULNESS_AUDIT.md +0 -371
  16. package/docs/MEMORY_USEFULNESS_AUDIT_RAW.json +0 -80
  17. package/docs/MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md +0 -333
  18. package/docs/MEMU_ADOPTION.md +0 -40
  19. package/docs/OPERATIONS.md +0 -18
  20. package/docs/PRODUCT_VALIDATION_MATRIX.md +0 -82
  21. package/docs/PROJECT_STRUCTURE_ANALYSIS.md +0 -421
  22. package/docs/REFACTORING_MILESTONES_AND_ISSUES.md +0 -501
  23. package/docs/REFACTORING_PLAN_THIN_CORE.md +0 -414
  24. package/docs/REFERENCE_PROJECT_ANALYSES.md +0 -25
  25. package/docs/SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md +0 -452
  26. package/docs/TARGET_ARCHITECTURE_AND_FOLDER_STRUCTURE.md +0 -446
  27. package/docs/architecture/comparison-index.md +0 -47
  28. package/docs/reports/codex-real-data-validation-20260505T040447Z.md +0 -46
  29. package/plan.md +0 -1642
  30. package/scripts/build.ts +0 -159
  31. package/scripts/bump-patch-version.sh +0 -18
  32. package/scripts/delete-unknown-projects.js +0 -154
  33. package/scripts/fix-sync-gap.js +0 -32
  34. package/scripts/generate-session-qrels.ts +0 -126
  35. package/scripts/heartbeat-memory-orchestrator.sh +0 -28
  36. package/scripts/replay-retrieval-benchmark.ts +0 -69
  37. package/scripts/report-sync-gap.js +0 -26
  38. package/scripts/review-queue-auto-resolve.js +0 -21
  39. package/scripts/sync-gap-auto-heal.sh +0 -17
  40. package/spec.md +0 -624
  41. package/specs/20260207-dashboard-upgrade/context.md +0 -38
  42. package/specs/20260207-dashboard-upgrade/spec.md +0 -96
  43. package/specs/citations-system/context.md +0 -243
  44. package/specs/citations-system/plan.md +0 -495
  45. package/specs/citations-system/spec.md +0 -371
  46. package/specs/endless-mode/context.md +0 -305
  47. package/specs/endless-mode/plan.md +0 -620
  48. package/specs/endless-mode/spec.md +0 -455
  49. package/specs/entity-edge-model/context.md +0 -401
  50. package/specs/entity-edge-model/plan.md +0 -459
  51. package/specs/entity-edge-model/spec.md +0 -391
  52. package/specs/evidence-aligner-v2/context.md +0 -401
  53. package/specs/evidence-aligner-v2/plan.md +0 -303
  54. package/specs/evidence-aligner-v2/spec.md +0 -312
  55. package/specs/mcp-desktop-integration/context.md +0 -278
  56. package/specs/mcp-desktop-integration/plan.md +0 -550
  57. package/specs/mcp-desktop-integration/spec.md +0 -494
  58. package/specs/memory-utilization-improvements/context.md +0 -145
  59. package/specs/memory-utilization-improvements/plan.md +0 -361
  60. package/specs/memory-utilization-improvements/spec.md +0 -361
  61. package/specs/post-tool-use-hook/context.md +0 -319
  62. package/specs/post-tool-use-hook/plan.md +0 -469
  63. package/specs/post-tool-use-hook/spec.md +0 -364
  64. package/specs/private-tags/context.md +0 -288
  65. package/specs/private-tags/plan.md +0 -412
  66. package/specs/private-tags/spec.md +0 -345
  67. package/specs/progressive-disclosure/context.md +0 -346
  68. package/specs/progressive-disclosure/plan.md +0 -663
  69. package/specs/progressive-disclosure/spec.md +0 -415
  70. package/specs/selective-tool-observation/context.md +0 -100
  71. package/specs/selective-tool-observation/plan.md +0 -158
  72. package/specs/selective-tool-observation/spec.md +0 -127
  73. package/specs/task-entity-system/context.md +0 -297
  74. package/specs/task-entity-system/plan.md +0 -301
  75. package/specs/task-entity-system/spec.md +0 -314
  76. package/specs/thin-core-refactor/context.md +0 -275
  77. package/specs/thin-core-refactor/plan.md +0 -536
  78. package/specs/thin-core-refactor/spec.md +0 -465
  79. package/specs/vector-outbox-v2/context.md +0 -470
  80. package/specs/vector-outbox-v2/plan.md +0 -562
  81. package/specs/vector-outbox-v2/spec.md +0 -466
  82. package/specs/web-viewer-ui/context.md +0 -384
  83. package/specs/web-viewer-ui/plan.md +0 -797
  84. package/specs/web-viewer-ui/spec.md +0 -516
  85. package/src/adapters/claude/capture/index.ts +0 -3
  86. package/src/adapters/claude/context/index.ts +0 -3
  87. package/src/adapters/claude/hooks/index.ts +0 -21
  88. package/src/adapters/claude/hooks/post-tool-use.ts +0 -239
  89. package/src/adapters/claude/hooks/prompt-injection-policy.ts +0 -104
  90. package/src/adapters/claude/hooks/semantic-daemon-client.ts +0 -209
  91. package/src/adapters/claude/hooks/semantic-daemon.ts +0 -283
  92. package/src/adapters/claude/hooks/session-end.ts +0 -59
  93. package/src/adapters/claude/hooks/session-start.ts +0 -73
  94. package/src/adapters/claude/hooks/stop.ts +0 -128
  95. package/src/adapters/claude/hooks/user-prompt-submit.ts +0 -361
  96. package/src/adapters/claude/index.ts +0 -4
  97. package/src/adapters/claude/transcript/index.ts +0 -4
  98. package/src/adapters/claude/transcript/transcript-reader.ts +0 -57
  99. package/src/adapters/claude/transcript/turn-reconstructor.ts +0 -65
  100. package/src/apps/cli/claude-settings-hooks.ts +0 -138
  101. package/src/apps/cli/codex-import-runner.ts +0 -125
  102. package/src/apps/cli/codex-validation-output.ts +0 -95
  103. package/src/apps/cli/hermes-import-runner.ts +0 -130
  104. package/src/apps/cli/hermes-validation-output.ts +0 -91
  105. package/src/apps/cli/index.ts +0 -1735
  106. package/src/apps/cli/mcp-install.ts +0 -106
  107. package/src/apps/cli/retrieval-disclosure-output.ts +0 -196
  108. package/src/apps/dashboard/assets/js/bootstrap.js +0 -244
  109. package/src/apps/dashboard/assets/js/chat.js +0 -373
  110. package/src/apps/dashboard/assets/js/disclosure.js +0 -232
  111. package/src/apps/dashboard/assets/js/modals.js +0 -298
  112. package/src/apps/dashboard/assets/js/overview.js +0 -655
  113. package/src/apps/dashboard/assets/js/state.js +0 -72
  114. package/src/apps/dashboard/assets/js/views.js +0 -468
  115. package/src/apps/dashboard/index.html +0 -543
  116. package/src/apps/dashboard/index.ts +0 -3
  117. package/src/apps/dashboard/style.css +0 -1750
  118. package/src/apps/index.ts +0 -5
  119. package/src/apps/server/api/chat.ts +0 -244
  120. package/src/apps/server/api/citations.ts +0 -105
  121. package/src/apps/server/api/events.ts +0 -137
  122. package/src/apps/server/api/health.ts +0 -53
  123. package/src/apps/server/api/index.ts +0 -26
  124. package/src/apps/server/api/projects.ts +0 -74
  125. package/src/apps/server/api/search.ts +0 -184
  126. package/src/apps/server/api/sessions.ts +0 -115
  127. package/src/apps/server/api/stats.ts +0 -723
  128. package/src/apps/server/api/turns.ts +0 -143
  129. package/src/apps/server/api/utils.ts +0 -65
  130. package/src/apps/server/index.ts +0 -111
  131. package/src/cli/index.ts +0 -3
  132. package/src/cli/retrieval-disclosure-output.ts +0 -2
  133. package/src/compat/index.ts +0 -5
  134. package/src/core/canonical-key.ts +0 -186
  135. package/src/core/citation-generator.ts +0 -63
  136. package/src/core/consolidated-store.ts +0 -356
  137. package/src/core/consolidation-worker.ts +0 -493
  138. package/src/core/context-formatter.ts +0 -276
  139. package/src/core/continuity-manager.ts +0 -341
  140. package/src/core/db-wrapper.ts +0 -64
  141. package/src/core/derive/fact-deriver.ts +0 -170
  142. package/src/core/derive/index.ts +0 -2
  143. package/src/core/derive/summary-deriver.ts +0 -76
  144. package/src/core/edge-repo.ts +0 -333
  145. package/src/core/embedder.ts +0 -4
  146. package/src/core/engine/embedding-maintenance-service.ts +0 -187
  147. package/src/core/engine/endless-memory-services.ts +0 -4
  148. package/src/core/engine/index.ts +0 -19
  149. package/src/core/engine/memory-engine-services.ts +0 -170
  150. package/src/core/engine/memory-ingest-service.ts +0 -317
  151. package/src/core/engine/memory-query-service.ts +0 -173
  152. package/src/core/engine/memory-runtime-service.ts +0 -162
  153. package/src/core/engine/memory-service-composition.ts +0 -231
  154. package/src/core/engine/retrieval-analytics-service.ts +0 -181
  155. package/src/core/engine/retrieval-disclosure-service.ts +0 -420
  156. package/src/core/engine/retrieval-orchestrator.ts +0 -377
  157. package/src/core/engine/retrieval-services.ts +0 -176
  158. package/src/core/engine/shared-memory-services.ts +0 -4
  159. package/src/core/entity-repo.ts +0 -349
  160. package/src/core/event-store.ts +0 -779
  161. package/src/core/evidence-aligner.ts +0 -635
  162. package/src/core/external-market-context.ts +0 -582
  163. package/src/core/graduation-worker.ts +0 -171
  164. package/src/core/graduation.ts +0 -377
  165. package/src/core/index.ts +0 -64
  166. package/src/core/ingest-interceptor.ts +0 -80
  167. package/src/core/markdown-mirror.ts +0 -70
  168. package/src/core/matcher.ts +0 -208
  169. package/src/core/md-mirror.ts +0 -92
  170. package/src/core/metadata-extractor.ts +0 -203
  171. package/src/core/model/memory-fact.ts +0 -30
  172. package/src/core/model/memory-rule.ts +0 -14
  173. package/src/core/model/memory-summary.ts +0 -21
  174. package/src/core/model/raw-event.ts +0 -28
  175. package/src/core/model/retrieval-result.ts +0 -35
  176. package/src/core/mongo-sync-config.ts +0 -165
  177. package/src/core/mongo-sync-worker.ts +0 -381
  178. package/src/core/privacy/filter.ts +0 -190
  179. package/src/core/privacy/index.ts +0 -20
  180. package/src/core/privacy/tag-parser.ts +0 -145
  181. package/src/core/product-validation-matrix.ts +0 -314
  182. package/src/core/progressive-retriever.ts +0 -414
  183. package/src/core/registry/project-path.ts +0 -54
  184. package/src/core/registry/session-registry.ts +0 -69
  185. package/src/core/replay-evaluator.ts +0 -625
  186. package/src/core/retrieval-benchmark.ts +0 -117
  187. package/src/core/retrieval-quality.ts +0 -109
  188. package/src/core/retriever.ts +0 -800
  189. package/src/core/session-qrels.ts +0 -360
  190. package/src/core/shared-event-store.ts +0 -114
  191. package/src/core/shared-promoter.ts +0 -249
  192. package/src/core/shared-store.ts +0 -289
  193. package/src/core/shared-vector-store.ts +0 -203
  194. package/src/core/sqlite-event-store.ts +0 -1846
  195. package/src/core/sqlite-wrapper.ts +0 -116
  196. package/src/core/sync-worker.ts +0 -228
  197. package/src/core/tag-taxonomy.ts +0 -51
  198. package/src/core/task/blocker-resolver.ts +0 -333
  199. package/src/core/task/index.ts +0 -9
  200. package/src/core/task/task-matcher.ts +0 -240
  201. package/src/core/task/task-projector.ts +0 -358
  202. package/src/core/task/task-resolver.ts +0 -421
  203. package/src/core/turn-state.ts +0 -207
  204. package/src/core/types.ts +0 -952
  205. package/src/core/vector-outbox.ts +0 -299
  206. package/src/core/vector-store.ts +0 -231
  207. package/src/core/vector-worker.ts +0 -521
  208. package/src/core/working-set-store.ts +0 -257
  209. package/src/extensions/endless-memory/endless-memory-services.ts +0 -350
  210. package/src/extensions/endless-memory/index.ts +0 -1
  211. package/src/extensions/index.ts +0 -5
  212. package/src/extensions/mcp/handlers.ts +0 -960
  213. package/src/extensions/mcp/index.ts +0 -48
  214. package/src/extensions/mcp/tools.ts +0 -252
  215. package/src/extensions/shared-memory/index.ts +0 -1
  216. package/src/extensions/shared-memory/shared-memory-services.ts +0 -211
  217. package/src/extensions/vector/embedder.ts +0 -234
  218. package/src/extensions/vector/index.ts +0 -1
  219. package/src/hooks/post-tool-use.ts +0 -9
  220. package/src/hooks/semantic-daemon-client.ts +0 -1
  221. package/src/hooks/semantic-daemon.ts +0 -11
  222. package/src/hooks/session-end.ts +0 -9
  223. package/src/hooks/session-start.ts +0 -9
  224. package/src/hooks/stop.ts +0 -9
  225. package/src/hooks/user-prompt-submit.ts +0 -9
  226. package/src/index.ts +0 -13
  227. package/src/mcp/handlers.ts +0 -2
  228. package/src/mcp/index.ts +0 -4
  229. package/src/mcp/tools.ts +0 -2
  230. package/src/server/api/chat.ts +0 -2
  231. package/src/server/api/citations.ts +0 -2
  232. package/src/server/api/events.ts +0 -2
  233. package/src/server/api/health.ts +0 -2
  234. package/src/server/api/index.ts +0 -2
  235. package/src/server/api/projects.ts +0 -2
  236. package/src/server/api/search.ts +0 -2
  237. package/src/server/api/sessions.ts +0 -2
  238. package/src/server/api/stats.ts +0 -2
  239. package/src/server/api/turns.ts +0 -2
  240. package/src/server/api/utils.ts +0 -2
  241. package/src/server/index.ts +0 -2
  242. package/src/services/bootstrap-organizer.ts +0 -463
  243. package/src/services/codex-session-history-importer.ts +0 -966
  244. package/src/services/hermes-session-history-importer.ts +0 -733
  245. package/src/services/memory-service-config.ts +0 -36
  246. package/src/services/memory-service-registry.ts +0 -150
  247. package/src/services/memory-service.ts +0 -688
  248. package/src/services/session-history-importer.ts +0 -629
  249. package/tests/README.md +0 -23
  250. package/tests/adapters/claude/claude-semantic-daemon-adapter.test.ts +0 -54
  251. package/tests/adapters/claude/claude-transcript-reconstructor.test.ts +0 -98
  252. package/tests/adapters/claude-hook-prompt-injection-policy.test.ts +0 -99
  253. package/tests/apps/app-layer-boundary.test.ts +0 -48
  254. package/tests/apps/claude-settings-hooks.test.ts +0 -107
  255. package/tests/apps/cli-disclosure-output.test.ts +0 -212
  256. package/tests/apps/codex-import-runner.test.ts +0 -99
  257. package/tests/apps/codex-validation-output.test.ts +0 -100
  258. package/tests/apps/hermes-import-runner.test.ts +0 -99
  259. package/tests/apps/mcp-install-command.test.ts +0 -59
  260. package/tests/apps/package-build-entrypoints.test.ts +0 -30
  261. package/tests/apps/postinstall-embedding-backend.test.ts +0 -185
  262. package/tests/apps/search-api-disclosure.test.ts +0 -162
  263. package/tests/apps/stats-api-lightweight.test.ts +0 -67
  264. package/tests/apps/ui-disclosure-output.test.ts +0 -140
  265. package/tests/core/bootstrap-organizer.test.ts +0 -111
  266. package/tests/core/canonical-key.test.ts +0 -101
  267. package/tests/core/codex-session-history-importer-validation.test.ts +0 -185
  268. package/tests/core/consolidation-worker.test.ts +0 -75
  269. package/tests/core/embedding-maintenance-service.test.ts +0 -282
  270. package/tests/core/evidence-aligner.test.ts +0 -152
  271. package/tests/core/external-market-context.test.ts +0 -209
  272. package/tests/core/fact-deriver.test.ts +0 -79
  273. package/tests/core/hermes-session-history-importer-validation.test.ts +0 -609
  274. package/tests/core/ingest-interceptor.test.ts +0 -38
  275. package/tests/core/markdown-mirror.test.ts +0 -85
  276. package/tests/core/matcher.test.ts +0 -112
  277. package/tests/core/md-mirror.test.ts +0 -50
  278. package/tests/core/memory-engine-services.test.ts +0 -240
  279. package/tests/core/memory-ingest-service.test.ts +0 -296
  280. package/tests/core/memory-query-service.test.ts +0 -129
  281. package/tests/core/memory-runtime-service.test.ts +0 -201
  282. package/tests/core/memory-service-composition.test.ts +0 -192
  283. package/tests/core/memory-service-config.test.ts +0 -41
  284. package/tests/core/memory-service-facade.test.ts +0 -30
  285. package/tests/core/memory-service-registry.test.ts +0 -206
  286. package/tests/core/product-validation-matrix.test.ts +0 -61
  287. package/tests/core/project-registry.test.ts +0 -78
  288. package/tests/core/replay-evaluator.test.ts +0 -181
  289. package/tests/core/retrieval-analytics-service.test.ts +0 -210
  290. package/tests/core/retrieval-benchmark.test.ts +0 -93
  291. package/tests/core/retrieval-disclosure-service.test.ts +0 -264
  292. package/tests/core/retrieval-orchestrator.test.ts +0 -403
  293. package/tests/core/retrieval-quality.test.ts +0 -31
  294. package/tests/core/retrieval-services.test.ts +0 -185
  295. package/tests/core/retriever-fallback-chain.test.ts +0 -223
  296. package/tests/core/retriever-strategy-scope.test.ts +0 -164
  297. package/tests/core/retriever.memu-adoption.test.ts +0 -122
  298. package/tests/core/session-history-importer-filter.test.ts +0 -78
  299. package/tests/core/session-qrels.test.ts +0 -250
  300. package/tests/core/sqlite-event-store-replication.test.ts +0 -127
  301. package/tests/core/summary-deriver.test.ts +0 -66
  302. package/tests/extensions/embedder-warning-suppression.test.ts +0 -84
  303. package/tests/extensions/endless-memory-extension-boundary.test.ts +0 -17
  304. package/tests/extensions/endless-memory-services.test.ts +0 -325
  305. package/tests/extensions/mcp-context-tools.test.ts +0 -905
  306. package/tests/extensions/mcp-extension-boundary.test.ts +0 -21
  307. package/tests/extensions/mcp-package-build.test.ts +0 -22
  308. package/tests/extensions/mcp-project-aware-tools.test.ts +0 -102
  309. package/tests/extensions/shared-memory-extension-boundary.test.ts +0 -24
  310. package/tests/extensions/shared-memory-services.test.ts +0 -309
  311. package/tests/extensions/vector-extension-boundary.test.ts +0 -21
  312. package/tsconfig.json +0 -24
  313. package/vitest.config.ts +0 -15
@@ -1,627 +0,0 @@
1
- # claude-memory-layer vs memsearch vs superlocalmemory
2
-
3
- ## 목적
4
- 이 문서는 다음 3개 프로젝트를 비교해,
5
-
6
- - `claude-memory-layer`
7
- - `memsearch`
8
- - `superlocalmemory`
9
-
10
- 현재 `claude-memory-layer`에 **도입하면 좋은 구조/기능/운영 패턴**을 정리하고,
11
- 동시에 이 프로젝트가 너무 무거워지지 않도록 **더 가볍고 강력한 방향**을 제안하기 위한 문서다.
12
-
13
- 관련 원문/스냅샷 문서:
14
-
15
- - [`PROJECT_STRUCTURE_ANALYSIS.md`](./PROJECT_STRUCTURE_ANALYSIS.md) — target repo 현재 구조
16
- - [`MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md`](./MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md) — memsearch 구조 분석 스냅샷
17
- - [`SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md`](./SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md) — superlocalmemory 구조 분석 스냅샷
18
- - [`REFERENCE_PROJECT_ANALYSES.md`](./REFERENCE_PROJECT_ANALYSES.md) — 비교 문서 인덱스
19
-
20
- ---
21
-
22
- # 1. 세 프로젝트를 한 문장으로 요약하면
23
-
24
- ## claude-memory-layer
25
- **Claude Code에 깊게 결합된 훅 기반 로컬 메모리 플랫폼**.
26
- 강점은 실제 workflow에 밀착된 capture/retrieval/telemetry이고, 약점은 확장 기능이 한 저장소에 많이 쌓이며 구조가 무거워지고 있다는 점이다.
27
-
28
- ## memsearch
29
- **Markdown source-of-truth + Milvus hybrid search** 중심의 가볍고 선명한 memory engine.
30
- 강점은 코어의 단순함과 UX 패턴이고, 약점은 integration edge에서 운영 복잡도가 올라간다는 점이다.
31
-
32
- ## superlocalmemory
33
- **SQLite 기반의 거대한 로컬 memory OS / agent platform**.
34
- 강점은 breadth와 retrieval sophistication이고, 약점은 범위가 너무 넓어서 유지보수 discipline이 없으면 쉽게 비대화된다는 점이다.
35
-
36
- ---
37
-
38
- # 2. 구조 비교
39
-
40
- ## 2.1 코어 철학 비교
41
-
42
- ### claude-memory-layer
43
- - 이벤트 중심 수집
44
- - 프로젝트 격리 저장
45
- - hook-driven capture
46
- - vector + keyword retrieval
47
- - dashboard/telemetry 강함
48
- - 확장 기능이 코어 내부로 많이 들어와 있음
49
-
50
- ### memsearch
51
- - markdown 원본 우선
52
- - vector index는 파생물
53
- - 코어는 작은 indexing/search engine
54
- - agent별 통합은 plugin으로 분리
55
- - progressive disclosure UX 강함
56
-
57
- ### superlocalmemory
58
- - local-first memory engine + retrieval + learning + graph + mesh
59
- - atomic facts 기반 구조화 기억
60
- - 도구/대시보드/학습/에이전트 coordination까지 모두 포함
61
- - 사실상 memory platform + agent operating substrate
62
-
63
- ### 핵심 인사이트
64
- 현재 `claude-memory-layer`는 방향상 **memsearch보다 superlocalmemory 쪽으로 끌려가는 중**이다.
65
- 즉,
66
- - 시작점은 “좋은 메모리 플러그인”이었을 수 있지만
67
- - 이미 “작은 플랫폼”이 되었고
68
- - 계속 놔두면 “큰 플랫폼”이 될 가능성이 높다.
69
-
70
- 이건 나쁜 게 아니라, **의도적 분리 없이 커지면 위험하다**는 뜻이다.
71
-
72
- ---
73
-
74
- ## 2.2 저장 모델 비교
75
-
76
- ### claude-memory-layer
77
- - SQLite primary store
78
- - LanceDB vector store
79
- - markdown mirror
80
- - shared store
81
- - optional Mongo sync
82
- - telemetry/helpfulness/retrieval traces
83
-
84
- 장점:
85
- - 기능 강함
86
- - 분석 가능성 높음
87
-
88
- 약점:
89
- - source of truth가 무엇인지 흐려질 수 있음
90
- - 저장 계층이 많음
91
-
92
- ### memsearch
93
- - markdown source of truth
94
- - Milvus derived index
95
- - 단순하고 설명 가능
96
-
97
- 장점:
98
- - 구조 명확
99
- - 복구/백업/버전관리 쉬움
100
-
101
- 약점:
102
- - 구조화 메타모델은 얇음
103
-
104
- ### superlocalmemory
105
- - SQLite primary store
106
- - raw memory + atomic facts 분리
107
- - FTS + embeddings + graph + learning metadata + code graph schema
108
-
109
- 장점:
110
- - 표현력 매우 높음
111
-
112
- 약점:
113
- - 스키마가 비대하고 migration 비용 큼
114
-
115
- ### 핵심 인사이트
116
- `claude-memory-layer`는 지금 상태에서 **memsearch의 source-of-truth 단순성**과 **superlocalmemory의 fact 분리 아이디어**를 동시에 참고하는 것이 좋다.
117
-
118
- 추천 방향:
119
- - source of truth를 다시 명확히 정의
120
- - raw event와 derived memory를 명시적으로 분리
121
- - derived 계층은 재생성 가능하게 유지
122
-
123
- ---
124
-
125
- ## 2.3 검색 구조 비교
126
-
127
- ### claude-memory-layer
128
- - vector + keyword
129
- - fallback chain
130
- - progressive retriever
131
- - semantic daemon
132
- - helpfulness/retrieval trace 기록
133
-
134
- ### memsearch
135
- - dense + BM25 + RRF
136
- - search → expand → transcript drill-down
137
- - retrieval UX가 선명함
138
-
139
- ### superlocalmemory
140
- - semantic / BM25 / entity graph / temporal / spreading activation / hopfield
141
- - 고급 fusion / rerank / diversity
142
-
143
- ### 핵심 인사이트
144
- `claude-memory-layer`는 검색 품질 측면에서 이미 꽤 좋다.
145
- 문제는 “더 많은 채널”이 아니라 **검색 구조를 얼마나 명확하게 제품화하느냐**다.
146
-
147
- 즉, 지금 바로 필요한 것은:
148
- - superlocalmemory처럼 채널을 6개, 8개로 늘리는 것보다
149
- - memsearch처럼 **사용자 입장에서 이해되는 retrieval UX**를 만드는 것
150
-
151
- 예:
152
- - quick hits
153
- - expanded context
154
- - original transcript/source
155
- - why this was retrieved
156
-
157
- ---
158
-
159
- ## 2.4 통합 구조 비교
160
-
161
- ### claude-memory-layer
162
- - Claude Code 특화가 강함
163
- - 훅 통합이 깊고 강력함
164
- - 하지만 Claude 바깥 확장 경로(MCP 등)는 아직 덜 닫힘
165
-
166
- ### memsearch
167
- - core와 plugin이 비교적 잘 분리됨
168
- - Claude/Codex/OpenClaw/OpenCode 각각 적응
169
- - cross-platform portability 좋음
170
-
171
- ### superlocalmemory
172
- - MCP/CLI/hooks/IDE integrations가 매우 넓음
173
- - 거의 모든 surface를 제공하려 함
174
-
175
- ### 핵심 인사이트
176
- `claude-memory-layer`는 당장 superlocalmemory처럼 모든 플랫폼을 다 품으려 하기보다,
177
- **memsearch처럼 “코어 엔진”과 “Claude adapter”를 더 분리**하는 편이 낫다.
178
-
179
- ---
180
-
181
- # 3. claude-memory-layer에 바로 도입하면 좋은 아이디어
182
-
183
- ## 3.1 memsearch에서 가져오면 좋은 것
184
-
185
- ### A. Markdown source-of-truth 또는 적어도 “사람이 읽는 canonical layer” 강화
186
- 현재도 markdown mirror가 있지만 보조 레이어처럼 보인다.
187
-
188
- 추천:
189
- - markdown mirror를 단순 로그가 아니라 **canonical human-readable memory journal**로 승격 검토
190
- - 또는 최소한 “event store는 machine canonical, markdown journal은 human canonical”처럼 역할을 명확히 정의
191
-
192
- 왜 좋은가:
193
- - 디버깅 쉬움
194
- - 백업/내보내기 쉬움
195
- - 사용자 신뢰도 상승
196
- - 다른 시스템과 상호운용 쉬움
197
-
198
- ### B. Search → Expand → Transcript drill-down UX
199
- 이건 매우 좋다.
200
-
201
- 현재 `claude-memory-layer`에도 progressive retrieval이 있지만,
202
- 사용자-facing UX로 더 분명하게 드러내면 좋다.
203
-
204
- 추천 기능:
205
- 1. `memory search` → 요약 후보
206
- 2. `memory expand` → 해당 기억의 더 넓은 컨텍스트
207
- 3. `memory transcript` 또는 `memory source` → 원문/근거
208
-
209
- ### C. Core와 plugin integration의 경계 명확화
210
- `memsearch`는 코어가 작다.
211
- 이 점이 매우 중요하다.
212
-
213
- `claude-memory-layer`도 다음처럼 나누는 것이 좋다.
214
- - `core-memory-engine`
215
- - `claude-adapter`
216
- - `dashboard`
217
- - `experimental extensions`
218
-
219
- ### D. Chunk identity / incremental reindex 사고방식
220
- `memsearch`의 composite ID 전략은 매우 실용적이다.
221
-
222
- `claude-memory-layer`에서도:
223
- - event-derived memory
224
- - summary memory
225
- - tool-derived memory
226
- - imported transcript memory
227
-
228
- 각 타입에 대해 stable derived key를 더 엄밀히 두면 dedupe/reindex/rebuild가 쉬워진다.
229
-
230
- ---
231
-
232
- ## 3.2 superlocalmemory에서 가져오면 좋은 것
233
-
234
- ### A. Raw memory vs atomic facts 분리
235
- 이건 가장 가치 있는 아이디어 중 하나다.
236
-
237
- 현재 `claude-memory-layer`는 event/entry/entity/edge가 있지만,
238
- 개념적으로는 다소 혼합되어 보인다.
239
-
240
- 추천:
241
- - **Raw events**: 원본 대화/툴 결과/세션 정보
242
- - **Derived facts**: 검색에 최적화된 작은 사실 단위
243
- - **Higher-order memory**: summaries / rules / working set / continuity
244
-
245
- 이 3층을 더 명시적으로 나누자.
246
-
247
- 효과:
248
- - retrieval 품질 향상
249
- - consolidation 설계 명확화
250
- - feature 추가 시 어디에 넣어야 하는지 분명해짐
251
-
252
- ### B. SQLite one-engine 철학
253
- superlocalmemory의 장점 중 하나는 “기본 중심축이 SQLite 하나”라는 점이다.
254
-
255
- `claude-memory-layer`는 지금 SQLite + LanceDB + markdown + shared + optional Mongo로 축이 많다.
256
-
257
- 추천:
258
- - 코어 운영 모드는 최대한 **SQLite-only 기본값**으로 재정의
259
- - LanceDB는 optional acceleration layer로 격하 검토
260
- - shared/Mongo는 플러그인/extension으로 분리
261
-
262
- ### C. Retrieval channel metadata
263
- superlocalmemory처럼 채널을 많이 늘리라는 뜻은 아니다.
264
- 대신 검색 결과에 “어떤 이유로 나왔는지”를 구조적으로 남기는 것은 좋다.
265
-
266
- 예:
267
- - matched by: semantic / keyword / entity / recency / continuity
268
- - evidence strength
269
- - source type: prompt / assistant / tool / summary / imported
270
-
271
- 이건 explainability를 높인다.
272
-
273
- ### D. Code graph bridge (선택적)
274
- 이건 매우 강력할 수 있다.
275
- 다만 그대로 가져오면 과체중이다.
276
-
277
- 추천은 full code graph가 아니라 **lightweight code-link layer**다.
278
-
279
- 예:
280
- - memory item ↔ file path
281
- - memory item ↔ symbol name
282
- - memory item ↔ git commit / diff chunk
283
-
284
- 즉, graph DB를 만들기 전에 먼저 **code-aware memory anchors** 부터 도입하는 게 좋다.
285
-
286
- ### E. Learning/feedback 루프의 최소형 버전
287
- superlocalmemory의 전체 learning 시스템은 무겁다.
288
- 하지만 그 핵심 문제의식은 좋다.
289
-
290
- 추천 최소 버전:
291
- - retrieval shown count
292
- - retrieval accepted/used count
293
- - user helpfulness feedback
294
- - implicit signals:
295
- - retrieved memory 인용 후 성공적으로 작업 완료
296
- - retrieved memory 직후 같은 검색 반복 여부
297
-
298
- 이 정도만 있어도 rank 개선/cleanup에 충분히 유용하다.
299
-
300
- ---
301
-
302
- # 4. claude-memory-layer에 도입하지 않는 게 좋은 것
303
-
304
- ## 4.1 superlocalmemory식 “모든 것 다 포함” 접근
305
- 지금 상태의 `claude-memory-layer`는 이미 무거워질 조짐이 있다.
306
- 여기에 아래를 한 번에 넣으면 위험하다.
307
-
308
- - full learning platform
309
- - full mesh multi-agent broker
310
- - full code graph platform
311
- - huge dashboard surface
312
- - massive MCP tool surface
313
-
314
- 이건 제품 초점을 흐릴 수 있다.
315
-
316
- ## 4.2 너무 이른 구조화 과잉
317
- 엔티티/엣지/태스크/연속성/요약/공유 메모리까지 이미 있는 상태에서,
318
- 더 많은 추상화를 곧바로 넣으면 “좋아 보이지만 관리되지 않는 복잡성”이 된다.
319
-
320
- ## 4.3 source-of-truth 다중화
321
- SQLite, Markdown, Shared, Mongo, Vector가 모두 서로 경쟁하는 canonical layer가 되면 안 된다.
322
-
323
- 반드시 정리해야 한다.
324
-
325
- ---
326
-
327
- # 5. claude-memory-layer를 더 가볍고 강하게 만드는 리팩터링 방향
328
-
329
- ## 핵심 원칙
330
- > **작은 코어를 먼저 명확히 만들고, 실험 기능은 모듈로 밀어낸다.**
331
-
332
- ---
333
-
334
- ## 5.1 목표 아키텍처
335
-
336
- ### Layer 1: Core Memory Engine
337
- 반드시 항상 필요한 것만 둔다.
338
-
339
- 포함:
340
- - session/project registry
341
- - raw event store
342
- - derived fact store
343
- - retrieval engine
344
- - minimal citations/source tracing
345
- - import/export
346
-
347
- ### Layer 2: Claude Adapter
348
- Claude Code 훅 통합만 담당한다.
349
-
350
- 포함:
351
- - session lifecycle hooks
352
- - transcript extraction
353
- - tool capture policy
354
- - context injection
355
-
356
- ### Layer 3: Optional Accelerators
357
- 선택 기능이다.
358
-
359
- 포함 예:
360
- - semantic daemon
361
- - LanceDB vector index
362
- - reranking
363
- - helpfulness analytics
364
- - dashboard advanced panels
365
-
366
- ### Layer 4: Experimental Extensions
367
- 코어 밖 실험장이다.
368
-
369
- 포함 예:
370
- - shared memory
371
- - Mongo sync
372
- - MCP
373
- - task/entity graph 고도화
374
- - endless/consolidation 실험
375
- - code-aware memory
376
-
377
- 이렇게 나누면,
378
- 사용자는 “가볍게 쓸 수 있고”,
379
- 개발자는 “무거운 기능을 버리지 않으면서도 분리”할 수 있다.
380
-
381
- ---
382
-
383
- ## 5.2 저장 구조 단순화 제안
384
-
385
- ### 현재 문제
386
- 저장 계층이 많고 책임이 흐릴 수 있다.
387
-
388
- ### 제안
389
-
390
- #### Option A: SQLite canonical + markdown export
391
- - SQLite를 machine canonical로 유지
392
- - markdown은 human-readable projection
393
- - vector index는 disposable
394
-
395
- #### Option B: SQLite raw + facts, markdown journal as user-facing memory ledger
396
- - raw event와 derived facts는 SQLite
397
- - 사람이 보는 memory book은 markdown
398
- - dashboard/API는 둘 다 사용
399
-
400
- 둘 중 하나를 명확히 선택하는 게 중요하다.
401
-
402
- 개인적으로는 현재 프로젝트엔 **Option A 또는 B 둘 다 가능**하지만,
403
- 최소한 “LanceDB는 canonical이 아니다”는 확실히 해야 한다.
404
-
405
- ---
406
-
407
- ## 5.3 도메인 모델 정리 제안
408
-
409
- 현재의 핵심 도메인을 아래처럼 재정의하면 좋다.
410
-
411
- ### 1) RawEvent
412
- - prompt
413
- - assistant response
414
- - tool output
415
- - session marker
416
- - import record
417
-
418
- ### 2) MemoryFact
419
- 검색/회상에 최적화된 작은 단위
420
- - fact text
421
- - source event ids
422
- - scope (project/shared)
423
- - tags
424
- - confidence
425
- - source type
426
- - privacy level
427
- - timestamps
428
-
429
- ### 3) MemorySummary
430
- - turn summary
431
- - session summary
432
- - project summary
433
- - continuity summary
434
-
435
- ### 4) MemoryRule / Preference
436
- - recurring pattern
437
- - user/project preference
438
- - stable conventions
439
-
440
- ### 5) RetrievalTrace
441
- - query
442
- - selected facts
443
- - why matched
444
- - whether used/helpful
445
-
446
- 이렇게 나누면 현재 있는 여러 테이블/개념이 훨씬 읽기 쉬워진다.
447
-
448
- ---
449
-
450
- ## 5.4 검색 계층 고도화 제안
451
-
452
- ### 바로 적용할 것
453
- - result type 분리: `fact`, `summary`, `tool evidence`, `session memory`
454
- - retrieval reason 표준화
455
- - `search -> expand -> source` 3단 UX
456
- - recency와 semantic score 분리 표기
457
-
458
- ### 나중에 선택적으로 적용할 것
459
- - entity-aware rerank
460
- - code-anchor aware rerank
461
- - task-aware continuity recall
462
-
463
- 즉, 먼저 **설명 가능한 retrieval product**를 만들고,
464
- 그 후에 더 복잡한 채널을 넣는 것이 좋다.
465
-
466
- ---
467
-
468
- ## 5.5 대시보드 축소/재구성 제안
469
-
470
- 대시보드는 기능이 많아질수록 개발비가 크게 든다.
471
-
472
- 추천 기본 탭:
473
- 1. Search
474
- 2. Sessions
475
- 3. Facts
476
- 4. Summaries
477
- 5. Sources / Citations
478
- 6. Health / Queue
479
-
480
- 추천 고급 탭(옵션):
481
- - Helpfulness
482
- - Shared memory
483
- - Graph
484
- - Experiments
485
-
486
- 즉, 제품의 중심을 “운영 콘솔”이 아니라 **memory inspectability**에 두는 것이 좋다.
487
-
488
- ---
489
-
490
- # 6. 추천 기능 우선순위
491
-
492
- ## 가장 먼저 하면 좋은 것
493
-
494
- ### Priority 1. 도메인/저장 계층 재정의
495
- - raw event vs derived fact 분리
496
- - canonical source 명확화
497
- - 문서 drift 해소
498
-
499
- ### Priority 2. Retrieval UX 명확화
500
- - search / expand / source drill-down
501
- - retrieval reasons 표준화
502
- - helpfulness minimal feedback
503
-
504
- ### Priority 3. Core / Adapter / Extensions 분리
505
- - `core`
506
- - `adapters/claude`
507
- - `extensions/*`
508
- - `apps/dashboard`
509
-
510
- 이건 장기 유지보수성에 가장 큰 효과가 있다.
511
-
512
- ---
513
-
514
- ## 그다음 하면 좋은 것
515
-
516
- ### Priority 4. Lightweight code-aware memory
517
- full graph 말고 먼저:
518
- - file path links
519
- - symbol links
520
- - commit/diff links
521
-
522
- ### Priority 5. Minimal learning loop
523
- - helpful / not helpful
524
- - auto-promote / auto-demote candidates
525
- - stale memory cleanup signals
526
-
527
- ### Priority 6. Shared memory를 extension으로 재배치
528
- Mongo/shared를 기본 코어가 아니라 옵션 패키지로 다루기
529
-
530
- ---
531
-
532
- # 7. 아주 구체적인 제안: “thin-core rewrite without rewrite”
533
-
534
- 전체 재작성 대신 내부 구조만 단계적으로 바꾸는 방법이다.
535
-
536
- ## Phase 1: 개념 정리
537
- - README와 실제 구현을 맞춘다
538
- - 현재 저장계층의 canonical/derived 관계를 문서화
539
- - `MemoryService` 내부에서 raw/fact/summary 경계를 명확히 분리
540
-
541
- ## Phase 2: 패키지/폴더 재구성
542
- 예시:
543
- - `src/core/engine/*`
544
- - `src/core/model/*`
545
- - `src/core/retrieval/*`
546
- - `src/adapters/claude/*`
547
- - `src/extensions/shared/*`
548
- - `src/extensions/mcp/*`
549
- - `src/apps/dashboard/*`
550
-
551
- ## Phase 3: 결과 타입 정리
552
- - fact
553
- - summary
554
- - source
555
- - tool evidence
556
- - continuity item
557
-
558
- ## Phase 4: vector와 daemon을 가속 계층으로 격하
559
- - 코어는 SQLite만으로도 최소 동작
560
- - vector/daemon은 성능 향상 옵션
561
-
562
- ## Phase 5: shared/Mongo/MCP 실험 격리
563
- - 기본 설치에서 빠질 수 있게
564
- - 별도 feature flag / package boundary 제공
565
-
566
- 이렇게 하면 “지금 자산을 버리지 않고” 점진적으로 가벼워질 수 있다.
567
-
568
- ---
569
-
570
- # 8. 최종 제안
571
-
572
- ## 결론 1
573
- `claude-memory-layer`는 **memsearch처럼 더 얇고 선명한 코어**를 배워야 한다.
574
-
575
- ## 결론 2
576
- 동시에 `superlocalmemory`에서 **raw vs fact 분리, explainable retrieval, lightweight feedback loop** 같은 좋은 개념은 선택적으로 가져오면 된다.
577
-
578
- ## 결론 3
579
- 하지만 `superlocalmemory`식의 전체 플랫폼 범위를 그대로 따라가면,
580
- 현재 프로젝트는 빠르게 과체중이 될 가능성이 높다.
581
-
582
- ---
583
-
584
- # 9. 추천하는 최종 방향 한 문장
585
-
586
- > `claude-memory-layer`는 앞으로 **“Claude 특화 메모리 플랫폼”** 이 아니라, **“얇은 코어 메모리 엔진 + 강한 Claude 어댑터 + 선택형 확장 모듈”** 구조로 재정의되는 것이 가장 유리하다.
587
-
588
- 이 방향이면:
589
- - 지금의 강점은 유지하고
590
- - 유지보수성은 높이고
591
- - 다른 플랫폼으로도 확장 가능하며
592
- - 기능이 늘어도 코어는 작게 지킬 수 있다.
593
-
594
- ---
595
-
596
- # 10. 추천 액션 아이템
597
-
598
- ## 바로 할 일
599
- 1. README/문서 drift 정리
600
- 2. canonical storage 정의 문서 추가
601
- 3. raw event / fact / summary 모델 재정의
602
- 4. search / expand / source UX 추가 또는 정리
603
-
604
- ## 다음 단계
605
- 5. `core / adapters / extensions / apps` 구조 분리
606
- 6. vector/daemon을 optional acceleration layer로 정리
607
- 7. lightweight code-aware memory anchor 추가
608
- 8. minimal helpfulness feedback loop 추가
609
-
610
- ## 보류 권장
611
- 9. full code graph platform
612
- 10. full learning platform
613
- 11. full mesh / multi-agent substrate
614
- 12. 너무 넓은 MCP surface 확장
615
-
616
- ---
617
-
618
- # 11. 최종 판단
619
-
620
- `claude-memory-layer`는 이미 꽤 좋은 위치에 있다.
621
-
622
- - `memsearch`보다 richer하고,
623
- - `superlocalmemory`보다 아직 더 집중된 상태이며,
624
- - 적절히 정리만 잘하면 **가볍고 강하면서도 확장 가능한 memory architecture**로 발전할 수 있다.
625
-
626
- 핵심은 더 많은 기능 추가가 아니라,
627
- **코어를 다시 가볍게 만드는 구조적 결단**이다.