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,421 +0,0 @@
1
- # claude-memory-layer 프로젝트 구조 분석
2
-
3
- ## 한 줄 요약
4
- `claude-memory-layer`는 단순한 “메모리 플러그인”을 넘어, **Claude Code용 훅 기반 메모리 수집기 + 로컬 저장소 + 벡터 검색 + 대시보드 + 일부 공유/협업 기능**까지 포함한 **로컬 메모리 플랫폼**에 가깝다.
5
-
6
- ---
7
-
8
- ## 1. 프로젝트 목적과 현재 포지셔닝
9
-
10
- 이 저장소의 중심 목적은 다음이다.
11
-
12
- - Claude Code 세션/턴/툴 사용 기록을 구조적으로 수집
13
- - 프로젝트 단위로 메모리를 격리 저장
14
- - 과거 대화/툴 결과를 이후 세션에서 재활용
15
- - 대시보드/API를 통해 메모리 상태를 관찰
16
- - 필요 시 shared memory, Mongo sync, MCP 같은 확장 경로를 제공
17
-
18
- 즉, 이 프로젝트는 **로컬 우선(local-first)** 철학 위에서,
19
-
20
- 1. **수집(Capture)**
21
- 2. **저장(Store)**
22
- 3. **임베딩/색인(Index)**
23
- 4. **검색/회상(Retrieve)**
24
- 5. **관찰/운영(Observe/Operate)**
25
-
26
- 까지 한 번에 다루는 구조다.
27
-
28
- ---
29
-
30
- ## 2. 기술 스택
31
-
32
- ### 런타임 / 언어
33
- - Node.js 18+
34
- - TypeScript (ESM)
35
- - esbuild 기반 빌드
36
-
37
- ### 주요 라이브러리
38
- - CLI: `commander`
39
- - 서버/API: `hono`, `@hono/node-server`
40
- - 로컬 DB: `better-sqlite3`
41
- - 벡터 저장소: `@lancedb/lancedb`
42
- - 로컬 임베딩: `@xenova/transformers`
43
- - 선택적 동기화: `mongodb`
44
-
45
- ### 대표 엔트리 포인트
46
- - CLI: `src/cli/index.ts`
47
- - 대시보드/REST 서버: `src/server/index.ts`
48
- - 훅들: `src/hooks/*.ts`
49
- - 메모리 오케스트레이션: `src/services/memory-service.ts`
50
- - 핵심 검색/저장 계층: `src/core/*`
51
- - MCP 관련 코드: `src/mcp/*`
52
-
53
- ---
54
-
55
- ## 3. 디렉터리 구조 분석
56
-
57
- ### `src/core/`
58
- 가장 중요한 도메인 계층이다. 실질적인 메모리 모델과 검색 로직 대부분이 여기 있다.
59
-
60
- 핵심 역할:
61
- - 이벤트 저장소
62
- - 벡터 저장소
63
- - 임베딩 큐/워커
64
- - 검색기(retriever)
65
- - 매처(matcher)
66
- - 점진적 검색(progressive retrieval)
67
- - 엔티티/엣지/태스크 관련 구조
68
- - markdown mirror
69
- - shared store
70
- - privacy filter
71
- - endless/consolidation 관련 구조
72
-
73
- 대표 파일:
74
- - `sqlite-event-store.ts`
75
- - `vector-store.ts`
76
- - `vector-worker.ts`
77
- - `retriever.ts`
78
- - `progressive-retriever.ts`
79
- - `matcher.ts`
80
- - `entity-repo.ts`
81
- - `edge-repo.ts`
82
- - `working-set-store.ts`
83
- - `consolidated-store.ts`
84
- - `markdown-mirror.ts`
85
- - `shared-event-store.ts`
86
-
87
- ### `src/services/`
88
- 실질적인 애플리케이션 서비스 계층이다.
89
-
90
- 대표 파일:
91
- - `memory-service.ts`: 전체 메모리 시스템의 중심 오케스트레이터
92
- - `session-history-importer.ts`: 기존 Claude transcript import
93
- - `codex-session-history-importer.ts`: Codex 계열 import
94
- - `bootstrap-organizer.ts`: 초기 지식 부트스트랩/정리
95
-
96
- ### `src/hooks/`
97
- Claude Code 훅 기반 자동 수집의 진입점이다.
98
-
99
- 대표 파일:
100
- - `session-start.ts`
101
- - `user-prompt-submit.ts`
102
- - `post-tool-use.ts`
103
- - `stop.ts`
104
- - `session-end.ts`
105
- - `semantic-daemon.ts`
106
- - `semantic-daemon-client.ts`
107
-
108
- 이 구조 덕분에 Claude Code lifecycle에 깊게 붙을 수 있다.
109
-
110
- ### `src/server/`
111
- 로컬 서버 + REST API 계층이다.
112
-
113
- 주요 API:
114
- - `/sessions`
115
- - `/events`
116
- - `/search`
117
- - `/stats`
118
- - `/citations`
119
- - `/turns`
120
- - `/projects`
121
- - `/chat`
122
- - `/health`
123
-
124
- ### `src/ui/`
125
- 정적 HTML/CSS/JS 기반 로컬 대시보드다.
126
- 프론트엔드 프레임워크 없이 단일 앱 스타일로 구성되어 있어 배포는 단순하지만, UI가 커질수록 유지보수 난도가 올라갈 수 있다.
127
-
128
- ### `src/mcp/`
129
- MCP 서버 관련 코드가 존재한다.
130
- 다만 현재 패키징/빌드/문서와의 정합성이 완전히 맞아 떨어지지는 않아 보이며, 일부는 “준비 중/부분 구현” 상태로 해석하는 것이 안전하다.
131
-
132
- ### 기타
133
- - `.claude-plugin/`: Claude plugin manifest / hook 설정
134
- - `tests/`: 핵심 로직 단위 테스트
135
- - `scripts/`: 운영/빌드/헬스체크/버전업 스크립트
136
- - `specs/`: 기능별 설계 문서와 구현 계획
137
- - `docs/`: 운영 및 비교 문서
138
-
139
- ---
140
-
141
- ## 4. 데이터 저장 구조
142
-
143
- 이 프로젝트는 생각보다 훨씬 많은 저장 계층을 가진다.
144
-
145
- ### 4.1 프로젝트 격리 저장
146
- 프로젝트별 경로 해시를 기준으로 저장소를 분리한다.
147
-
148
- 예상 구조:
149
- - `~/.claude-code/memory/projects/<project-hash>/...`
150
-
151
- 장점:
152
- - 프로젝트간 contamination 방지
153
- - 검색 범위 제어가 쉬움
154
-
155
- ### 4.2 세션 레지스트리
156
- 세션 ID → 프로젝트 매핑을 별도 registry에 유지한다.
157
-
158
- 장점:
159
- - 훅이 현재 어느 프로젝트 저장소를 써야 하는지 빠르게 판단 가능
160
-
161
- ### 4.3 SQLite primary store
162
- 핵심 사실: README 일부는 DuckDB 중심처럼 보이지만, 실제 구현의 중심은 **SQLite(WAL)** 이다.
163
-
164
- SQLite 내부 테이블은 단순 events 수준이 아니라 꽤 확장되어 있다.
165
- 예:
166
- - `events`
167
- - `sessions`
168
- - `embedding_outbox`
169
- - `memory_levels`
170
- - `entries`
171
- - `entities`
172
- - `entity_aliases`
173
- - `edges`
174
- - `vector_outbox`
175
- - `working_set`
176
- - `consolidated_memories`
177
- - `continuity_log`
178
- - `memory_helpfulness`
179
- - `retrieval_traces`
180
- - `sync_positions`
181
-
182
- 즉, 단순 로그 저장소가 아니라 **이벤트 + 파생 메모리 + 그래프 + 운영 telemetry**가 한 DB에 공존한다.
183
-
184
- ### 4.4 LanceDB vector index
185
- 벡터 검색용 테이블 `conversations` 를 별도로 유지한다.
186
-
187
- 흐름:
188
- - 이벤트 저장
189
- - 임베딩 outbox 기록
190
- - background worker가 임베딩 생성
191
- - LanceDB에 upsert
192
-
193
- ### 4.5 Markdown mirror
194
- 일부 메모리는 markdown 형태로도 mirror 된다.
195
-
196
- 의미:
197
- - 사람이 읽기 쉬움
198
- - git 연동/백업/감사 측면 유리
199
- - 하지만 저장 계층이 또 하나 늘어남
200
-
201
- ### 4.6 Shared / Mongo sync
202
- 공유 메모리, 다중 장치/다중 프로젝트 공유를 위한 구조가 이미 들어가 있다.
203
- 이건 장점이지만 복잡도를 크게 올리는 요인이다.
204
-
205
- ---
206
-
207
- ## 5. 수집 파이프라인
208
-
209
- 이 프로젝트의 가장 큰 강점 중 하나는 **hook-based capture pipeline** 이다.
210
-
211
- ### `SessionStart`
212
- - 세션 등록
213
- - 최근 메모리 요약 주입
214
- - semantic daemon 시작 시도
215
-
216
- ### `UserPromptSubmit`
217
- - 사용자 프롬프트 저장
218
- - retrieval gate 판단
219
- - semantic retrieval / fallback retrieval 수행
220
- - trace/helpfulness 기록
221
-
222
- ### `PostToolUse`
223
- - 의미 있는 툴 출력만 선택 수집
224
- - privacy 필터 적용
225
- - turn과 연결
226
-
227
- ### `Stop`
228
- - transcript JSONL에서 마지막 assistant 출력 복원
229
- - 응답 저장
230
- - helpfulness/summary 계산
231
-
232
- ### `SessionEnd`
233
- - 세션 마무리 요약/정리
234
-
235
- 이 구조는 “Claude Code가 실제로 어떤 작업을 했는지”를 비교적 풍부하게 재현할 수 있다는 장점이 있다.
236
-
237
- ---
238
-
239
- ## 6. 검색 구조
240
-
241
- 검색은 단순 벡터 검색이 아니라 여러 층으로 되어 있다.
242
-
243
- ### 주요 구성요소
244
- - `retriever.ts`
245
- - `matcher.ts`
246
- - `progressive-retriever.ts`
247
- - `semantic-daemon.ts`
248
-
249
- ### 특징
250
- - vector + keyword 조합
251
- - fallback chain
252
- - retrieval trace 기록
253
- - confidence band
254
- - progressive disclosure
255
- - 필요 시 shared scope 확장
256
-
257
- 즉, “한 번 검색해서 끝”이 아니라,
258
- **빠른 후보 → 더 깊은 후보 → 범위 확장 → 요약 fallback** 식의 다단계 검색으로 설계되어 있다.
259
-
260
- ---
261
-
262
- ## 7. 서버/API/대시보드 구조
263
-
264
- ### 서버
265
- `src/server/index.ts` 에서 로컬 서버를 띄워 API와 정적 UI를 함께 제공한다.
266
-
267
- ### API 역할
268
- - 검색
269
- - 세션/이벤트 조회
270
- - 통계
271
- - citations
272
- - 프로젝트 정보
273
- - health
274
- - chat proxy
275
-
276
- ### UI
277
- `src/ui/app.js` 단일 스크립트에 기능이 많이 몰려 있는 편이다.
278
-
279
- 장점:
280
- - 프레임워크 의존이 적음
281
- - 빌드가 단순함
282
-
283
- 단점:
284
- - 커질수록 모듈성/테스트/상태관리 한계가 생김
285
-
286
- ---
287
-
288
- ## 8. 테스트 / 품질 신호
289
-
290
- 대략적인 성격:
291
- - 핵심 로직 단위 테스트는 존재
292
- - retriever / matcher / mirror / consolidator 쪽은 확인 가능
293
- - 하지만 end-to-end 훅 흐름, 대시보드 UI, MCP 서버 전체가 아주 탄탄하게 검증되는 구조는 아직 아님
294
-
295
- 즉,
296
- - **core 로직 신뢰도는 중상**
297
- - **전체 운영 플로우 신뢰도는 추가 E2E 보강 필요**
298
-
299
- ---
300
-
301
- ## 9. 아키텍처 강점
302
-
303
- ### 강점 1: 실제 사용 흐름에 밀착한 hook 중심 구조
304
- Claude Code lifecycle에 직접 붙기 때문에 “기억할 만한 작업”을 비교적 자연스럽게 수집할 수 있다.
305
-
306
- ### 강점 2: `MemoryService` 중심 오케스트레이션
307
- 메모리 시스템 전체를 서비스 계층 하나로 묶어둔 점은 구조적으로 좋다.
308
-
309
- ### 강점 3: 다층 검색 전략
310
- vector-only보다 훨씬 실용적이다.
311
-
312
- ### 강점 4: 프로젝트 격리 + 관찰성
313
- project-local memory, retrieval traces, helpfulness, dashboard까지 있어 운영 관점에서 강하다.
314
-
315
- ### 강점 5: 확장성의 씨앗이 많다
316
- shared store, entity-edge model, task 모델, MCP, bootstrap import 등이 이미 존재한다.
317
-
318
- ---
319
-
320
- ## 10. 구조적 리스크 / 약점
321
-
322
- ### 약점 1: 시스템이 무거워지고 있다
323
- 현재는 다음이 동시에 있다.
324
- - hooks
325
- - semantic daemon
326
- - vector worker
327
- - dashboard server
328
- - SQLite
329
- - LanceDB
330
- - markdown mirror
331
- - shared store
332
- - optional Mongo sync
333
- - entity/task graph
334
- - endless/consolidation
335
-
336
- 이 정도면 “plugin” 수준을 넘어선다.
337
-
338
- ### 약점 2: 문서와 구현의 drift
339
- 분석상 아래와 같은 drift가 보인다.
340
- - README 상 DuckDB vs 실제 SQLite
341
- - README 상 Bun 서술 vs 실제 Hono node-server
342
- - MCP 문서 vs 실제 packaging/entry wiring 간 어긋남
343
-
344
- 이건 신규 기여자/미래의 본인에게 큰 비용이다.
345
-
346
- ### 약점 3: 기능 간 중첩 가능성
347
- - event store
348
- - markdown mirror
349
- - shared store
350
- - consolidated store
351
- - working set
352
- - continuity log
353
- 이런 계층이 많아지면 “어떤 것이 source of truth인지”가 흐려질 위험이 있다.
354
-
355
- ### 약점 4: 운영 프로세스 수 증가
356
- daemon/worker/server/hook 조합은 디버깅 난이도를 높인다.
357
-
358
- ### 약점 5: 일부 기능은 아직 덜 닫혀 보임
359
- MCP, shared, 일부 spec-driven 기능은 코드는 있으나 제품 surface는 덜 정리된 인상이 있다.
360
-
361
- ---
362
-
363
- ## 11. 유지보수 관점 평가
364
-
365
- 이 프로젝트는 **기술적으로 흥미롭고 강한 기반**을 갖고 있지만,
366
- 현재 구조를 그대로 계속 확장하면 다음 문제가 생길 가능성이 높다.
367
-
368
- - 기능 추가 속도는 느려짐
369
- - 버그 원인 추적이 어려워짐
370
- - 데이터 정합성 이슈가 생길 수 있음
371
- - 문서 부채가 빨리 증가함
372
- - “코어 메모리”보다 주변 기능 운영 비용이 더 커질 수 있음
373
-
374
- 즉, 지금 시점에서 필요한 건 “기능 더 추가”보다 **코어/확장/실험 계층 분리**다.
375
-
376
- ---
377
-
378
- ## 12. 가장 중요한 구조적 해석
379
-
380
- 이 저장소는 현재 사실상 3개의 제품이 한곳에 들어있다.
381
-
382
- 1. **코어 메모리 엔진**
383
- - 이벤트 저장
384
- - retrieval
385
- - embedding/index
386
-
387
- 2. **Claude 통합 제품**
388
- - hooks
389
- - plugin manifest
390
- - transcript import
391
-
392
- 3. **실험/확장 플랫폼**
393
- - shared store
394
- - Mongo sync
395
- - MCP
396
- - entity/task graph
397
- - endless/consolidation
398
- - dashboard analytics
399
-
400
- 이 셋을 명확히 분리하지 않으면 관리비가 계속 오른다.
401
-
402
- ---
403
-
404
- ## 13. 결론
405
-
406
- `claude-memory-layer`는 이미 **작고 예쁜 유틸리티**가 아니라,
407
- **강한 기능을 가진 로컬 메모리 플랫폼**이다.
408
-
409
- 좋은 점은:
410
- - 실제 사용 가치가 있는 구조를 이미 많이 갖췄고
411
- - 검색/수집/운영 관점이 모두 살아 있으며
412
- - 발전 가능성이 매우 크다.
413
-
414
- 하지만 동시에:
415
- - 구조가 빠르게 비대해지고 있고
416
- - 문서/구현 drift가 생기고 있으며
417
- - 앞으로는 “무엇을 더 넣을지”보다 “무엇을 코어에서 분리할지”가 더 중요하다.
418
-
419
- 이 프로젝트는 충분히 더 강해질 수 있다.
420
- 다만 그 방향은 **기능 추가형 비대화**보다,
421
- **얇은 코어 + 선택형 확장 모듈** 구조로 가는 것이 더 유리해 보인다.