claude-memory-layer 1.0.30 → 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 (338) hide show
  1. package/README.md +12 -5
  2. package/dist/cli/index.js +4 -3
  3. package/dist/cli/index.js.map +2 -2
  4. package/dist/core/index.js +3 -2
  5. package/dist/core/index.js.map +2 -2
  6. package/dist/hooks/post-tool-use.js +3 -2
  7. package/dist/hooks/post-tool-use.js.map +2 -2
  8. package/dist/hooks/semantic-daemon.js +3 -2
  9. package/dist/hooks/semantic-daemon.js.map +2 -2
  10. package/dist/hooks/session-end.js +3 -2
  11. package/dist/hooks/session-end.js.map +2 -2
  12. package/dist/hooks/session-start.js +3 -2
  13. package/dist/hooks/session-start.js.map +2 -2
  14. package/dist/hooks/stop.js +3 -2
  15. package/dist/hooks/stop.js.map +2 -2
  16. package/dist/hooks/user-prompt-submit.js +3 -2
  17. package/dist/hooks/user-prompt-submit.js.map +2 -2
  18. package/dist/index.js +3 -2
  19. package/dist/index.js.map +2 -2
  20. package/dist/mcp/index.js +3 -2
  21. package/dist/mcp/index.js.map +2 -2
  22. package/dist/server/api/index.js +3 -2
  23. package/dist/server/api/index.js.map +2 -2
  24. package/dist/server/index.js +3 -2
  25. package/dist/server/index.js.map +2 -2
  26. package/dist/services/memory-service.js +3 -2
  27. package/dist/services/memory-service.js.map +2 -2
  28. package/package.json +10 -3
  29. package/scripts/postinstall-embedding-backend.cjs +18 -16
  30. package/AGENTS.md +0 -71
  31. package/CLAUDE.md +0 -30
  32. package/HANDOFF.md +0 -92
  33. package/Memo.txt +0 -558
  34. package/benchmarks/replay/anonymized-real-sessions.json +0 -48
  35. package/config/kpi-thresholds.json +0 -7
  36. package/context.md +0 -636
  37. package/docs/ARCHITECTURE_COMPARISON_AND_RECOMMENDATIONS.md +0 -627
  38. package/docs/HERMES_MEMORY_INGESTION_ANALYSIS.md +0 -440
  39. package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +0 -271
  40. package/docs/MEMORY_USEFULNESS_AUDIT.md +0 -371
  41. package/docs/MEMORY_USEFULNESS_AUDIT_RAW.json +0 -80
  42. package/docs/MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md +0 -333
  43. package/docs/MEMU_ADOPTION.md +0 -40
  44. package/docs/OPERATIONS.md +0 -18
  45. package/docs/PRODUCT_VALIDATION_MATRIX.md +0 -82
  46. package/docs/PROJECT_STRUCTURE_ANALYSIS.md +0 -421
  47. package/docs/REFACTORING_MILESTONES_AND_ISSUES.md +0 -501
  48. package/docs/REFACTORING_PLAN_THIN_CORE.md +0 -414
  49. package/docs/REFERENCE_PROJECT_ANALYSES.md +0 -25
  50. package/docs/SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md +0 -452
  51. package/docs/TARGET_ARCHITECTURE_AND_FOLDER_STRUCTURE.md +0 -446
  52. package/docs/architecture/comparison-index.md +0 -47
  53. package/docs/reports/codex-real-data-validation-20260505T040447Z.md +0 -46
  54. package/plan.md +0 -1642
  55. package/scripts/build.ts +0 -159
  56. package/scripts/bump-patch-version.sh +0 -18
  57. package/scripts/delete-unknown-projects.js +0 -154
  58. package/scripts/fix-sync-gap.js +0 -32
  59. package/scripts/generate-session-qrels.ts +0 -126
  60. package/scripts/heartbeat-memory-orchestrator.sh +0 -28
  61. package/scripts/replay-retrieval-benchmark.ts +0 -69
  62. package/scripts/report-sync-gap.js +0 -26
  63. package/scripts/review-queue-auto-resolve.js +0 -21
  64. package/scripts/sync-gap-auto-heal.sh +0 -17
  65. package/spec.md +0 -624
  66. package/specs/20260207-dashboard-upgrade/context.md +0 -38
  67. package/specs/20260207-dashboard-upgrade/spec.md +0 -96
  68. package/specs/citations-system/context.md +0 -243
  69. package/specs/citations-system/plan.md +0 -495
  70. package/specs/citations-system/spec.md +0 -371
  71. package/specs/endless-mode/context.md +0 -305
  72. package/specs/endless-mode/plan.md +0 -620
  73. package/specs/endless-mode/spec.md +0 -455
  74. package/specs/entity-edge-model/context.md +0 -401
  75. package/specs/entity-edge-model/plan.md +0 -459
  76. package/specs/entity-edge-model/spec.md +0 -391
  77. package/specs/evidence-aligner-v2/context.md +0 -401
  78. package/specs/evidence-aligner-v2/plan.md +0 -303
  79. package/specs/evidence-aligner-v2/spec.md +0 -312
  80. package/specs/mcp-desktop-integration/context.md +0 -278
  81. package/specs/mcp-desktop-integration/plan.md +0 -550
  82. package/specs/mcp-desktop-integration/spec.md +0 -494
  83. package/specs/memory-utilization-improvements/context.md +0 -145
  84. package/specs/memory-utilization-improvements/plan.md +0 -361
  85. package/specs/memory-utilization-improvements/spec.md +0 -361
  86. package/specs/post-tool-use-hook/context.md +0 -319
  87. package/specs/post-tool-use-hook/plan.md +0 -469
  88. package/specs/post-tool-use-hook/spec.md +0 -364
  89. package/specs/private-tags/context.md +0 -288
  90. package/specs/private-tags/plan.md +0 -412
  91. package/specs/private-tags/spec.md +0 -345
  92. package/specs/progressive-disclosure/context.md +0 -346
  93. package/specs/progressive-disclosure/plan.md +0 -663
  94. package/specs/progressive-disclosure/spec.md +0 -415
  95. package/specs/selective-tool-observation/context.md +0 -100
  96. package/specs/selective-tool-observation/plan.md +0 -158
  97. package/specs/selective-tool-observation/spec.md +0 -127
  98. package/specs/task-entity-system/context.md +0 -297
  99. package/specs/task-entity-system/plan.md +0 -301
  100. package/specs/task-entity-system/spec.md +0 -314
  101. package/specs/thin-core-refactor/context.md +0 -275
  102. package/specs/thin-core-refactor/plan.md +0 -536
  103. package/specs/thin-core-refactor/spec.md +0 -465
  104. package/specs/vector-outbox-v2/context.md +0 -470
  105. package/specs/vector-outbox-v2/plan.md +0 -562
  106. package/specs/vector-outbox-v2/spec.md +0 -466
  107. package/specs/web-viewer-ui/context.md +0 -384
  108. package/specs/web-viewer-ui/plan.md +0 -797
  109. package/specs/web-viewer-ui/spec.md +0 -516
  110. package/src/adapters/claude/capture/index.ts +0 -3
  111. package/src/adapters/claude/context/index.ts +0 -3
  112. package/src/adapters/claude/hooks/index.ts +0 -21
  113. package/src/adapters/claude/hooks/post-tool-use.ts +0 -239
  114. package/src/adapters/claude/hooks/prompt-injection-policy.ts +0 -104
  115. package/src/adapters/claude/hooks/semantic-daemon-client.ts +0 -209
  116. package/src/adapters/claude/hooks/semantic-daemon.ts +0 -283
  117. package/src/adapters/claude/hooks/session-end.ts +0 -59
  118. package/src/adapters/claude/hooks/session-start.ts +0 -73
  119. package/src/adapters/claude/hooks/stop.ts +0 -128
  120. package/src/adapters/claude/hooks/user-prompt-submit.ts +0 -361
  121. package/src/adapters/claude/index.ts +0 -4
  122. package/src/adapters/claude/transcript/index.ts +0 -4
  123. package/src/adapters/claude/transcript/transcript-reader.ts +0 -57
  124. package/src/adapters/claude/transcript/turn-reconstructor.ts +0 -65
  125. package/src/apps/cli/claude-settings-hooks.ts +0 -138
  126. package/src/apps/cli/codex-import-runner.ts +0 -125
  127. package/src/apps/cli/codex-validation-output.ts +0 -95
  128. package/src/apps/cli/hermes-import-runner.ts +0 -130
  129. package/src/apps/cli/hermes-validation-output.ts +0 -91
  130. package/src/apps/cli/index.ts +0 -1735
  131. package/src/apps/cli/mcp-install.ts +0 -106
  132. package/src/apps/cli/retrieval-disclosure-output.ts +0 -196
  133. package/src/apps/dashboard/assets/js/bootstrap.js +0 -244
  134. package/src/apps/dashboard/assets/js/chat.js +0 -373
  135. package/src/apps/dashboard/assets/js/disclosure.js +0 -232
  136. package/src/apps/dashboard/assets/js/modals.js +0 -298
  137. package/src/apps/dashboard/assets/js/overview.js +0 -655
  138. package/src/apps/dashboard/assets/js/state.js +0 -72
  139. package/src/apps/dashboard/assets/js/views.js +0 -468
  140. package/src/apps/dashboard/index.html +0 -543
  141. package/src/apps/dashboard/index.ts +0 -3
  142. package/src/apps/dashboard/style.css +0 -1750
  143. package/src/apps/index.ts +0 -5
  144. package/src/apps/server/api/chat.ts +0 -244
  145. package/src/apps/server/api/citations.ts +0 -105
  146. package/src/apps/server/api/events.ts +0 -137
  147. package/src/apps/server/api/health.ts +0 -53
  148. package/src/apps/server/api/index.ts +0 -26
  149. package/src/apps/server/api/projects.ts +0 -74
  150. package/src/apps/server/api/search.ts +0 -184
  151. package/src/apps/server/api/sessions.ts +0 -115
  152. package/src/apps/server/api/stats.ts +0 -723
  153. package/src/apps/server/api/turns.ts +0 -143
  154. package/src/apps/server/api/utils.ts +0 -65
  155. package/src/apps/server/index.ts +0 -111
  156. package/src/cli/index.ts +0 -3
  157. package/src/cli/retrieval-disclosure-output.ts +0 -2
  158. package/src/compat/index.ts +0 -5
  159. package/src/core/canonical-key.ts +0 -186
  160. package/src/core/citation-generator.ts +0 -63
  161. package/src/core/consolidated-store.ts +0 -356
  162. package/src/core/consolidation-worker.ts +0 -493
  163. package/src/core/context-formatter.ts +0 -276
  164. package/src/core/continuity-manager.ts +0 -341
  165. package/src/core/db-wrapper.ts +0 -64
  166. package/src/core/derive/fact-deriver.ts +0 -170
  167. package/src/core/derive/index.ts +0 -2
  168. package/src/core/derive/summary-deriver.ts +0 -76
  169. package/src/core/edge-repo.ts +0 -333
  170. package/src/core/embedder.ts +0 -4
  171. package/src/core/engine/embedding-maintenance-service.ts +0 -187
  172. package/src/core/engine/endless-memory-services.ts +0 -4
  173. package/src/core/engine/index.ts +0 -19
  174. package/src/core/engine/memory-engine-services.ts +0 -170
  175. package/src/core/engine/memory-ingest-service.ts +0 -317
  176. package/src/core/engine/memory-query-service.ts +0 -173
  177. package/src/core/engine/memory-runtime-service.ts +0 -162
  178. package/src/core/engine/memory-service-composition.ts +0 -231
  179. package/src/core/engine/retrieval-analytics-service.ts +0 -181
  180. package/src/core/engine/retrieval-disclosure-service.ts +0 -420
  181. package/src/core/engine/retrieval-orchestrator.ts +0 -377
  182. package/src/core/engine/retrieval-services.ts +0 -176
  183. package/src/core/engine/shared-memory-services.ts +0 -4
  184. package/src/core/entity-repo.ts +0 -349
  185. package/src/core/event-store.ts +0 -779
  186. package/src/core/evidence-aligner.ts +0 -635
  187. package/src/core/external-market-context.ts +0 -582
  188. package/src/core/graduation-worker.ts +0 -171
  189. package/src/core/graduation.ts +0 -377
  190. package/src/core/index.ts +0 -64
  191. package/src/core/ingest-interceptor.ts +0 -80
  192. package/src/core/markdown-mirror.ts +0 -70
  193. package/src/core/matcher.ts +0 -208
  194. package/src/core/md-mirror.ts +0 -92
  195. package/src/core/metadata-extractor.ts +0 -203
  196. package/src/core/model/memory-fact.ts +0 -30
  197. package/src/core/model/memory-rule.ts +0 -14
  198. package/src/core/model/memory-summary.ts +0 -21
  199. package/src/core/model/raw-event.ts +0 -28
  200. package/src/core/model/retrieval-result.ts +0 -35
  201. package/src/core/mongo-sync-config.ts +0 -165
  202. package/src/core/mongo-sync-worker.ts +0 -381
  203. package/src/core/privacy/filter.ts +0 -190
  204. package/src/core/privacy/index.ts +0 -20
  205. package/src/core/privacy/tag-parser.ts +0 -145
  206. package/src/core/product-validation-matrix.ts +0 -314
  207. package/src/core/progressive-retriever.ts +0 -414
  208. package/src/core/registry/project-path.ts +0 -54
  209. package/src/core/registry/session-registry.ts +0 -69
  210. package/src/core/replay-evaluator.ts +0 -625
  211. package/src/core/retrieval-benchmark.ts +0 -117
  212. package/src/core/retrieval-quality.ts +0 -109
  213. package/src/core/retriever.ts +0 -800
  214. package/src/core/session-qrels.ts +0 -360
  215. package/src/core/shared-event-store.ts +0 -114
  216. package/src/core/shared-promoter.ts +0 -249
  217. package/src/core/shared-store.ts +0 -289
  218. package/src/core/shared-vector-store.ts +0 -203
  219. package/src/core/sqlite-event-store.ts +0 -1846
  220. package/src/core/sqlite-wrapper.ts +0 -116
  221. package/src/core/sync-worker.ts +0 -228
  222. package/src/core/tag-taxonomy.ts +0 -51
  223. package/src/core/task/blocker-resolver.ts +0 -333
  224. package/src/core/task/index.ts +0 -9
  225. package/src/core/task/task-matcher.ts +0 -240
  226. package/src/core/task/task-projector.ts +0 -358
  227. package/src/core/task/task-resolver.ts +0 -421
  228. package/src/core/turn-state.ts +0 -207
  229. package/src/core/types.ts +0 -952
  230. package/src/core/vector-outbox.ts +0 -299
  231. package/src/core/vector-store.ts +0 -231
  232. package/src/core/vector-worker.ts +0 -521
  233. package/src/core/working-set-store.ts +0 -257
  234. package/src/extensions/endless-memory/endless-memory-services.ts +0 -350
  235. package/src/extensions/endless-memory/index.ts +0 -1
  236. package/src/extensions/index.ts +0 -5
  237. package/src/extensions/mcp/handlers.ts +0 -960
  238. package/src/extensions/mcp/index.ts +0 -48
  239. package/src/extensions/mcp/tools.ts +0 -252
  240. package/src/extensions/shared-memory/index.ts +0 -1
  241. package/src/extensions/shared-memory/shared-memory-services.ts +0 -211
  242. package/src/extensions/vector/embedder.ts +0 -233
  243. package/src/extensions/vector/index.ts +0 -1
  244. package/src/hooks/post-tool-use.ts +0 -9
  245. package/src/hooks/semantic-daemon-client.ts +0 -1
  246. package/src/hooks/semantic-daemon.ts +0 -11
  247. package/src/hooks/session-end.ts +0 -9
  248. package/src/hooks/session-start.ts +0 -9
  249. package/src/hooks/stop.ts +0 -9
  250. package/src/hooks/user-prompt-submit.ts +0 -9
  251. package/src/index.ts +0 -13
  252. package/src/mcp/handlers.ts +0 -2
  253. package/src/mcp/index.ts +0 -4
  254. package/src/mcp/tools.ts +0 -2
  255. package/src/server/api/chat.ts +0 -2
  256. package/src/server/api/citations.ts +0 -2
  257. package/src/server/api/events.ts +0 -2
  258. package/src/server/api/health.ts +0 -2
  259. package/src/server/api/index.ts +0 -2
  260. package/src/server/api/projects.ts +0 -2
  261. package/src/server/api/search.ts +0 -2
  262. package/src/server/api/sessions.ts +0 -2
  263. package/src/server/api/stats.ts +0 -2
  264. package/src/server/api/turns.ts +0 -2
  265. package/src/server/api/utils.ts +0 -2
  266. package/src/server/index.ts +0 -2
  267. package/src/services/bootstrap-organizer.ts +0 -463
  268. package/src/services/codex-session-history-importer.ts +0 -966
  269. package/src/services/hermes-session-history-importer.ts +0 -733
  270. package/src/services/memory-service-config.ts +0 -36
  271. package/src/services/memory-service-registry.ts +0 -150
  272. package/src/services/memory-service.ts +0 -688
  273. package/src/services/session-history-importer.ts +0 -629
  274. package/tests/README.md +0 -23
  275. package/tests/adapters/claude/claude-semantic-daemon-adapter.test.ts +0 -54
  276. package/tests/adapters/claude/claude-transcript-reconstructor.test.ts +0 -98
  277. package/tests/adapters/claude-hook-prompt-injection-policy.test.ts +0 -99
  278. package/tests/apps/app-layer-boundary.test.ts +0 -48
  279. package/tests/apps/claude-settings-hooks.test.ts +0 -107
  280. package/tests/apps/cli-disclosure-output.test.ts +0 -212
  281. package/tests/apps/codex-import-runner.test.ts +0 -99
  282. package/tests/apps/codex-validation-output.test.ts +0 -100
  283. package/tests/apps/hermes-import-runner.test.ts +0 -99
  284. package/tests/apps/mcp-install-command.test.ts +0 -59
  285. package/tests/apps/package-build-entrypoints.test.ts +0 -30
  286. package/tests/apps/postinstall-embedding-backend.test.ts +0 -175
  287. package/tests/apps/search-api-disclosure.test.ts +0 -162
  288. package/tests/apps/stats-api-lightweight.test.ts +0 -67
  289. package/tests/apps/ui-disclosure-output.test.ts +0 -140
  290. package/tests/core/bootstrap-organizer.test.ts +0 -111
  291. package/tests/core/canonical-key.test.ts +0 -101
  292. package/tests/core/codex-session-history-importer-validation.test.ts +0 -185
  293. package/tests/core/consolidation-worker.test.ts +0 -75
  294. package/tests/core/embedding-maintenance-service.test.ts +0 -282
  295. package/tests/core/evidence-aligner.test.ts +0 -152
  296. package/tests/core/external-market-context.test.ts +0 -209
  297. package/tests/core/fact-deriver.test.ts +0 -79
  298. package/tests/core/hermes-session-history-importer-validation.test.ts +0 -609
  299. package/tests/core/ingest-interceptor.test.ts +0 -38
  300. package/tests/core/markdown-mirror.test.ts +0 -85
  301. package/tests/core/matcher.test.ts +0 -112
  302. package/tests/core/md-mirror.test.ts +0 -50
  303. package/tests/core/memory-engine-services.test.ts +0 -240
  304. package/tests/core/memory-ingest-service.test.ts +0 -296
  305. package/tests/core/memory-query-service.test.ts +0 -129
  306. package/tests/core/memory-runtime-service.test.ts +0 -201
  307. package/tests/core/memory-service-composition.test.ts +0 -192
  308. package/tests/core/memory-service-config.test.ts +0 -41
  309. package/tests/core/memory-service-facade.test.ts +0 -30
  310. package/tests/core/memory-service-registry.test.ts +0 -206
  311. package/tests/core/product-validation-matrix.test.ts +0 -61
  312. package/tests/core/project-registry.test.ts +0 -78
  313. package/tests/core/replay-evaluator.test.ts +0 -181
  314. package/tests/core/retrieval-analytics-service.test.ts +0 -210
  315. package/tests/core/retrieval-benchmark.test.ts +0 -93
  316. package/tests/core/retrieval-disclosure-service.test.ts +0 -264
  317. package/tests/core/retrieval-orchestrator.test.ts +0 -403
  318. package/tests/core/retrieval-quality.test.ts +0 -31
  319. package/tests/core/retrieval-services.test.ts +0 -185
  320. package/tests/core/retriever-fallback-chain.test.ts +0 -223
  321. package/tests/core/retriever-strategy-scope.test.ts +0 -164
  322. package/tests/core/retriever.memu-adoption.test.ts +0 -122
  323. package/tests/core/session-history-importer-filter.test.ts +0 -78
  324. package/tests/core/session-qrels.test.ts +0 -250
  325. package/tests/core/sqlite-event-store-replication.test.ts +0 -127
  326. package/tests/core/summary-deriver.test.ts +0 -66
  327. package/tests/extensions/embedder-warning-suppression.test.ts +0 -83
  328. package/tests/extensions/endless-memory-extension-boundary.test.ts +0 -17
  329. package/tests/extensions/endless-memory-services.test.ts +0 -325
  330. package/tests/extensions/mcp-context-tools.test.ts +0 -905
  331. package/tests/extensions/mcp-extension-boundary.test.ts +0 -21
  332. package/tests/extensions/mcp-package-build.test.ts +0 -22
  333. package/tests/extensions/mcp-project-aware-tools.test.ts +0 -102
  334. package/tests/extensions/shared-memory-extension-boundary.test.ts +0 -24
  335. package/tests/extensions/shared-memory-services.test.ts +0 -309
  336. package/tests/extensions/vector-extension-boundary.test.ts +0 -21
  337. package/tsconfig.json +0 -24
  338. 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
- **코어를 다시 가볍게 만드는 구조적 결단**이다.