claude-memory-layer 1.0.31 → 1.0.33

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 (343) hide show
  1. package/README.md +9 -2
  2. package/dist/cli/index.js +1110 -72
  3. package/dist/cli/index.js.map +4 -4
  4. package/dist/core/index.js +414 -25
  5. package/dist/core/index.js.map +2 -2
  6. package/dist/hooks/post-tool-use.js +416 -27
  7. package/dist/hooks/post-tool-use.js.map +2 -2
  8. package/dist/hooks/semantic-daemon.js +416 -27
  9. package/dist/hooks/semantic-daemon.js.map +2 -2
  10. package/dist/hooks/session-end.js +416 -27
  11. package/dist/hooks/session-end.js.map +2 -2
  12. package/dist/hooks/session-start.js +416 -27
  13. package/dist/hooks/session-start.js.map +2 -2
  14. package/dist/hooks/stop.js +416 -27
  15. package/dist/hooks/stop.js.map +2 -2
  16. package/dist/hooks/user-prompt-submit.js +504 -34
  17. package/dist/hooks/user-prompt-submit.js.map +2 -2
  18. package/dist/index.js +416 -27
  19. package/dist/index.js.map +2 -2
  20. package/dist/mcp/index.js +407 -32
  21. package/dist/mcp/index.js.map +2 -2
  22. package/dist/server/api/index.js +850 -44
  23. package/dist/server/api/index.js.map +3 -3
  24. package/dist/server/index.js +1073 -64
  25. package/dist/server/index.js.map +3 -3
  26. package/dist/services/memory-service.js +416 -27
  27. package/dist/services/memory-service.js.map +2 -2
  28. package/dist/ui/assets/js/bootstrap.js +2 -0
  29. package/dist/ui/assets/js/overview.js +166 -3
  30. package/dist/ui/assets/js/state.js +3 -0
  31. package/dist/ui/index.html +20 -0
  32. package/dist/ui/style.css +193 -0
  33. package/package.json +15 -2
  34. package/scripts/postinstall-embedding-backend.cjs +16 -12
  35. package/AGENTS.md +0 -71
  36. package/CLAUDE.md +0 -30
  37. package/HANDOFF.md +0 -92
  38. package/Memo.txt +0 -558
  39. package/benchmarks/replay/anonymized-real-sessions.json +0 -48
  40. package/config/kpi-thresholds.json +0 -7
  41. package/context.md +0 -636
  42. package/docs/ARCHITECTURE_COMPARISON_AND_RECOMMENDATIONS.md +0 -627
  43. package/docs/HERMES_MEMORY_INGESTION_ANALYSIS.md +0 -440
  44. package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +0 -271
  45. package/docs/MEMORY_USEFULNESS_AUDIT.md +0 -371
  46. package/docs/MEMORY_USEFULNESS_AUDIT_RAW.json +0 -80
  47. package/docs/MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md +0 -333
  48. package/docs/MEMU_ADOPTION.md +0 -40
  49. package/docs/OPERATIONS.md +0 -18
  50. package/docs/PRODUCT_VALIDATION_MATRIX.md +0 -82
  51. package/docs/PROJECT_STRUCTURE_ANALYSIS.md +0 -421
  52. package/docs/REFACTORING_MILESTONES_AND_ISSUES.md +0 -501
  53. package/docs/REFACTORING_PLAN_THIN_CORE.md +0 -414
  54. package/docs/REFERENCE_PROJECT_ANALYSES.md +0 -25
  55. package/docs/SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md +0 -452
  56. package/docs/TARGET_ARCHITECTURE_AND_FOLDER_STRUCTURE.md +0 -446
  57. package/docs/architecture/comparison-index.md +0 -47
  58. package/docs/reports/codex-real-data-validation-20260505T040447Z.md +0 -46
  59. package/plan.md +0 -1642
  60. package/scripts/build.ts +0 -159
  61. package/scripts/bump-patch-version.sh +0 -18
  62. package/scripts/delete-unknown-projects.js +0 -154
  63. package/scripts/fix-sync-gap.js +0 -32
  64. package/scripts/generate-session-qrels.ts +0 -126
  65. package/scripts/heartbeat-memory-orchestrator.sh +0 -28
  66. package/scripts/replay-retrieval-benchmark.ts +0 -69
  67. package/scripts/report-sync-gap.js +0 -26
  68. package/scripts/review-queue-auto-resolve.js +0 -21
  69. package/scripts/sync-gap-auto-heal.sh +0 -17
  70. package/spec.md +0 -624
  71. package/specs/20260207-dashboard-upgrade/context.md +0 -38
  72. package/specs/20260207-dashboard-upgrade/spec.md +0 -96
  73. package/specs/citations-system/context.md +0 -243
  74. package/specs/citations-system/plan.md +0 -495
  75. package/specs/citations-system/spec.md +0 -371
  76. package/specs/endless-mode/context.md +0 -305
  77. package/specs/endless-mode/plan.md +0 -620
  78. package/specs/endless-mode/spec.md +0 -455
  79. package/specs/entity-edge-model/context.md +0 -401
  80. package/specs/entity-edge-model/plan.md +0 -459
  81. package/specs/entity-edge-model/spec.md +0 -391
  82. package/specs/evidence-aligner-v2/context.md +0 -401
  83. package/specs/evidence-aligner-v2/plan.md +0 -303
  84. package/specs/evidence-aligner-v2/spec.md +0 -312
  85. package/specs/mcp-desktop-integration/context.md +0 -278
  86. package/specs/mcp-desktop-integration/plan.md +0 -550
  87. package/specs/mcp-desktop-integration/spec.md +0 -494
  88. package/specs/memory-utilization-improvements/context.md +0 -145
  89. package/specs/memory-utilization-improvements/plan.md +0 -361
  90. package/specs/memory-utilization-improvements/spec.md +0 -361
  91. package/specs/post-tool-use-hook/context.md +0 -319
  92. package/specs/post-tool-use-hook/plan.md +0 -469
  93. package/specs/post-tool-use-hook/spec.md +0 -364
  94. package/specs/private-tags/context.md +0 -288
  95. package/specs/private-tags/plan.md +0 -412
  96. package/specs/private-tags/spec.md +0 -345
  97. package/specs/progressive-disclosure/context.md +0 -346
  98. package/specs/progressive-disclosure/plan.md +0 -663
  99. package/specs/progressive-disclosure/spec.md +0 -415
  100. package/specs/selective-tool-observation/context.md +0 -100
  101. package/specs/selective-tool-observation/plan.md +0 -158
  102. package/specs/selective-tool-observation/spec.md +0 -127
  103. package/specs/task-entity-system/context.md +0 -297
  104. package/specs/task-entity-system/plan.md +0 -301
  105. package/specs/task-entity-system/spec.md +0 -314
  106. package/specs/thin-core-refactor/context.md +0 -275
  107. package/specs/thin-core-refactor/plan.md +0 -536
  108. package/specs/thin-core-refactor/spec.md +0 -465
  109. package/specs/vector-outbox-v2/context.md +0 -470
  110. package/specs/vector-outbox-v2/plan.md +0 -562
  111. package/specs/vector-outbox-v2/spec.md +0 -466
  112. package/specs/web-viewer-ui/context.md +0 -384
  113. package/specs/web-viewer-ui/plan.md +0 -797
  114. package/specs/web-viewer-ui/spec.md +0 -516
  115. package/src/adapters/claude/capture/index.ts +0 -3
  116. package/src/adapters/claude/context/index.ts +0 -3
  117. package/src/adapters/claude/hooks/index.ts +0 -21
  118. package/src/adapters/claude/hooks/post-tool-use.ts +0 -239
  119. package/src/adapters/claude/hooks/prompt-injection-policy.ts +0 -104
  120. package/src/adapters/claude/hooks/semantic-daemon-client.ts +0 -209
  121. package/src/adapters/claude/hooks/semantic-daemon.ts +0 -283
  122. package/src/adapters/claude/hooks/session-end.ts +0 -59
  123. package/src/adapters/claude/hooks/session-start.ts +0 -73
  124. package/src/adapters/claude/hooks/stop.ts +0 -128
  125. package/src/adapters/claude/hooks/user-prompt-submit.ts +0 -361
  126. package/src/adapters/claude/index.ts +0 -4
  127. package/src/adapters/claude/transcript/index.ts +0 -4
  128. package/src/adapters/claude/transcript/transcript-reader.ts +0 -57
  129. package/src/adapters/claude/transcript/turn-reconstructor.ts +0 -65
  130. package/src/apps/cli/claude-settings-hooks.ts +0 -138
  131. package/src/apps/cli/codex-import-runner.ts +0 -125
  132. package/src/apps/cli/codex-validation-output.ts +0 -95
  133. package/src/apps/cli/hermes-import-runner.ts +0 -130
  134. package/src/apps/cli/hermes-validation-output.ts +0 -91
  135. package/src/apps/cli/index.ts +0 -1735
  136. package/src/apps/cli/mcp-install.ts +0 -106
  137. package/src/apps/cli/retrieval-disclosure-output.ts +0 -196
  138. package/src/apps/dashboard/assets/js/bootstrap.js +0 -244
  139. package/src/apps/dashboard/assets/js/chat.js +0 -373
  140. package/src/apps/dashboard/assets/js/disclosure.js +0 -232
  141. package/src/apps/dashboard/assets/js/modals.js +0 -298
  142. package/src/apps/dashboard/assets/js/overview.js +0 -655
  143. package/src/apps/dashboard/assets/js/state.js +0 -72
  144. package/src/apps/dashboard/assets/js/views.js +0 -468
  145. package/src/apps/dashboard/index.html +0 -543
  146. package/src/apps/dashboard/index.ts +0 -3
  147. package/src/apps/dashboard/style.css +0 -1750
  148. package/src/apps/index.ts +0 -5
  149. package/src/apps/server/api/chat.ts +0 -244
  150. package/src/apps/server/api/citations.ts +0 -105
  151. package/src/apps/server/api/events.ts +0 -137
  152. package/src/apps/server/api/health.ts +0 -53
  153. package/src/apps/server/api/index.ts +0 -26
  154. package/src/apps/server/api/projects.ts +0 -74
  155. package/src/apps/server/api/search.ts +0 -184
  156. package/src/apps/server/api/sessions.ts +0 -115
  157. package/src/apps/server/api/stats.ts +0 -723
  158. package/src/apps/server/api/turns.ts +0 -143
  159. package/src/apps/server/api/utils.ts +0 -65
  160. package/src/apps/server/index.ts +0 -111
  161. package/src/cli/index.ts +0 -3
  162. package/src/cli/retrieval-disclosure-output.ts +0 -2
  163. package/src/compat/index.ts +0 -5
  164. package/src/core/canonical-key.ts +0 -186
  165. package/src/core/citation-generator.ts +0 -63
  166. package/src/core/consolidated-store.ts +0 -356
  167. package/src/core/consolidation-worker.ts +0 -493
  168. package/src/core/context-formatter.ts +0 -276
  169. package/src/core/continuity-manager.ts +0 -341
  170. package/src/core/db-wrapper.ts +0 -64
  171. package/src/core/derive/fact-deriver.ts +0 -170
  172. package/src/core/derive/index.ts +0 -2
  173. package/src/core/derive/summary-deriver.ts +0 -76
  174. package/src/core/edge-repo.ts +0 -333
  175. package/src/core/embedder.ts +0 -4
  176. package/src/core/engine/embedding-maintenance-service.ts +0 -187
  177. package/src/core/engine/endless-memory-services.ts +0 -4
  178. package/src/core/engine/index.ts +0 -19
  179. package/src/core/engine/memory-engine-services.ts +0 -170
  180. package/src/core/engine/memory-ingest-service.ts +0 -317
  181. package/src/core/engine/memory-query-service.ts +0 -173
  182. package/src/core/engine/memory-runtime-service.ts +0 -162
  183. package/src/core/engine/memory-service-composition.ts +0 -231
  184. package/src/core/engine/retrieval-analytics-service.ts +0 -181
  185. package/src/core/engine/retrieval-disclosure-service.ts +0 -420
  186. package/src/core/engine/retrieval-orchestrator.ts +0 -377
  187. package/src/core/engine/retrieval-services.ts +0 -176
  188. package/src/core/engine/shared-memory-services.ts +0 -4
  189. package/src/core/entity-repo.ts +0 -349
  190. package/src/core/event-store.ts +0 -779
  191. package/src/core/evidence-aligner.ts +0 -635
  192. package/src/core/external-market-context.ts +0 -582
  193. package/src/core/graduation-worker.ts +0 -171
  194. package/src/core/graduation.ts +0 -377
  195. package/src/core/index.ts +0 -64
  196. package/src/core/ingest-interceptor.ts +0 -80
  197. package/src/core/markdown-mirror.ts +0 -70
  198. package/src/core/matcher.ts +0 -208
  199. package/src/core/md-mirror.ts +0 -92
  200. package/src/core/metadata-extractor.ts +0 -203
  201. package/src/core/model/memory-fact.ts +0 -30
  202. package/src/core/model/memory-rule.ts +0 -14
  203. package/src/core/model/memory-summary.ts +0 -21
  204. package/src/core/model/raw-event.ts +0 -28
  205. package/src/core/model/retrieval-result.ts +0 -35
  206. package/src/core/mongo-sync-config.ts +0 -165
  207. package/src/core/mongo-sync-worker.ts +0 -381
  208. package/src/core/privacy/filter.ts +0 -190
  209. package/src/core/privacy/index.ts +0 -20
  210. package/src/core/privacy/tag-parser.ts +0 -145
  211. package/src/core/product-validation-matrix.ts +0 -314
  212. package/src/core/progressive-retriever.ts +0 -414
  213. package/src/core/registry/project-path.ts +0 -54
  214. package/src/core/registry/session-registry.ts +0 -69
  215. package/src/core/replay-evaluator.ts +0 -625
  216. package/src/core/retrieval-benchmark.ts +0 -117
  217. package/src/core/retrieval-quality.ts +0 -109
  218. package/src/core/retriever.ts +0 -800
  219. package/src/core/session-qrels.ts +0 -360
  220. package/src/core/shared-event-store.ts +0 -114
  221. package/src/core/shared-promoter.ts +0 -249
  222. package/src/core/shared-store.ts +0 -289
  223. package/src/core/shared-vector-store.ts +0 -203
  224. package/src/core/sqlite-event-store.ts +0 -1846
  225. package/src/core/sqlite-wrapper.ts +0 -116
  226. package/src/core/sync-worker.ts +0 -228
  227. package/src/core/tag-taxonomy.ts +0 -51
  228. package/src/core/task/blocker-resolver.ts +0 -333
  229. package/src/core/task/index.ts +0 -9
  230. package/src/core/task/task-matcher.ts +0 -240
  231. package/src/core/task/task-projector.ts +0 -358
  232. package/src/core/task/task-resolver.ts +0 -421
  233. package/src/core/turn-state.ts +0 -207
  234. package/src/core/types.ts +0 -952
  235. package/src/core/vector-outbox.ts +0 -299
  236. package/src/core/vector-store.ts +0 -231
  237. package/src/core/vector-worker.ts +0 -521
  238. package/src/core/working-set-store.ts +0 -257
  239. package/src/extensions/endless-memory/endless-memory-services.ts +0 -350
  240. package/src/extensions/endless-memory/index.ts +0 -1
  241. package/src/extensions/index.ts +0 -5
  242. package/src/extensions/mcp/handlers.ts +0 -960
  243. package/src/extensions/mcp/index.ts +0 -48
  244. package/src/extensions/mcp/tools.ts +0 -252
  245. package/src/extensions/shared-memory/index.ts +0 -1
  246. package/src/extensions/shared-memory/shared-memory-services.ts +0 -211
  247. package/src/extensions/vector/embedder.ts +0 -234
  248. package/src/extensions/vector/index.ts +0 -1
  249. package/src/hooks/post-tool-use.ts +0 -9
  250. package/src/hooks/semantic-daemon-client.ts +0 -1
  251. package/src/hooks/semantic-daemon.ts +0 -11
  252. package/src/hooks/session-end.ts +0 -9
  253. package/src/hooks/session-start.ts +0 -9
  254. package/src/hooks/stop.ts +0 -9
  255. package/src/hooks/user-prompt-submit.ts +0 -9
  256. package/src/index.ts +0 -13
  257. package/src/mcp/handlers.ts +0 -2
  258. package/src/mcp/index.ts +0 -4
  259. package/src/mcp/tools.ts +0 -2
  260. package/src/server/api/chat.ts +0 -2
  261. package/src/server/api/citations.ts +0 -2
  262. package/src/server/api/events.ts +0 -2
  263. package/src/server/api/health.ts +0 -2
  264. package/src/server/api/index.ts +0 -2
  265. package/src/server/api/projects.ts +0 -2
  266. package/src/server/api/search.ts +0 -2
  267. package/src/server/api/sessions.ts +0 -2
  268. package/src/server/api/stats.ts +0 -2
  269. package/src/server/api/turns.ts +0 -2
  270. package/src/server/api/utils.ts +0 -2
  271. package/src/server/index.ts +0 -2
  272. package/src/services/bootstrap-organizer.ts +0 -463
  273. package/src/services/codex-session-history-importer.ts +0 -966
  274. package/src/services/hermes-session-history-importer.ts +0 -733
  275. package/src/services/memory-service-config.ts +0 -36
  276. package/src/services/memory-service-registry.ts +0 -150
  277. package/src/services/memory-service.ts +0 -688
  278. package/src/services/session-history-importer.ts +0 -629
  279. package/tests/README.md +0 -23
  280. package/tests/adapters/claude/claude-semantic-daemon-adapter.test.ts +0 -54
  281. package/tests/adapters/claude/claude-transcript-reconstructor.test.ts +0 -98
  282. package/tests/adapters/claude-hook-prompt-injection-policy.test.ts +0 -99
  283. package/tests/apps/app-layer-boundary.test.ts +0 -48
  284. package/tests/apps/claude-settings-hooks.test.ts +0 -107
  285. package/tests/apps/cli-disclosure-output.test.ts +0 -212
  286. package/tests/apps/codex-import-runner.test.ts +0 -99
  287. package/tests/apps/codex-validation-output.test.ts +0 -100
  288. package/tests/apps/hermes-import-runner.test.ts +0 -99
  289. package/tests/apps/mcp-install-command.test.ts +0 -59
  290. package/tests/apps/package-build-entrypoints.test.ts +0 -30
  291. package/tests/apps/postinstall-embedding-backend.test.ts +0 -185
  292. package/tests/apps/search-api-disclosure.test.ts +0 -162
  293. package/tests/apps/stats-api-lightweight.test.ts +0 -67
  294. package/tests/apps/ui-disclosure-output.test.ts +0 -140
  295. package/tests/core/bootstrap-organizer.test.ts +0 -111
  296. package/tests/core/canonical-key.test.ts +0 -101
  297. package/tests/core/codex-session-history-importer-validation.test.ts +0 -185
  298. package/tests/core/consolidation-worker.test.ts +0 -75
  299. package/tests/core/embedding-maintenance-service.test.ts +0 -282
  300. package/tests/core/evidence-aligner.test.ts +0 -152
  301. package/tests/core/external-market-context.test.ts +0 -209
  302. package/tests/core/fact-deriver.test.ts +0 -79
  303. package/tests/core/hermes-session-history-importer-validation.test.ts +0 -609
  304. package/tests/core/ingest-interceptor.test.ts +0 -38
  305. package/tests/core/markdown-mirror.test.ts +0 -85
  306. package/tests/core/matcher.test.ts +0 -112
  307. package/tests/core/md-mirror.test.ts +0 -50
  308. package/tests/core/memory-engine-services.test.ts +0 -240
  309. package/tests/core/memory-ingest-service.test.ts +0 -296
  310. package/tests/core/memory-query-service.test.ts +0 -129
  311. package/tests/core/memory-runtime-service.test.ts +0 -201
  312. package/tests/core/memory-service-composition.test.ts +0 -192
  313. package/tests/core/memory-service-config.test.ts +0 -41
  314. package/tests/core/memory-service-facade.test.ts +0 -30
  315. package/tests/core/memory-service-registry.test.ts +0 -206
  316. package/tests/core/product-validation-matrix.test.ts +0 -61
  317. package/tests/core/project-registry.test.ts +0 -78
  318. package/tests/core/replay-evaluator.test.ts +0 -181
  319. package/tests/core/retrieval-analytics-service.test.ts +0 -210
  320. package/tests/core/retrieval-benchmark.test.ts +0 -93
  321. package/tests/core/retrieval-disclosure-service.test.ts +0 -264
  322. package/tests/core/retrieval-orchestrator.test.ts +0 -403
  323. package/tests/core/retrieval-quality.test.ts +0 -31
  324. package/tests/core/retrieval-services.test.ts +0 -185
  325. package/tests/core/retriever-fallback-chain.test.ts +0 -223
  326. package/tests/core/retriever-strategy-scope.test.ts +0 -164
  327. package/tests/core/retriever.memu-adoption.test.ts +0 -122
  328. package/tests/core/session-history-importer-filter.test.ts +0 -78
  329. package/tests/core/session-qrels.test.ts +0 -250
  330. package/tests/core/sqlite-event-store-replication.test.ts +0 -127
  331. package/tests/core/summary-deriver.test.ts +0 -66
  332. package/tests/extensions/embedder-warning-suppression.test.ts +0 -84
  333. package/tests/extensions/endless-memory-extension-boundary.test.ts +0 -17
  334. package/tests/extensions/endless-memory-services.test.ts +0 -325
  335. package/tests/extensions/mcp-context-tools.test.ts +0 -905
  336. package/tests/extensions/mcp-extension-boundary.test.ts +0 -21
  337. package/tests/extensions/mcp-package-build.test.ts +0 -22
  338. package/tests/extensions/mcp-project-aware-tools.test.ts +0 -102
  339. package/tests/extensions/shared-memory-extension-boundary.test.ts +0 -24
  340. package/tests/extensions/shared-memory-services.test.ts +0 -309
  341. package/tests/extensions/vector-extension-boundary.test.ts +0 -21
  342. package/tsconfig.json +0 -24
  343. package/vitest.config.ts +0 -15
