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.
- package/README.md +9 -2
- package/dist/cli/index.js +1 -1
- package/package.json +11 -2
- package/scripts/postinstall-embedding-backend.cjs +16 -12
- package/AGENTS.md +0 -71
- package/CLAUDE.md +0 -30
- package/HANDOFF.md +0 -92
- package/Memo.txt +0 -558
- package/benchmarks/replay/anonymized-real-sessions.json +0 -48
- package/config/kpi-thresholds.json +0 -7
- package/context.md +0 -636
- package/docs/ARCHITECTURE_COMPARISON_AND_RECOMMENDATIONS.md +0 -627
- package/docs/HERMES_MEMORY_INGESTION_ANALYSIS.md +0 -440
- package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +0 -271
- package/docs/MEMORY_USEFULNESS_AUDIT.md +0 -371
- package/docs/MEMORY_USEFULNESS_AUDIT_RAW.json +0 -80
- package/docs/MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md +0 -333
- package/docs/MEMU_ADOPTION.md +0 -40
- package/docs/OPERATIONS.md +0 -18
- package/docs/PRODUCT_VALIDATION_MATRIX.md +0 -82
- package/docs/PROJECT_STRUCTURE_ANALYSIS.md +0 -421
- package/docs/REFACTORING_MILESTONES_AND_ISSUES.md +0 -501
- package/docs/REFACTORING_PLAN_THIN_CORE.md +0 -414
- package/docs/REFERENCE_PROJECT_ANALYSES.md +0 -25
- package/docs/SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md +0 -452
- package/docs/TARGET_ARCHITECTURE_AND_FOLDER_STRUCTURE.md +0 -446
- package/docs/architecture/comparison-index.md +0 -47
- package/docs/reports/codex-real-data-validation-20260505T040447Z.md +0 -46
- package/plan.md +0 -1642
- package/scripts/build.ts +0 -159
- package/scripts/bump-patch-version.sh +0 -18
- package/scripts/delete-unknown-projects.js +0 -154
- package/scripts/fix-sync-gap.js +0 -32
- package/scripts/generate-session-qrels.ts +0 -126
- package/scripts/heartbeat-memory-orchestrator.sh +0 -28
- package/scripts/replay-retrieval-benchmark.ts +0 -69
- package/scripts/report-sync-gap.js +0 -26
- package/scripts/review-queue-auto-resolve.js +0 -21
- package/scripts/sync-gap-auto-heal.sh +0 -17
- package/spec.md +0 -624
- package/specs/20260207-dashboard-upgrade/context.md +0 -38
- package/specs/20260207-dashboard-upgrade/spec.md +0 -96
- package/specs/citations-system/context.md +0 -243
- package/specs/citations-system/plan.md +0 -495
- package/specs/citations-system/spec.md +0 -371
- package/specs/endless-mode/context.md +0 -305
- package/specs/endless-mode/plan.md +0 -620
- package/specs/endless-mode/spec.md +0 -455
- package/specs/entity-edge-model/context.md +0 -401
- package/specs/entity-edge-model/plan.md +0 -459
- package/specs/entity-edge-model/spec.md +0 -391
- package/specs/evidence-aligner-v2/context.md +0 -401
- package/specs/evidence-aligner-v2/plan.md +0 -303
- package/specs/evidence-aligner-v2/spec.md +0 -312
- package/specs/mcp-desktop-integration/context.md +0 -278
- package/specs/mcp-desktop-integration/plan.md +0 -550
- package/specs/mcp-desktop-integration/spec.md +0 -494
- package/specs/memory-utilization-improvements/context.md +0 -145
- package/specs/memory-utilization-improvements/plan.md +0 -361
- package/specs/memory-utilization-improvements/spec.md +0 -361
- package/specs/post-tool-use-hook/context.md +0 -319
- package/specs/post-tool-use-hook/plan.md +0 -469
- package/specs/post-tool-use-hook/spec.md +0 -364
- package/specs/private-tags/context.md +0 -288
- package/specs/private-tags/plan.md +0 -412
- package/specs/private-tags/spec.md +0 -345
- package/specs/progressive-disclosure/context.md +0 -346
- package/specs/progressive-disclosure/plan.md +0 -663
- package/specs/progressive-disclosure/spec.md +0 -415
- package/specs/selective-tool-observation/context.md +0 -100
- package/specs/selective-tool-observation/plan.md +0 -158
- package/specs/selective-tool-observation/spec.md +0 -127
- package/specs/task-entity-system/context.md +0 -297
- package/specs/task-entity-system/plan.md +0 -301
- package/specs/task-entity-system/spec.md +0 -314
- package/specs/thin-core-refactor/context.md +0 -275
- package/specs/thin-core-refactor/plan.md +0 -536
- package/specs/thin-core-refactor/spec.md +0 -465
- package/specs/vector-outbox-v2/context.md +0 -470
- package/specs/vector-outbox-v2/plan.md +0 -562
- package/specs/vector-outbox-v2/spec.md +0 -466
- package/specs/web-viewer-ui/context.md +0 -384
- package/specs/web-viewer-ui/plan.md +0 -797
- package/specs/web-viewer-ui/spec.md +0 -516
- package/src/adapters/claude/capture/index.ts +0 -3
- package/src/adapters/claude/context/index.ts +0 -3
- package/src/adapters/claude/hooks/index.ts +0 -21
- package/src/adapters/claude/hooks/post-tool-use.ts +0 -239
- package/src/adapters/claude/hooks/prompt-injection-policy.ts +0 -104
- package/src/adapters/claude/hooks/semantic-daemon-client.ts +0 -209
- package/src/adapters/claude/hooks/semantic-daemon.ts +0 -283
- package/src/adapters/claude/hooks/session-end.ts +0 -59
- package/src/adapters/claude/hooks/session-start.ts +0 -73
- package/src/adapters/claude/hooks/stop.ts +0 -128
- package/src/adapters/claude/hooks/user-prompt-submit.ts +0 -361
- package/src/adapters/claude/index.ts +0 -4
- package/src/adapters/claude/transcript/index.ts +0 -4
- package/src/adapters/claude/transcript/transcript-reader.ts +0 -57
- package/src/adapters/claude/transcript/turn-reconstructor.ts +0 -65
- package/src/apps/cli/claude-settings-hooks.ts +0 -138
- package/src/apps/cli/codex-import-runner.ts +0 -125
- package/src/apps/cli/codex-validation-output.ts +0 -95
- package/src/apps/cli/hermes-import-runner.ts +0 -130
- package/src/apps/cli/hermes-validation-output.ts +0 -91
- package/src/apps/cli/index.ts +0 -1735
- package/src/apps/cli/mcp-install.ts +0 -106
- package/src/apps/cli/retrieval-disclosure-output.ts +0 -196
- package/src/apps/dashboard/assets/js/bootstrap.js +0 -244
- package/src/apps/dashboard/assets/js/chat.js +0 -373
- package/src/apps/dashboard/assets/js/disclosure.js +0 -232
- package/src/apps/dashboard/assets/js/modals.js +0 -298
- package/src/apps/dashboard/assets/js/overview.js +0 -655
- package/src/apps/dashboard/assets/js/state.js +0 -72
- package/src/apps/dashboard/assets/js/views.js +0 -468
- package/src/apps/dashboard/index.html +0 -543
- package/src/apps/dashboard/index.ts +0 -3
- package/src/apps/dashboard/style.css +0 -1750
- package/src/apps/index.ts +0 -5
- package/src/apps/server/api/chat.ts +0 -244
- package/src/apps/server/api/citations.ts +0 -105
- package/src/apps/server/api/events.ts +0 -137
- package/src/apps/server/api/health.ts +0 -53
- package/src/apps/server/api/index.ts +0 -26
- package/src/apps/server/api/projects.ts +0 -74
- package/src/apps/server/api/search.ts +0 -184
- package/src/apps/server/api/sessions.ts +0 -115
- package/src/apps/server/api/stats.ts +0 -723
- package/src/apps/server/api/turns.ts +0 -143
- package/src/apps/server/api/utils.ts +0 -65
- package/src/apps/server/index.ts +0 -111
- package/src/cli/index.ts +0 -3
- package/src/cli/retrieval-disclosure-output.ts +0 -2
- package/src/compat/index.ts +0 -5
- package/src/core/canonical-key.ts +0 -186
- package/src/core/citation-generator.ts +0 -63
- package/src/core/consolidated-store.ts +0 -356
- package/src/core/consolidation-worker.ts +0 -493
- package/src/core/context-formatter.ts +0 -276
- package/src/core/continuity-manager.ts +0 -341
- package/src/core/db-wrapper.ts +0 -64
- package/src/core/derive/fact-deriver.ts +0 -170
- package/src/core/derive/index.ts +0 -2
- package/src/core/derive/summary-deriver.ts +0 -76
- package/src/core/edge-repo.ts +0 -333
- package/src/core/embedder.ts +0 -4
- package/src/core/engine/embedding-maintenance-service.ts +0 -187
- package/src/core/engine/endless-memory-services.ts +0 -4
- package/src/core/engine/index.ts +0 -19
- package/src/core/engine/memory-engine-services.ts +0 -170
- package/src/core/engine/memory-ingest-service.ts +0 -317
- package/src/core/engine/memory-query-service.ts +0 -173
- package/src/core/engine/memory-runtime-service.ts +0 -162
- package/src/core/engine/memory-service-composition.ts +0 -231
- package/src/core/engine/retrieval-analytics-service.ts +0 -181
- package/src/core/engine/retrieval-disclosure-service.ts +0 -420
- package/src/core/engine/retrieval-orchestrator.ts +0 -377
- package/src/core/engine/retrieval-services.ts +0 -176
- package/src/core/engine/shared-memory-services.ts +0 -4
- package/src/core/entity-repo.ts +0 -349
- package/src/core/event-store.ts +0 -779
- package/src/core/evidence-aligner.ts +0 -635
- package/src/core/external-market-context.ts +0 -582
- package/src/core/graduation-worker.ts +0 -171
- package/src/core/graduation.ts +0 -377
- package/src/core/index.ts +0 -64
- package/src/core/ingest-interceptor.ts +0 -80
- package/src/core/markdown-mirror.ts +0 -70
- package/src/core/matcher.ts +0 -208
- package/src/core/md-mirror.ts +0 -92
- package/src/core/metadata-extractor.ts +0 -203
- package/src/core/model/memory-fact.ts +0 -30
- package/src/core/model/memory-rule.ts +0 -14
- package/src/core/model/memory-summary.ts +0 -21
- package/src/core/model/raw-event.ts +0 -28
- package/src/core/model/retrieval-result.ts +0 -35
- package/src/core/mongo-sync-config.ts +0 -165
- package/src/core/mongo-sync-worker.ts +0 -381
- package/src/core/privacy/filter.ts +0 -190
- package/src/core/privacy/index.ts +0 -20
- package/src/core/privacy/tag-parser.ts +0 -145
- package/src/core/product-validation-matrix.ts +0 -314
- package/src/core/progressive-retriever.ts +0 -414
- package/src/core/registry/project-path.ts +0 -54
- package/src/core/registry/session-registry.ts +0 -69
- package/src/core/replay-evaluator.ts +0 -625
- package/src/core/retrieval-benchmark.ts +0 -117
- package/src/core/retrieval-quality.ts +0 -109
- package/src/core/retriever.ts +0 -800
- package/src/core/session-qrels.ts +0 -360
- package/src/core/shared-event-store.ts +0 -114
- package/src/core/shared-promoter.ts +0 -249
- package/src/core/shared-store.ts +0 -289
- package/src/core/shared-vector-store.ts +0 -203
- package/src/core/sqlite-event-store.ts +0 -1846
- package/src/core/sqlite-wrapper.ts +0 -116
- package/src/core/sync-worker.ts +0 -228
- package/src/core/tag-taxonomy.ts +0 -51
- package/src/core/task/blocker-resolver.ts +0 -333
- package/src/core/task/index.ts +0 -9
- package/src/core/task/task-matcher.ts +0 -240
- package/src/core/task/task-projector.ts +0 -358
- package/src/core/task/task-resolver.ts +0 -421
- package/src/core/turn-state.ts +0 -207
- package/src/core/types.ts +0 -952
- package/src/core/vector-outbox.ts +0 -299
- package/src/core/vector-store.ts +0 -231
- package/src/core/vector-worker.ts +0 -521
- package/src/core/working-set-store.ts +0 -257
- package/src/extensions/endless-memory/endless-memory-services.ts +0 -350
- package/src/extensions/endless-memory/index.ts +0 -1
- package/src/extensions/index.ts +0 -5
- package/src/extensions/mcp/handlers.ts +0 -960
- package/src/extensions/mcp/index.ts +0 -48
- package/src/extensions/mcp/tools.ts +0 -252
- package/src/extensions/shared-memory/index.ts +0 -1
- package/src/extensions/shared-memory/shared-memory-services.ts +0 -211
- package/src/extensions/vector/embedder.ts +0 -234
- package/src/extensions/vector/index.ts +0 -1
- package/src/hooks/post-tool-use.ts +0 -9
- package/src/hooks/semantic-daemon-client.ts +0 -1
- package/src/hooks/semantic-daemon.ts +0 -11
- package/src/hooks/session-end.ts +0 -9
- package/src/hooks/session-start.ts +0 -9
- package/src/hooks/stop.ts +0 -9
- package/src/hooks/user-prompt-submit.ts +0 -9
- package/src/index.ts +0 -13
- package/src/mcp/handlers.ts +0 -2
- package/src/mcp/index.ts +0 -4
- package/src/mcp/tools.ts +0 -2
- package/src/server/api/chat.ts +0 -2
- package/src/server/api/citations.ts +0 -2
- package/src/server/api/events.ts +0 -2
- package/src/server/api/health.ts +0 -2
- package/src/server/api/index.ts +0 -2
- package/src/server/api/projects.ts +0 -2
- package/src/server/api/search.ts +0 -2
- package/src/server/api/sessions.ts +0 -2
- package/src/server/api/stats.ts +0 -2
- package/src/server/api/turns.ts +0 -2
- package/src/server/api/utils.ts +0 -2
- package/src/server/index.ts +0 -2
- package/src/services/bootstrap-organizer.ts +0 -463
- package/src/services/codex-session-history-importer.ts +0 -966
- package/src/services/hermes-session-history-importer.ts +0 -733
- package/src/services/memory-service-config.ts +0 -36
- package/src/services/memory-service-registry.ts +0 -150
- package/src/services/memory-service.ts +0 -688
- package/src/services/session-history-importer.ts +0 -629
- package/tests/README.md +0 -23
- package/tests/adapters/claude/claude-semantic-daemon-adapter.test.ts +0 -54
- package/tests/adapters/claude/claude-transcript-reconstructor.test.ts +0 -98
- package/tests/adapters/claude-hook-prompt-injection-policy.test.ts +0 -99
- package/tests/apps/app-layer-boundary.test.ts +0 -48
- package/tests/apps/claude-settings-hooks.test.ts +0 -107
- package/tests/apps/cli-disclosure-output.test.ts +0 -212
- package/tests/apps/codex-import-runner.test.ts +0 -99
- package/tests/apps/codex-validation-output.test.ts +0 -100
- package/tests/apps/hermes-import-runner.test.ts +0 -99
- package/tests/apps/mcp-install-command.test.ts +0 -59
- package/tests/apps/package-build-entrypoints.test.ts +0 -30
- package/tests/apps/postinstall-embedding-backend.test.ts +0 -185
- package/tests/apps/search-api-disclosure.test.ts +0 -162
- package/tests/apps/stats-api-lightweight.test.ts +0 -67
- package/tests/apps/ui-disclosure-output.test.ts +0 -140
- package/tests/core/bootstrap-organizer.test.ts +0 -111
- package/tests/core/canonical-key.test.ts +0 -101
- package/tests/core/codex-session-history-importer-validation.test.ts +0 -185
- package/tests/core/consolidation-worker.test.ts +0 -75
- package/tests/core/embedding-maintenance-service.test.ts +0 -282
- package/tests/core/evidence-aligner.test.ts +0 -152
- package/tests/core/external-market-context.test.ts +0 -209
- package/tests/core/fact-deriver.test.ts +0 -79
- package/tests/core/hermes-session-history-importer-validation.test.ts +0 -609
- package/tests/core/ingest-interceptor.test.ts +0 -38
- package/tests/core/markdown-mirror.test.ts +0 -85
- package/tests/core/matcher.test.ts +0 -112
- package/tests/core/md-mirror.test.ts +0 -50
- package/tests/core/memory-engine-services.test.ts +0 -240
- package/tests/core/memory-ingest-service.test.ts +0 -296
- package/tests/core/memory-query-service.test.ts +0 -129
- package/tests/core/memory-runtime-service.test.ts +0 -201
- package/tests/core/memory-service-composition.test.ts +0 -192
- package/tests/core/memory-service-config.test.ts +0 -41
- package/tests/core/memory-service-facade.test.ts +0 -30
- package/tests/core/memory-service-registry.test.ts +0 -206
- package/tests/core/product-validation-matrix.test.ts +0 -61
- package/tests/core/project-registry.test.ts +0 -78
- package/tests/core/replay-evaluator.test.ts +0 -181
- package/tests/core/retrieval-analytics-service.test.ts +0 -210
- package/tests/core/retrieval-benchmark.test.ts +0 -93
- package/tests/core/retrieval-disclosure-service.test.ts +0 -264
- package/tests/core/retrieval-orchestrator.test.ts +0 -403
- package/tests/core/retrieval-quality.test.ts +0 -31
- package/tests/core/retrieval-services.test.ts +0 -185
- package/tests/core/retriever-fallback-chain.test.ts +0 -223
- package/tests/core/retriever-strategy-scope.test.ts +0 -164
- package/tests/core/retriever.memu-adoption.test.ts +0 -122
- package/tests/core/session-history-importer-filter.test.ts +0 -78
- package/tests/core/session-qrels.test.ts +0 -250
- package/tests/core/sqlite-event-store-replication.test.ts +0 -127
- package/tests/core/summary-deriver.test.ts +0 -66
- package/tests/extensions/embedder-warning-suppression.test.ts +0 -84
- package/tests/extensions/endless-memory-extension-boundary.test.ts +0 -17
- package/tests/extensions/endless-memory-services.test.ts +0 -325
- package/tests/extensions/mcp-context-tools.test.ts +0 -905
- package/tests/extensions/mcp-extension-boundary.test.ts +0 -21
- package/tests/extensions/mcp-package-build.test.ts +0 -22
- package/tests/extensions/mcp-project-aware-tools.test.ts +0 -102
- package/tests/extensions/shared-memory-extension-boundary.test.ts +0 -24
- package/tests/extensions/shared-memory-services.test.ts +0 -309
- package/tests/extensions/vector-extension-boundary.test.ts +0 -21
- package/tsconfig.json +0 -24
- 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
|
-
**코어를 다시 가볍게 만드는 구조적 결단**이다.
|