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,96 +0,0 @@
1
- # Dashboard Upgrade Spec
2
-
3
- ## Overview
4
- 대시보드에 인터랙티브 기능 추가. 메모리 이벤트 클릭 시 상세 모달, stat 카드 클릭 시 관련 데이터 목록, 사이드바 네비게이션으로 페이지 전환.
5
-
6
- ## User Stories
7
-
8
- ### US-1: 메모리 이벤트 상세 모달
9
- - **As a** 사용자
10
- - **I want** 메모리 이벤트를 클릭하면 전체 내용을 모달로 볼 수 있다
11
- - **So that** 잘린 preview가 아닌 전체 content와 context를 확인할 수 있다
12
-
13
- ### US-2: Stat 카드 클릭 → 관련 데이터 표시
14
- - **As a** 사용자
15
- - **I want** Total Events, Active Sessions, Shared Items, Vector Nodes 카드를 클릭하면 해당 데이터 목록을 볼 수 있다
16
- - **So that** 대시보드 숫자의 실제 데이터를 탐색할 수 있다
17
-
18
- ### US-3: 사이드바 네비게이션 페이지 전환
19
- - **As a** 사용자
20
- - **I want** Knowledge Graph, Memory Banks, Configuration을 클릭하면 메인 콘텐츠 영역이 해당 뷰로 전환된다
21
- - **So that** 대시보드 외의 기능에도 접근할 수 있다
22
-
23
- ## Acceptance Criteria
24
-
25
- ### AC-1: 메모리 이벤트 모달
26
- - [ ] 이벤트 아이템 클릭 시 모달 오픈
27
- - [ ] 모달에 전체 content 표시 (잘림 없이)
28
- - [ ] eventType, timestamp, sessionId 메타데이터 표시
29
- - [ ] context (앞뒤 이벤트) 표시
30
- - [ ] ESC 키 또는 오버레이 클릭으로 모달 닫기
31
- - [ ] 로딩 상태 표시
32
-
33
- ### AC-2: Stat 카드 클릭
34
- - [ ] **Total Events** 클릭 → 전체 이벤트 목록 모달 (타입별 필터, 페이지네이션)
35
- - [ ] **Active Sessions** 클릭 → 세션 목록 모달 (세션 ID, 이벤트 수, 시작/종료 시간)
36
- - [ ] **Shared Items** 클릭 → 공유 아이템 상세 모달 (Troubleshooting, Best Practices, Common Errors 카운트)
37
- - [ ] **Vector Nodes** 클릭 → 벡터 노드 정보 모달 (벡터 수, 메모리 사용량)
38
-
39
- ### AC-3: 사이드바 네비게이션
40
- - [ ] **Overview** → 현재 대시보드 (기존 동작 유지)
41
- - [ ] **Knowledge Graph** → 가장 많이 접근된 메모리, 토픽별 분포 표시
42
- - [ ] **Memory Banks** → 레벨별 메모리 목록 (L0~L4), 졸업 기준 표시
43
- - [ ] **Configuration** → 졸업 기준 설정, 시스템 정보 표시
44
- - [ ] active nav-item 하이라이트 전환
45
- - [ ] 페이지 전환 시 부드러운 트랜지션
46
-
47
- ## Technical Constraints
48
- - 순수 HTML/CSS/JS (프레임워크 없음)
49
- - 기존 `app.js`, `style.css`, `index.html` 수정
50
- - 기존 API 엔드포인트 최대한 활용
51
- - ApexCharts는 Overview 페이지에서만 사용
52
-
53
- ## API Endpoints (기존)
54
-
55
- | Endpoint | Method | 용도 |
56
- |----------|--------|------|
57
- | `/api/events/:id` | GET | 이벤트 상세 (content + context) |
58
- | `/api/events` | GET | 이벤트 목록 (level, sort, limit, offset) |
59
- | `/api/sessions` | GET | 세션 목록 (page, pageSize) |
60
- | `/api/sessions/:id` | GET | 세션 상세 |
61
- | `/api/stats` | GET | 전체 통계 |
62
- | `/api/stats/shared` | GET | 공유 스토어 통계 |
63
- | `/api/stats/most-accessed` | GET | 가장 많이 접근된 메모리 |
64
- | `/api/stats/levels/:level` | GET | 레벨별 이벤트 |
65
- | `/api/stats/graduation` | GET | 졸업 기준 정보 |
66
- | `/api/stats/helpfulness` | GET | 도움됨 통계 |
67
- | `/api/stats/timeline` | GET | 활동 타임라인 |
68
- | `/api/search?q=` | GET | 메모리 검색 |
69
-
70
- ## UI Components (신규)
71
-
72
- ### 1. Detail Modal (`#detail-modal`)
73
- - overlay + centered content box
74
- - header: 타입 배지 + 타임스탬프 + 닫기 버튼
75
- - body: 전체 content (코드 블록 포맷팅)
76
- - footer: context 이벤트 목록
77
- - 애니메이션: fadeIn/fadeOut
78
-
79
- ### 2. List Modal (`#list-modal`)
80
- - stat 카드 클릭 시 사용하는 범용 목록 모달
81
- - header: 제목 + 닫기 버튼
82
- - body: 스크롤 가능한 아이템 목록
83
- - 각 아이템 클릭 시 detail modal 열기 가능
84
-
85
- ### 3. Page Views
86
- - `#view-overview` - 기존 대시보드 (기본)
87
- - `#view-knowledge-graph` - Knowledge Graph 뷰
88
- - `#view-memory-banks` - Memory Banks 뷰
89
- - `#view-configuration` - Configuration 뷰
90
- - 한 번에 하나만 visible (display: none/block 전환)
91
-
92
- ## Design Guidelines
93
- - 기존 Deep Space 테마 유지
94
- - 모달: `var(--bg-panel)` 배경, `var(--glass-border)` 테두리
95
- - 애니메이션: 200~300ms ease 트랜지션
96
- - 모바일 대응: 모달 full-width on mobile
@@ -1,243 +0,0 @@
1
- # Citations System Context
2
-
3
- > **Version**: 1.0.0
4
- > **Created**: 2026-02-01
5
-
6
- ## 1. 배경
7
-
8
- ### 1.1 claude-mem의 접근 방식
9
-
10
- claude-mem은 observation에 ID를 부여하여 참조 가능하게 함:
11
-
12
- ```
13
- [mem:abc123] 에서 참조한 정보입니다.
14
- ```
15
-
16
- **특징**:
17
- - 모든 observation에 고유 ID
18
- - 검색 결과에 ID 표시
19
- - ID로 원본 조회 가능
20
-
21
- ### 1.2 현재 code-memory의 상황
22
-
23
- 현재 이벤트 ID는 존재하지만 인용 시스템 없음:
24
-
25
- ```typescript
26
- // 현재 검색 결과
27
- {
28
- eventId: "evt_abc123def456...", // 긴 UUID
29
- content: "...",
30
- score: 0.9
31
- }
32
- ```
33
-
34
- **문제**:
35
- 1. eventId가 너무 길어서 참조하기 불편
36
- 2. 컨텍스트에 인용 표시 없음
37
- 3. 출처 확인 어려움
38
-
39
- ### 1.3 인용의 가치
40
-
41
- | 인용 없음 | 인용 있음 |
42
- |----------|----------|
43
- | 출처 불명 | 명확한 출처 |
44
- | 검증 불가 | 원본 확인 가능 |
45
- | 맥락 손실 | 전후 관계 파악 |
46
- | 신뢰도 낮음 | 신뢰도 높음 |
47
-
48
- ## 2. ID 설계
49
-
50
- ### 2.1 고려사항
51
-
52
- | 요소 | 요구사항 |
53
- |------|----------|
54
- | 길이 | 짧고 기억하기 쉬움 |
55
- | 고유성 | 충돌 확률 낮음 |
56
- | 가독성 | 쉽게 읽고 말할 수 있음 |
57
- | 생성 | 빠르고 결정적 |
58
-
59
- ### 2.2 옵션 비교
60
-
61
- | 옵션 | 예시 | 조합 수 | 장점 | 단점 |
62
- |------|------|--------|------|------|
63
- | 4자 base62 | a7Bc | 14.7M | 매우 짧음 | 충돌 위험 |
64
- | **6자 base62** | a7Bc3x | 56.8B | 균형 | - |
65
- | 8자 base62 | a7Bc3xYz | 218T | 충돌 없음 | 다소 김 |
66
- | 8자 hex | ab12cd34 | 4.3B | 익숙함 | 효율 낮음 |
67
-
68
- **선택**: 6자 base62 (56.8억 조합)
69
- - 1000만 이벤트에서 충돌 확률 < 0.0001%
70
-
71
- ### 2.3 생성 알고리즘
72
-
73
- ```typescript
74
- // SHA256 해시 기반 (결정적, 빠름)
75
- function generateCitationId(eventId: string): string {
76
- const hash = crypto.createHash('sha256').update(eventId).digest();
77
-
78
- // base62 인코딩
79
- const charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
80
- let id = '';
81
- for (let i = 0; i < 6; i++) {
82
- id += charset[hash[i] % 62];
83
- }
84
- return id;
85
- }
86
- ```
87
-
88
- ## 3. 기존 코드와의 관계
89
-
90
- ### 3.1 event-store.ts
91
-
92
- 인용 테이블 추가:
93
-
94
- ```sql
95
- -- events 테이블과 1:1 관계
96
- CREATE TABLE citations (
97
- citation_id VARCHAR(8) PRIMARY KEY,
98
- event_id VARCHAR NOT NULL UNIQUE REFERENCES events(event_id)
99
- );
100
- ```
101
-
102
- ### 3.2 retriever.ts
103
-
104
- 검색 결과에 인용 포함:
105
-
106
- ```typescript
107
- // 현재
108
- async search(query): Promise<SearchResult[]>
109
-
110
- // 확장
111
- async searchWithCitations(query): Promise<CitedSearchResult[]>
112
- ```
113
-
114
- ### 3.3 context-formatter.ts
115
-
116
- 인용 표시 포맷:
117
-
118
- ```typescript
119
- // 현재
120
- > DuckDB를 사용하여...
121
-
122
- // 확장
123
- > DuckDB를 사용하여...
124
- >
125
- > [mem:a7Bc3x] - 2026-01-30, Session abc123
126
- ```
127
-
128
- ## 4. 설계 결정 사항
129
-
130
- ### 4.1 생성 시점
131
-
132
- **옵션 1: 이벤트 저장 시 즉시 생성**
133
- - 장점: 항상 인용 ID 존재
134
- - 단점: 저장 오버헤드
135
-
136
- **옵션 2: 검색 시 지연 생성**
137
- - 장점: 필요할 때만 생성
138
- - 단점: 첫 검색 약간 느림
139
-
140
- **선택**: 지연 생성 (getOrCreate 패턴)
141
- - 저장 시 오버헤드 없음
142
- - 대부분 이벤트는 검색되지 않음
143
-
144
- ### 4.2 인용 포맷
145
-
146
- **옵션들**:
147
- 1. `[mem:a7Bc3x]` - 명확하고 검색 가능
148
- 2. `(ref: a7Bc3x)` - 간결
149
- 3. `¹` (각주 스타일) - 학술적
150
- 4. `<a7Bc3x>` - 태그 스타일
151
-
152
- **선택**: `[mem:a7Bc3x]`
153
- - `mem:` 접두사로 명확한 의미
154
- - 대괄호로 시각적 구분
155
- - 검색/복사 용이
156
-
157
- ### 4.3 컨텍스트 포함 방식
158
-
159
- **인라인 방식** (선택):
160
- ```markdown
161
- > 내용...
162
- > [mem:a7Bc3x] - 2026-01-30
163
- ```
164
-
165
- **각주 방식**:
166
- ```markdown
167
- DuckDB를 사용[1]...
168
-
169
- ---
170
- [1] mem:a7Bc3x - 2026-01-30
171
- ```
172
-
173
- **참조 방식**:
174
- ```markdown
175
- ## Content
176
- DuckDB를 사용...
177
-
178
- ## References
179
- - [mem:a7Bc3x] Session abc123, 2026-01-30
180
- ```
181
-
182
- ## 5. 사용 추적
183
-
184
- ### 5.1 목적
185
-
186
- - 인기 있는 메모리 파악
187
- - 자주 참조되는 지식 식별
188
- - graduation 우선순위 결정
189
-
190
- ### 5.2 추적 데이터
191
-
192
- ```sql
193
- CREATE TABLE citation_usages (
194
- usage_id VARCHAR PRIMARY KEY,
195
- citation_id VARCHAR NOT NULL,
196
- session_id VARCHAR NOT NULL,
197
- used_at TIMESTAMP,
198
- context VARCHAR -- 검색 쿼리
199
- );
200
- ```
201
-
202
- ### 5.3 통계 활용
203
-
204
- ```typescript
205
- // 인기 인용 → graduation 우선순위
206
- async function graduationCandidates(): Promise<Event[]> {
207
- const popular = await getPopularCitations({ limit: 100 });
208
- return popular.filter(c => c.usageCount >= 5);
209
- }
210
- ```
211
-
212
- ## 6. 성능 고려사항
213
-
214
- ### 6.1 ID 생성
215
-
216
- - SHA256 해시: ~1µs
217
- - DB 조회 (exists): ~1ms
218
- - 충돌 시 재시도: 드묾
219
-
220
- ### 6.2 인덱스
221
-
222
- ```sql
223
- -- 빠른 조회를 위한 인덱스
224
- CREATE INDEX idx_citations_event ON citations(event_id);
225
- CREATE INDEX idx_usages_citation ON citation_usages(citation_id);
226
- ```
227
-
228
- ### 6.3 캐싱
229
-
230
- ```typescript
231
- // 최근 사용된 인용 캐싱
232
- const citationCache = new LRUCache<string, Citation>({
233
- max: 1000,
234
- ttl: 3600000 // 1시간
235
- });
236
- ```
237
-
238
- ## 7. 참고 자료
239
-
240
- - **claude-mem**: Citation system with observation IDs
241
- - **학술 인용**: APA, MLA 스타일
242
- - **GitHub**: Issue/PR 참조 (#123)
243
- - **Notion**: 블록 ID 참조 시스템