@@ -1,501 +0,0 @@
1
- # claude-memory-layer Refactoring Milestones & Issue Breakdown
2
-
3
- ## 목적
4
- 이 문서는 `claude-memory-layer`를 thin-core 구조로 리팩터링하기 위한 실행 가능한 milestone과 issue 단위 작업 목록이다.
5
-
6
- 핵심 목표:
7
- - 구조를 설명 가능하게 만든다
8
- - 코어를 얇게 만든다
9
- - Claude 통합은 유지한다
10
- - 무거운 기능은 확장 계층으로 밀어낸다
11
- - 완전 재작성이 아니라 단계적 이전을 한다
12
-
13
- ---
14
-
15
- # Milestone 0. Architecture Alignment
16
-
17
- ## 목표
18
- 문서/용어/현실 구현을 맞춘다. 코드 수정 전에 반드시 필요하다.
19
-
20
- ### Issue 0-1. Canonical storage 정의 문서화
21
- **내용**
22
- - SQLite / LanceDB / markdown mirror / shared / Mongo sync의 역할을 명시
23
- - canonical vs derived 레이어 정의
24
-
25
- **산출물**
26
- - 아키텍처 문서 업데이트
27
- - 저장 계층 표
28
-
29
- **완료 기준**
30
- - 신규 기여자가 어떤 데이터가 원본인지 1분 내 이해 가능
31
-
32
- ### Issue 0-2. README drift 정리
33
- **내용**
34
- - DuckDB/Bun/MCP 관련 설명을 실제 구현과 맞춤
35
- - 현재 shipped feature vs experimental feature 분리
36
-
37
- **완료 기준**
38
- - README와 실제 엔트리포인트/의존성이 일치
39
-
40
- ### Issue 0-3. 용어 정리
41
- **내용**
42
- - event / fact / summary / rule / shared memory / citation / retrieval trace 용어 정의
43
-
44
- **완료 기준**
45
- - 문서와 코드 naming이 서로 충돌하지 않음
46
-
47
- ---
48
-
49
- # Milestone 1. Domain Model Separation
50
-
51
- ## 목표
52
- 현재 혼합된 메모리 개념을 raw / fact / summary 계층으로 분리한다.
53
-
54
- ### Issue 1-1. `RawEvent` 타입 도입
55
- **내용**
56
- - prompt / assistant / tool output / session marker / imported records를 단일 raw event 모델로 정리
57
-
58
- **완료 기준**
59
- - 모든 ingest path가 raw event로 normalize 가능
60
-
61
- ### Issue 1-2. `MemoryFact` 타입 도입
62
- **내용**
63
- - 검색 단위로 쓸 작은 fact 모델 정의
64
- - source event reference 포함
65
-
66
- **완료 기준**
67
- - 최소 3개 ingest path(프롬프트/응답/툴 출력)에서 fact derivation 가능
68
-
69
- ### Issue 1-3. `MemorySummary` 타입 도입
70
- **내용**
71
- - turn/session/project/continuity summary 타입 정리
72
-
73
- **완료 기준**
74
- - 요약 결과가 raw event/fact와 분리 저장됨
75
-
76
- ### Issue 1-4. Retrieval result type 표준화
77
- **내용**
78
- - `fact`, `summary`, `tool_evidence`, `source`, `rule` 타입 도입
79
-
80
- **완료 기준**
81
- - search API 응답이 통일된 envelope를 사용
82
-
83
- ---
84
-
85
- # Milestone 2. Core Engine Extraction
86
-
87
- ## 목표
88
- `MemoryService`를 작은 조립층으로 축소하고 핵심 기능을 분리한다.
89
-
90
- ### Issue 2-1. `ProjectRegistryService` 추출
91
- **내용**
92
- - project path hash, storage path, session registry 관리 분리
93
-
94
- **완료 기준**
95
- - `memory-service.ts`에서 registry 관련 책임 제거
96
-
97
- ### Issue 2-2. `MemoryIngestService` 추출
98
- **내용**
99
- - raw event append 경로 분리
100
- - privacy filter / capture normalization 연결
101
-
102
- **완료 기준**
103
- - append 관련 코드가 별도 서비스에 위치
104
-
105
- ### Issue 2-3. `FactDeriver` 추출
106
- **내용**
107
- - raw event → fact 변환 책임 분리
108
-
109
- **완료 기준**
110
- - fact derivation이 독립 테스트 가능
111
-
112
- ### Issue 2-4. `SummaryDeriver` 추출
113
- **내용**
114
- - turn/session/project 요약 생성 로직 분리
115
-
116
- **완료 기준**
117
- - summary 로직이 retrieval/index 로직과 분리됨
118
-
119
- ### Issue 2-5. `RetrievalEngine` 추출
120
- **내용**
121
- - 검색/확장/소스해석 책임 분리
122
-
123
- **완료 기준**
124
- - `MemoryService`는 retrieval orchestration만 함
125
-
126
- ---
127
-
128
- # Milestone 3. Claude Adapter Isolation
129
-
130
- ## 목표
131
- Claude-specific lifecycle을 adapter 레이어로 분리한다.
132
-
133
- ### Issue 3-1. `src/adapters/claude/hooks` 생성
134
- **내용**
135
- - 기존 `src/hooks/*` 파일을 새 adapter 위치로 이동 또는 re-export
136
-
137
- **완료 기준**
138
- - hook entrypoint가 adapter layer 아래 존재
139
-
140
- ### Issue 3-2. transcript parsing 분리
141
- **내용**
142
- - stop/session-end에서 사용하는 transcript reconstruction 로직 분리
143
-
144
- **완료 기준**
145
- - transcript 관련 유틸이 hook handler와 분리됨
146
-
147
- ### Issue 3-3. capture policy 분리
148
- **내용**
149
- - 어떤 prompt/tool/response를 저장할지 정책 모듈화
150
-
151
- **완료 기준**
152
- - capture heuristics가 테스트 가능한 정책 모듈이 됨
153
-
154
- ### Issue 3-4. context injection formatter 분리
155
- **내용**
156
- - additionalContext 생성 로직을 retrieval engine과 분리
157
-
158
- **완료 기준**
159
- - 검색 결과와 Claude용 문자열 포맷팅이 분리됨
160
-
161
- ---
162
-
163
- # Milestone 4. Storage & Index Simplification
164
-
165
- ## 목표
166
- SQLite 중심 구조를 선명히 하고, vector 계층을 optional accelerator로 명확히 한다.
167
-
168
- ### Issue 4-1. storage role matrix 작성 및 코드 반영
169
- **내용**
170
- - SQLite canonical / LanceDB derived / markdown journal projection 규칙 반영
171
-
172
- **완료 기준**
173
- - 코드 주석과 문서가 같은 storage 역할을 설명
174
-
175
- ### Issue 4-2. SQLite-only fallback 공식화
176
- **내용**
177
- - vector index 없이도 최소 search / recent context 동작
178
-
179
- **완료 기준**
180
- - vector 미초기화 상태 테스트 통과
181
-
182
- ### Issue 4-3. vector 계층 네임스페이스 이동
183
- **내용**
184
- - `vector-store`, `vector-worker`, `embedder` 등을 `extensions/vector`로 이동
185
-
186
- **완료 기준**
187
- - core 모듈이 vector 구현 세부사항에 직접 의존하지 않음
188
-
189
- ### Issue 4-4. stable derived key 도입
190
- **내용**
191
- - fact / summary / imported transcript memory에 deterministic key 부여
192
-
193
- **완료 기준**
194
- - dedupe/rebuild가 key 기반으로 가능
195
-
196
- ---
197
-
198
- # Milestone 5. Retrieval UX Productization
199
-
200
- ## 목표
201
- 검색 품질보다 “검색 결과를 설명 가능하고 쓰기 쉽게” 만든다.
202
-
203
- ### Issue 5-1. `search -> expand -> source` API 설계
204
- **내용**
205
- - search 결과
206
- - expanded context
207
- - source drill-down을 별도 surface로 노출
208
-
209
- **완료 기준**
210
- - CLI/API/dashboard 모두 같은 mental model 사용
211
-
212
- ### Issue 5-2. retrieval reason 표준화
213
- **내용**
214
- - semantic / keyword / recent / continuity / entity / fallback reason taxonomy 도입
215
-
216
- **완료 기준**
217
- - 모든 search result에 최소 1개 reason 포함
218
-
219
- ### Issue 5-3. result type badge 추가
220
- **내용**
221
- - fact / summary / tool evidence / source 구분
222
-
223
- **완료 기준**
224
- - 사용자가 결과 종류를 즉시 이해 가능
225
-
226
- ### Issue 5-4. helpfulness minimal loop
227
- **내용**
228
- - shown / clicked / expanded / accepted / reused 등 최소 signal 수집
229
-
230
- **완료 기준**
231
- - retrieval trace와 연결된 lightweight feedback 저장 가능
232
-
233
- ---
234
-
235
- # Milestone 6. Extensions Isolation
236
-
237
- ## 목표
238
- 무거운 기능을 core 바깥으로 이동한다.
239
-
240
- ### Issue 6-1. shared memory 모듈 분리
241
- **내용**
242
- - shared event store / shared vector / promoter를 `extensions/shared-memory`로 이동
243
-
244
- **완료 기준**
245
- - shared 기능 OFF 상태에서 core 영향 최소
246
-
247
- ### Issue 6-2. Mongo sync 분리
248
- **내용**
249
- - sync 관련 설정/worker/ops 스크립트 경계 분리
250
-
251
- **완료 기준**
252
- - Mongo dependency가 core 실행 경로에서 제거됨
253
-
254
- ### Issue 6-3. MCP extension 분리
255
- **내용**
256
- - MCP server/tools/handlers를 `extensions/mcp`로 이동
257
-
258
- **완료 기준**
259
- - MCP 비활성 상태가 정상 기본 경로가 됨
260
-
261
- ### Issue 6-4. continuity/endless mode 분리
262
- **내용**
263
- - working set / consolidated / continuity 관련 기능을 `extensions/continuity`로 이동
264
-
265
- **완료 기준**
266
- - core search/ingest와 endless mode가 느슨하게 결합됨
267
-
268
- ---
269
-
270
- # Milestone 7. Apps Cleanup
271
-
272
- ## 목표
273
- CLI / server / dashboard를 app layer로 정리한다.
274
-
275
- ### Issue 7-1. CLI app 경계 정리
276
- **내용**
277
- - CLI는 parsing/composition만 담당
278
- - business logic 최소화
279
-
280
- ### Issue 7-2. server app 경계 정리
281
- **내용**
282
- - API route와 core service composition 분리
283
-
284
- ### Issue 7-3. dashboard asset modularization
285
- **내용**
286
- - `app.js` 단일 파일을 기능별 모듈로 분해
287
-
288
- **완료 기준**
289
- - Search / Sessions / Health / Projects 등 기능별 분리
290
-
291
- ---
292
-
293
- # Milestone 8. Code-Aware Memory Anchors (Optional, Recommended)
294
-
295
- ## 목표
296
- full code graph 대신 가벼운 code-aware memory를 도입한다.
297
-
298
- ### Issue 8-1. file path refs 도입
299
- **내용**
300
- - memory fact가 관련 파일 경로를 참조 가능하게 함
301
-
302
- ### Issue 8-2. symbol refs 도입
303
- **내용**
304
- - 함수/클래스/모듈명 anchor를 metadata에 저장
305
-
306
- ### Issue 8-3. commit/diff refs 도입
307
- **내용**
308
- - imported or observed coding actions에 git context 연결
309
-
310
- **완료 기준**
311
- - “이 기억이 어떤 코드와 관련 있는지”를 가볍게 설명 가능
312
-
313
- ---
314
-
315
- # Milestone 9. Hardening & Migration Finish
316
-
317
- ## 목표
318
- 새 구조를 기본 구조로 전환하고 legacy compatibility를 줄인다.
319
-
320
- ### Issue 9-1. compat layer 축소
321
- **내용**
322
- - re-export/legacy wrapper 단계적으로 제거
323
-
324
- ### Issue 9-2. test matrix 재정리
325
- **내용**
326
- - core
327
- - adapters/claude
328
- - extensions
329
- - apps
330
- 별로 테스트 층 구분
331
-
332
- ### Issue 9-3. docs refresh
333
- **내용**
334
- - architecture
335
- - operations
336
- - install
337
- - extension status 표기
338
-
339
- ### Issue 9-4. release checklist 업데이트
340
- **내용**
341
- - 어떤 extension이 stable/experimental인지 릴리즈 노트에 명시
342
-
343
- ---
344
-
345
- # 추천 우선순위
346
-
347
- ## 즉시 착수 권장
348
- 1. Milestone 0
349
- 2. Milestone 1
350
- 3. Milestone 2
351
- 4. Milestone 3
352
-
353
- ## 다음 단계
354
- 5. Milestone 4
355
- 6. Milestone 5
356
- 7. Milestone 6
357
-
358
- ## 선택적 후속
359
- 8. Milestone 7
360
- 9. Milestone 8
361
- 10. Milestone 9
362
-
363
- ---
364
-
365
- # 90일 추천 로드맵
366
-
367
- ## 1~2주
368
- - Milestone 0 완료
369
- - 핵심 용어 및 문서 정리
370
-
371
- ## 3~5주
372
- - Milestone 1~2 진행
373
- - 도메인 타입과 core service 분리
374
-
375
- ## 6~8주
376
- - Milestone 3~4 진행
377
- - Claude adapter와 vector/storage 경계 정리
378
-
379
- ## 9~10주
380
- - Milestone 5 진행
381
- - retrieval UX/API 정리
382
-
383
- ## 11~12주
384
- - Milestone 6 시작
385
- - shared/MCP/Mongo/continuity extension 분리
386
-
387
- ---
388
-
389
- # 현재 구현/검증 상태 (2026-05-04 KST)
390
-
391
- ## 이번 thin-core refactor에서 반영된 주요 항목
392
- - `src/core/registry/`와 `src/services/memory-service-registry.ts`로 project path/hash/session/default/lightweight service-locator 책임을 분리했다.
393
- - `src/services/memory-service-config.ts`가 disabled/enabled shared-store 기본값을 소유하고, `memory-service.ts`는 public compatibility export만 보존한다.
394
- - `src/core/model/`에 raw/fact/summary/rule/retrieval result 계층 타입을 추가했다.
395
- - `src/core/derive/fact-deriver.ts`와 summary derivation 흐름으로 deterministic derivation의 첫 slice를 분리했다.
396
- - `src/core/engine/` 아래로 `MemoryService`의 주요 책임을 분리했다.
397
- - `memory-engine-services.ts`: SQLite/vector/embedder/retrieval/ingest/query bundle construction
398
- - `retrieval-orchestrator.ts`, `retrieval-disclosure-service.ts`, `retrieval-analytics-service.ts`, `retrieval-services.ts`
399
- - `memory-ingest-service.ts`, `memory-query-service.ts`, `memory-runtime-service.ts`
400
- - `embedding-maintenance-service.ts`; `endless-memory-services.ts`와 `shared-memory-services.ts`는 현재 `src/extensions/*` 구현을 가리키는 compatibility shim
401
- - `memory-service-composition.ts`: constructor-time service graph wiring
402
- - `MemoryService`는 현재 대부분 public compatibility facade + project state + composition assignment + service delegation 역할만 남겼다.
403
- - Claude hook 구현은 `src/adapters/claude/hooks/`로 이동했고, `src/hooks/*`는 compatibility wrapper로 축소했다.
404
- - Progressive retrieval disclosure는 service/API/CLI/dashboard까지 `search -> expand -> source` mental model로 연결했다.
405
- - Shared disclosure drill-down은 `shared:<entryId>`를 local raw event처럼 위장하지 않고 shared provenance를 명시한다.
406
- - `Retriever`에 deep retrieval 품질 개선용 intent rewrite merge, keyword rerank, graph-hop expansion, project scope filtering을 추가했다.
407
- - `@modelcontextprotocol/sdk@1.29.0` 기준으로 MCP `CallToolResult` 타입을 명시해 full typecheck를 복구했다.
408
-
409
- ## 최근 완료 commit checkpoint
410
- ```text
411
- 2bd32b5 refactor(memory): centralize shared store defaults
412
- 4f6ccc8 test(memory): document project registry shared config caching
413
- 099dad1 [verified] Extract memory service registry
414
- ddea95e refactor(memory): extract service composition wiring
415
- 54c360e refactor(memory): route embedding model facade through maintenance service
416
- e776d57 refactor(memory): delegate graduation access through runtime service
417
- 36313a6 refactor(memory): move endless context formatting
418
- 28e144d refactor(memory): move ingest pipeline to ingest service
419
- 265899a refactor(memory): extract query service facades
420
- 53354e3 refactor(memory): extract memory runtime service
421
- 0b5bde4 refactor(memory): extract embedding maintenance service
422
- 95d2075 Extract endless memory services
423
- 6da4ddb refactor(memory): extract shared memory services
424
- c19757d refactor(memory): bundle engine service construction
425
- e186ee4 refactor(claude): move semantic daemon behind adapter boundary
426
- 8071313 refactor(claude): move hook implementations behind adapter boundary
427
- 50ff74e feat(dashboard): show shared retrieval provenance
428
- 518bdda feat(cli): show shared retrieval results
429
- c58f50f fix(retrieval): keep disclosure drill-down lightweight
430
- 81bbf70 refactor(retrieval): bundle retrieval services
431
- ```
432
-
433
- ## 현재 milestone status
434
- - **Milestone 0 — Architecture Alignment:** 부분 완료. 계획/비교 문서는 존재하지만 README drift와 extension stability 표시는 추가 정리가 필요하다.
435
- - **Milestone 1 — Domain Model Separation:** 부분 완료. raw/fact/summary/retrieval result 타입과 일부 derivation은 분리됐지만 fact/summary 저장 모델의 제품화는 남아 있다.
436
- - **Milestone 2 — Core Engine Extraction:** 큰 진전. `MemoryService`의 retrieval/ingest/query/runtime/shared/endless/embedding/composition/registry 책임이 대부분 별도 서비스로 이동했다.
437
- - **Milestone 3 — Claude Adapter Isolation:** 큰 진전. hooks/transcript/semantic-daemon adapter boundary가 생겼다. capture policy 추가 분리는 후속 후보다.
438
- - **Milestone 4 — Storage & Index Simplification:** 부분 완료. SQLite canonical / vector derived 관점은 구현에 반영됐고 Embedder implementation은 `src/extensions/vector/`로 이동했다. VectorStore/VectorWorker 물리 이동은 남아 있다.
439
- - **Milestone 5 — Retrieval UX Productization:** 큰 진전. service/API/CLI/dashboard disclosure surface가 있다. helpfulness feedback loop의 제품화는 후속이다.
440
- - **Milestone 6 — Extensions Isolation:** 진행 중. shared memory service implementation은 `src/extensions/shared-memory/`로, endless memory service implementation은 `src/extensions/endless-memory/`로, MCP implementation은 `src/extensions/mcp/`로, Embedder implementation은 `src/extensions/vector/`로 이동했고 각각 기존 core/engine 또는 app path compatibility shim을 남겼다. VectorStore/VectorWorker 물리 이동은 후속이다.
441
- - **Milestone 7~9:** 후속 hardening/release cleanup 단계.
442
-
443
- ## 통과한 검증
444
- ```bash
445
- npm test -- --run tests/memory-service-config.test.ts tests/memory-service-registry.test.ts tests/memory-service-composition.test.ts
446
- # 3 files / 12 tests passed
447
-
448
- npm run typecheck -- --pretty false
449
- # passed
450
-
451
- git diff --check
452
- # passed
453
-
454
- npm test -- --run
455
- # 39 files / 172 tests passed
456
-
457
- npm run build
458
- # Build complete
459
-
460
- graphify update .
461
- # graphify-out updated: 1263 nodes, 2613 edges, 48 communities
462
- ```
463
-
464
- ## 현재 known status
465
- - full typecheck, full vitest suite, build가 모두 통과한다.
466
- - full test에서 새 regressions는 발견되지 않았다.
467
- - `graphify-out/`는 현재 `git status --short`에 tracked 변경으로 나타나지 않는다.
468
- - `patch` 도구의 파일 단위 자동 lint는 tsconfig project mode가 아니라 단일 파일 컴파일 방식으로 동작해 `node_modules`/target 관련 false positive를 출력할 수 있다. authoritative check는 `npm run typecheck -- --pretty false`로 본다.
469
-
470
- ## 다음 권장 slice
471
-
472
- 1. **MemoryService facade audit 마무리**
473
- - `MemoryService`에 남은 직접 상태는 `projectHash`, `projectPath`, mode flags, service field assignment 정도다.
474
- - 더 뺄 후보는 `session-history-importer`, `codex-session-history-importer`, `mcp/handlers`처럼 아직 `MemoryService`에 직접 붙어 있는 adapter/app callsite다.
475
-
476
- 2. **남은 extension 물리 이동 여부 결정**
477
- - shared/endless/MCP/Embedder는 `src/extensions/*`로 이동했고 compatibility shim을 남겼다.
478
- - 다음 후보는 VectorStore/VectorWorker 계층이며, retrieval/runtime/LanceDB와 얽혀 있어 별도 사전 조사 후 진행한다.
479
-
480
- 3. **README / release docs refresh**
481
- - 현재 shipped feature와 experimental extension을 구분했다.
482
- - shared store, endless mode, MCP, disclosure API/CLI/dashboard, Embedder extension 상태를 README에 반영했다.
483
- - 남은 후속: 정식 MCP package bin / `mcp install` command wiring 여부 결정.
484
-
485
- 4. **Generated graph/code-map artifact 정책 결정**
486
- - `graphify-out/`를 버전 관리할지, 생성물로 유지할지 명확히 한다.
487
-
488
- ---
489
-
490
- # 최종 판단
491
-
492
- 이 계획에서 가장 중요한 것은 기능 삭제가 아니다.
493
- 오히려 **기능의 위치를 올바르게 재배치하는 것**이다.
494
-
495
- 즉:
496
- - 코어는 더 얇게
497
- - Claude 통합은 더 또렷하게
498
- - 확장은 더 안전하게
499
- - 문서는 더 정직하게
500
-
501
- 이 네 가지가 맞춰지면 `claude-memory-layer`는 지금보다 훨씬 강한 장기 구조를 갖게 된다.