claude-memory-layer 1.0.26 ā 1.0.28
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/.env.example +7 -0
- package/AGENTS.md +11 -0
- package/README.md +184 -41
- package/benchmarks/replay/anonymized-real-sessions.json +48 -0
- package/dist/cli/index.js +10097 -6003
- package/dist/cli/index.js.map +4 -4
- package/dist/core/index.js +9745 -5587
- package/dist/core/index.js.map +4 -4
- package/dist/hooks/post-tool-use.js +6545 -5270
- package/dist/hooks/post-tool-use.js.map +4 -4
- package/dist/hooks/semantic-daemon.js +6646 -5354
- package/dist/hooks/semantic-daemon.js.map +4 -4
- package/dist/hooks/session-end.js +6618 -5347
- package/dist/hooks/session-end.js.map +4 -4
- package/dist/hooks/session-start.js +6619 -5354
- package/dist/hooks/session-start.js.map +4 -4
- package/dist/hooks/stop.js +6614 -5325
- package/dist/hooks/stop.js.map +4 -4
- package/dist/hooks/user-prompt-submit.js +6702 -5356
- package/dist/hooks/user-prompt-submit.js.map +4 -4
- package/dist/index.js +13537 -0
- package/dist/index.js.map +7 -0
- package/dist/mcp/index.js +20770 -0
- package/dist/mcp/index.js.map +7 -0
- package/dist/server/api/index.js +6632 -5319
- package/dist/server/api/index.js.map +4 -4
- package/dist/server/index.js +6667 -5340
- package/dist/server/index.js.map +4 -4
- package/dist/services/memory-service.js +6568 -5350
- package/dist/services/memory-service.js.map +4 -4
- package/dist/ui/assets/js/bootstrap.js +244 -0
- package/dist/ui/assets/js/chat.js +373 -0
- package/dist/ui/assets/js/disclosure.js +232 -0
- package/dist/ui/assets/js/modals.js +298 -0
- package/dist/ui/assets/js/overview.js +655 -0
- package/dist/ui/assets/js/state.js +72 -0
- package/dist/ui/assets/js/views.js +468 -0
- package/dist/ui/index.html +43 -1
- package/dist/ui/index.ts +3 -0
- package/dist/ui/style.css +222 -0
- package/docs/ARCHITECTURE_COMPARISON_AND_RECOMMENDATIONS.md +627 -0
- package/docs/HERMES_MEMORY_INGESTION_ANALYSIS.md +440 -0
- package/docs/MEMORY_USEFULNESS_AUDIT.md +371 -0
- package/docs/MEMORY_USEFULNESS_AUDIT_RAW.json +80 -0
- package/docs/MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md +333 -0
- package/docs/PRODUCT_VALIDATION_MATRIX.md +82 -0
- package/docs/PROJECT_STRUCTURE_ANALYSIS.md +421 -0
- package/docs/REFACTORING_MILESTONES_AND_ISSUES.md +501 -0
- package/docs/REFACTORING_PLAN_THIN_CORE.md +414 -0
- package/docs/REFERENCE_PROJECT_ANALYSES.md +25 -0
- package/docs/SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md +452 -0
- package/docs/TARGET_ARCHITECTURE_AND_FOLDER_STRUCTURE.md +446 -0
- package/docs/architecture/comparison-index.md +47 -0
- package/docs/reports/codex-real-data-validation-20260505T040447Z.md +46 -0
- package/package.json +9 -5
- package/scripts/build.ts +25 -8
- package/scripts/generate-session-qrels.ts +126 -0
- package/scripts/replay-retrieval-benchmark.ts +69 -0
- package/specs/thin-core-refactor/context.md +275 -0
- package/specs/thin-core-refactor/plan.md +536 -0
- package/specs/thin-core-refactor/spec.md +465 -0
- package/src/adapters/claude/capture/index.ts +3 -0
- package/src/adapters/claude/context/index.ts +3 -0
- package/src/adapters/claude/hooks/index.ts +21 -0
- package/src/adapters/claude/hooks/post-tool-use.ts +239 -0
- package/src/adapters/claude/hooks/prompt-injection-policy.ts +104 -0
- package/src/adapters/claude/hooks/semantic-daemon-client.ts +209 -0
- package/src/adapters/claude/hooks/semantic-daemon.ts +283 -0
- package/src/adapters/claude/hooks/session-end.ts +59 -0
- package/src/adapters/claude/hooks/session-start.ts +73 -0
- package/src/adapters/claude/hooks/stop.ts +128 -0
- package/src/adapters/claude/hooks/user-prompt-submit.ts +361 -0
- package/src/adapters/claude/index.ts +4 -0
- package/src/adapters/claude/transcript/index.ts +4 -0
- package/src/adapters/claude/transcript/transcript-reader.ts +57 -0
- package/src/adapters/claude/transcript/turn-reconstructor.ts +65 -0
- package/src/apps/cli/claude-settings-hooks.ts +138 -0
- package/src/apps/cli/codex-import-runner.ts +125 -0
- package/src/apps/cli/codex-validation-output.ts +95 -0
- package/src/apps/cli/hermes-import-runner.ts +130 -0
- package/src/apps/cli/hermes-validation-output.ts +91 -0
- package/src/apps/cli/index.ts +1731 -0
- package/src/apps/cli/mcp-install.ts +106 -0
- package/src/apps/cli/retrieval-disclosure-output.ts +196 -0
- package/src/apps/dashboard/assets/js/bootstrap.js +244 -0
- package/src/apps/dashboard/assets/js/chat.js +373 -0
- package/src/apps/dashboard/assets/js/disclosure.js +232 -0
- package/src/apps/dashboard/assets/js/modals.js +298 -0
- package/src/apps/dashboard/assets/js/overview.js +655 -0
- package/src/apps/dashboard/assets/js/state.js +72 -0
- package/src/apps/dashboard/assets/js/views.js +468 -0
- package/src/{ui ā apps/dashboard}/index.html +43 -1
- package/src/apps/dashboard/index.ts +3 -0
- package/src/{ui ā apps/dashboard}/style.css +222 -0
- package/src/apps/index.ts +5 -0
- package/src/apps/server/api/chat.ts +244 -0
- package/src/apps/server/api/citations.ts +105 -0
- package/src/apps/server/api/events.ts +137 -0
- package/src/apps/server/api/health.ts +53 -0
- package/src/apps/server/api/index.ts +26 -0
- package/src/apps/server/api/projects.ts +74 -0
- package/src/apps/server/api/search.ts +184 -0
- package/src/apps/server/api/sessions.ts +115 -0
- package/src/apps/server/api/stats.ts +723 -0
- package/src/apps/server/api/turns.ts +143 -0
- package/src/apps/server/api/utils.ts +65 -0
- package/src/apps/server/index.ts +111 -0
- package/src/cli/index.ts +2 -1311
- package/src/cli/retrieval-disclosure-output.ts +2 -0
- package/src/compat/index.ts +5 -0
- package/src/core/derive/fact-deriver.ts +170 -0
- package/src/core/derive/index.ts +2 -0
- package/src/core/derive/summary-deriver.ts +76 -0
- package/src/core/embedder.ts +4 -152
- package/src/core/engine/embedding-maintenance-service.ts +187 -0
- package/src/core/engine/endless-memory-services.ts +4 -0
- package/src/core/engine/index.ts +19 -0
- package/src/core/engine/memory-engine-services.ts +170 -0
- package/src/core/engine/memory-ingest-service.ts +317 -0
- package/src/core/engine/memory-query-service.ts +173 -0
- package/src/core/engine/memory-runtime-service.ts +162 -0
- package/src/core/engine/memory-service-composition.ts +231 -0
- package/src/core/engine/retrieval-analytics-service.ts +181 -0
- package/src/core/engine/retrieval-disclosure-service.ts +420 -0
- package/src/core/engine/retrieval-orchestrator.ts +377 -0
- package/src/core/engine/retrieval-services.ts +176 -0
- package/src/core/engine/shared-memory-services.ts +4 -0
- package/src/core/entity-repo.ts +1 -3
- package/src/core/event-store.ts +3 -3
- package/src/core/evidence-aligner.ts +2 -2
- package/src/core/external-market-context.ts +582 -0
- package/src/core/graduation.ts +2 -3
- package/src/core/index.ts +21 -0
- package/src/core/matcher.ts +2 -4
- package/src/core/model/memory-fact.ts +30 -0
- package/src/core/model/memory-rule.ts +14 -0
- package/src/core/model/memory-summary.ts +21 -0
- package/src/core/model/raw-event.ts +28 -0
- package/src/core/model/retrieval-result.ts +35 -0
- package/src/core/privacy/filter.ts +21 -10
- package/src/core/product-validation-matrix.ts +314 -0
- package/src/core/progressive-retriever.ts +1 -2
- package/src/core/registry/project-path.ts +54 -0
- package/src/core/registry/session-registry.ts +69 -0
- package/src/core/replay-evaluator.ts +625 -0
- package/src/core/retrieval-benchmark.ts +117 -0
- package/src/core/retrieval-quality.ts +109 -0
- package/src/core/retriever.ts +53 -15
- package/src/core/session-qrels.ts +360 -0
- package/src/core/shared-event-store.ts +1 -1
- package/src/core/sqlite-event-store.ts +35 -11
- package/src/core/task/blocker-resolver.ts +2 -2
- package/src/core/task/task-resolver.ts +0 -1
- package/src/core/vector-outbox.ts +1 -10
- package/src/core/vector-worker.ts +1 -1
- package/src/extensions/endless-memory/endless-memory-services.ts +350 -0
- package/src/extensions/endless-memory/index.ts +1 -0
- package/src/extensions/index.ts +5 -0
- package/src/extensions/mcp/handlers.ts +960 -0
- package/src/extensions/mcp/index.ts +48 -0
- package/src/extensions/mcp/tools.ts +252 -0
- package/src/extensions/shared-memory/index.ts +1 -0
- package/src/extensions/shared-memory/shared-memory-services.ts +211 -0
- package/src/extensions/vector/embedder.ts +197 -0
- package/src/extensions/vector/index.ts +1 -0
- package/src/hooks/post-tool-use.ts +3 -236
- package/src/hooks/semantic-daemon-client.ts +1 -208
- package/src/hooks/semantic-daemon.ts +6 -271
- package/src/hooks/session-end.ts +4 -79
- package/src/hooks/session-start.ts +4 -73
- package/src/hooks/stop.ts +3 -173
- package/src/hooks/user-prompt-submit.ts +3 -338
- package/src/index.ts +13 -0
- package/src/mcp/handlers.ts +2 -212
- package/src/mcp/index.ts +3 -46
- package/src/mcp/tools.ts +2 -78
- package/src/server/api/chat.ts +2 -244
- package/src/server/api/citations.ts +2 -105
- package/src/server/api/events.ts +2 -137
- package/src/server/api/health.ts +2 -53
- package/src/server/api/index.ts +2 -26
- package/src/server/api/projects.ts +2 -74
- package/src/server/api/search.ts +2 -102
- package/src/server/api/sessions.ts +2 -115
- package/src/server/api/stats.ts +2 -724
- package/src/server/api/turns.ts +2 -143
- package/src/server/api/utils.ts +2 -46
- package/src/server/index.ts +2 -100
- package/src/services/bootstrap-organizer.ts +46 -26
- package/src/services/codex-session-history-importer.ts +521 -29
- package/src/services/hermes-session-history-importer.ts +733 -0
- package/src/services/memory-service-config.ts +36 -0
- package/src/services/memory-service-registry.ts +150 -0
- package/src/services/memory-service.ts +211 -1325
- package/src/services/session-history-importer.ts +58 -14
- package/tests/README.md +23 -0
- package/tests/adapters/claude/claude-semantic-daemon-adapter.test.ts +54 -0
- package/tests/adapters/claude/claude-transcript-reconstructor.test.ts +98 -0
- package/tests/adapters/claude-hook-prompt-injection-policy.test.ts +99 -0
- package/tests/apps/app-layer-boundary.test.ts +48 -0
- package/tests/apps/claude-settings-hooks.test.ts +107 -0
- package/tests/apps/cli-disclosure-output.test.ts +212 -0
- package/tests/apps/codex-import-runner.test.ts +99 -0
- package/tests/apps/codex-validation-output.test.ts +100 -0
- package/tests/apps/hermes-import-runner.test.ts +99 -0
- package/tests/apps/mcp-install-command.test.ts +59 -0
- package/tests/apps/package-build-entrypoints.test.ts +30 -0
- package/tests/apps/search-api-disclosure.test.ts +162 -0
- package/tests/apps/stats-api-lightweight.test.ts +67 -0
- package/tests/apps/ui-disclosure-output.test.ts +140 -0
- package/tests/{bootstrap-organizer.test.ts ā core/bootstrap-organizer.test.ts} +1 -1
- package/tests/{canonical-key.test.ts ā core/canonical-key.test.ts} +1 -1
- package/tests/core/codex-session-history-importer-validation.test.ts +185 -0
- package/tests/{consolidation-worker.test.ts ā core/consolidation-worker.test.ts} +2 -2
- package/tests/core/embedding-maintenance-service.test.ts +282 -0
- package/tests/{evidence-aligner.test.ts ā core/evidence-aligner.test.ts} +1 -1
- package/tests/core/external-market-context.test.ts +209 -0
- package/tests/core/fact-deriver.test.ts +79 -0
- package/tests/core/hermes-session-history-importer-validation.test.ts +609 -0
- package/tests/{ingest-interceptor.test.ts ā core/ingest-interceptor.test.ts} +1 -1
- package/tests/{markdown-mirror.test.ts ā core/markdown-mirror.test.ts} +2 -2
- package/tests/{matcher.test.ts ā core/matcher.test.ts} +1 -1
- package/tests/{md-mirror.test.ts ā core/md-mirror.test.ts} +2 -2
- package/tests/core/memory-engine-services.test.ts +240 -0
- package/tests/core/memory-ingest-service.test.ts +296 -0
- package/tests/core/memory-query-service.test.ts +129 -0
- package/tests/core/memory-runtime-service.test.ts +201 -0
- package/tests/core/memory-service-composition.test.ts +192 -0
- package/tests/core/memory-service-config.test.ts +41 -0
- package/tests/core/memory-service-facade.test.ts +30 -0
- package/tests/core/memory-service-registry.test.ts +206 -0
- package/tests/core/product-validation-matrix.test.ts +61 -0
- package/tests/core/project-registry.test.ts +78 -0
- package/tests/core/replay-evaluator.test.ts +181 -0
- package/tests/core/retrieval-analytics-service.test.ts +210 -0
- package/tests/core/retrieval-benchmark.test.ts +93 -0
- package/tests/core/retrieval-disclosure-service.test.ts +264 -0
- package/tests/core/retrieval-orchestrator.test.ts +403 -0
- package/tests/core/retrieval-quality.test.ts +31 -0
- package/tests/core/retrieval-services.test.ts +185 -0
- package/tests/{retriever-fallback-chain.test.ts ā core/retriever-fallback-chain.test.ts} +3 -3
- package/tests/{retriever-strategy-scope.test.ts ā core/retriever-strategy-scope.test.ts} +70 -3
- package/tests/{retriever.memu-adoption.test.ts ā core/retriever.memu-adoption.test.ts} +3 -3
- package/tests/core/session-history-importer-filter.test.ts +78 -0
- package/tests/core/session-qrels.test.ts +250 -0
- package/tests/{sqlite-event-store-replication.test.ts ā core/sqlite-event-store-replication.test.ts} +36 -1
- package/tests/core/summary-deriver.test.ts +66 -0
- package/tests/extensions/embedder-warning-suppression.test.ts +53 -0
- package/tests/extensions/endless-memory-extension-boundary.test.ts +17 -0
- package/tests/extensions/endless-memory-services.test.ts +325 -0
- package/tests/extensions/mcp-context-tools.test.ts +905 -0
- package/tests/extensions/mcp-extension-boundary.test.ts +21 -0
- package/tests/extensions/mcp-package-build.test.ts +22 -0
- package/tests/extensions/mcp-project-aware-tools.test.ts +102 -0
- package/tests/extensions/shared-memory-extension-boundary.test.ts +24 -0
- package/tests/extensions/shared-memory-services.test.ts +309 -0
- package/tests/extensions/vector-extension-boundary.test.ts +21 -0
- package/.claude/settings.local.json +0 -25
- package/.npm-cache/_cacache/content-v2/sha512/04/76/c098f88dfe584a2b80870bff7421b05d17d3d9ee1027f77772332a22d3f93a9a57101a2855107f6ad82077a818bba912b2bc317f2361b5ddb09ad284d9ce +0 -0
- package/.npm-cache/_cacache/content-v2/sha512/60/25/d2ecd39cfc7cab58351162814be77f935c6d6491c10c3745d456da7ddb2117ffd90c10e53fe3c0f1ed16b403307841543634504398b16ee4e6b6dd8e0c45 +0 -0
- package/.npm-cache/_cacache/index-v5/2b/9a/7f8f40206ed8a2e0a84efaa953ccaed1f5d001e14b931083f2e7a0738007 +0 -2
- package/.npm-cache/_cacache/index-v5/2e/d9/fcfa5c6a6abdc2a3644ab84a95936047298c465a2f47ee03db8f7fe1e946 +0 -3
- package/.npm-cache/_cacache/index-v5/a9/42/e519633356d12d3d2f19da66a8301016d496c8f5c3e0554124aaa62dc043 +0 -2
- package/.npm-cache/_logs/2026-02-26T12_04_52_729Z-debug-0.log +0 -256
- package/.npm-cache/_logs/2026-02-26T12_05_36_835Z-debug-0.log +0 -18
- package/.npm-cache/_logs/2026-02-26T12_05_45_982Z-debug-0.log +0 -32
- package/.npm-cache/_logs/2026-02-26T12_05_48_515Z-debug-0.log +0 -260
- package/.npm-cache/_logs/2026-02-26T12_05_53_567Z-debug-0.log +0 -69
- package/.npm-cache/_update-notifier-last-checked +0 -0
- package/bootstrap-kb/decisions/decisions.md +0 -244
- package/bootstrap-kb/glossary/glossary.md +0 -46
- package/bootstrap-kb/modules/.claude-plugin.md +0 -22
- package/bootstrap-kb/modules/agents.md.md +0 -15
- package/bootstrap-kb/modules/claude.md.md +0 -15
- package/bootstrap-kb/modules/context.md.md +0 -15
- package/bootstrap-kb/modules/docs.md +0 -18
- package/bootstrap-kb/modules/handoff.md.md +0 -15
- package/bootstrap-kb/modules/package-lock.json.md +0 -15
- package/bootstrap-kb/modules/package.json.md +0 -15
- package/bootstrap-kb/modules/plan.md.md +0 -15
- package/bootstrap-kb/modules/readme.md.md +0 -15
- package/bootstrap-kb/modules/scripts.md +0 -26
- package/bootstrap-kb/modules/spec.md.md +0 -15
- package/bootstrap-kb/modules/specs.md +0 -20
- package/bootstrap-kb/modules/src.md +0 -51
- package/bootstrap-kb/modules/tests.md +0 -42
- package/bootstrap-kb/modules/tsconfig.json.md +0 -15
- package/bootstrap-kb/modules/vitest.config.ts.md +0 -15
- package/bootstrap-kb/overview/overview.md +0 -40
- package/bootstrap-kb/sources/manifest.json +0 -950
- package/bootstrap-kb/sources/manifest.md +0 -227
- package/bootstrap-kb/timeline/timeline.md +0 -57
- package/claude-memory-layer-1.0.14.tgz +0 -0
- package/d.sh +0 -3
- package/deploy.sh +0 -3
- package/dist/ui/app.js +0 -2101
- package/memory/.claude-plugin/commands/2026-02-25.md +0 -263
- package/memory/_index.md +0 -418
- package/memory/agent_response/uncategorized/2026-02-26.md +0 -176
- package/memory/agent_response/uncategorized/2026-03-03.md +0 -14
- package/memory/agent_response/uncategorized/2026-03-04.md +0 -1421
- package/memory/agent_response/uncategorized/2026-03-05.md +0 -48
- package/memory/default/uncategorized/2026-02-25.md +0 -4839
- package/memory/session_summary/uncategorized/2026-02-26.md +0 -13
- package/memory/session_summary/uncategorized/2026-03-03.md +0 -5
- package/memory/session_summary/uncategorized/2026-03-04.md +0 -50
- package/memory/specs/20260207-dashboard-upgrade/2026-02-25.md +0 -142
- package/memory/specs/citations-system/2026-02-25.md +0 -1121
- package/memory/specs/endless-mode/2026-02-25.md +0 -1392
- package/memory/specs/entity-edge-model/2026-02-25.md +0 -1263
- package/memory/specs/evidence-aligner-v2/2026-02-25.md +0 -1028
- package/memory/specs/mcp-desktop-integration/2026-02-25.md +0 -1334
- package/memory/specs/post-tool-use-hook/2026-02-25.md +0 -1164
- package/memory/specs/private-tags/2026-02-25.md +0 -1057
- package/memory/specs/progressive-disclosure/2026-02-25.md +0 -1436
- package/memory/specs/task-entity-system/2026-02-25.md +0 -924
- package/memory/specs/vector-outbox-v2/2026-02-25.md +0 -1510
- package/memory/specs/web-viewer-ui/2026-02-25.md +0 -1709
- package/memory/tool_observation/uncategorized/2026-02-26.md +0 -209
- package/memory/tool_observation/uncategorized/2026-03-03.md +0 -21
- package/memory/tool_observation/uncategorized/2026-03-04.md +0 -1033
- package/memory/tool_observation/uncategorized/2026-03-05.md +0 -29
- package/memory/user_prompt/uncategorized/2026-02-26.md +0 -25
- package/memory/user_prompt/uncategorized/2026-03-04.md +0 -634
- package/specs/optional-duckdb/context.md +0 -77
- package/specs/optional-duckdb/plan.md +0 -142
- package/specs/optional-duckdb/spec.md +0 -35
- package/src/ui/app.js +0 -2101
|
@@ -0,0 +1,446 @@
|
|
|
1
|
+
# claude-memory-layer Target Architecture & Folder Structure
|
|
2
|
+
|
|
3
|
+
## ėŖ©ģ
|
|
4
|
+
ģ“ ė¬øģė `claude-memory-layer`ģ ėŖ©ķ źµ¬ģ”°ė„¼ **ķ“ė ėØģģ ėŖØė ėØģ**ė” ģ ģķė¤.
|
|
5
|
+
ķµģ¬ ėŖ©ķė ė¤ģ 4ź° ź²½ź³ė„¼ ėŖ
ķķ ėėė ź²ģ“ė¤.
|
|
6
|
+
|
|
7
|
+
- `core`
|
|
8
|
+
- `adapters`
|
|
9
|
+
- `extensions`
|
|
10
|
+
- `apps`
|
|
11
|
+
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## 1. ķģ¬ ė¬øģ ģģ½
|
|
15
|
+
|
|
16
|
+
ķģ¬ źµ¬ģ”°ė źø°ė„ģ ė§ģ§ė§ ź²½ź³ź° ķ¼ķ©ė¼ ģė¤.
|
|
17
|
+
ģ넼 ė¤ģ“:
|
|
18
|
+
- `src/core` ģģ ģ ģ„/ź²ģėæ ģėė¼ ķģ„ģ ģ±ź²©ģ ź°ė
ģ“ ė§ģ
|
|
19
|
+
- `src/services/memory-service.ts` ź° ģ¬ģ¤ģ ė묓 ė§ģ ź³ģøµģ ķ©ģ±
|
|
20
|
+
- `src/hooks`ė ģ¤ģ§ģ ģ¼ė” `Claude adapter`ģøė° ė
립 layerė” ģ 볓ģ
|
|
21
|
+
- `src/server`ģ `src/ui`ė app layerģøė° coreģ ė
¼ė¦¬ ź²½ź³ź° 문ģģ ė ėŖ
ķķØ
|
|
22
|
+
- `src/mcp`ė extensionģøģ§ core surfaceģøģ§ ģ 매ķØ
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 2. ėŖ©ķ źµ¬ģ”° ź°ģ
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
src/
|
|
30
|
+
core/
|
|
31
|
+
model/
|
|
32
|
+
storage/
|
|
33
|
+
derive/
|
|
34
|
+
retrieval/
|
|
35
|
+
registry/
|
|
36
|
+
journal/
|
|
37
|
+
engine/
|
|
38
|
+
privacy/
|
|
39
|
+
shared-types/
|
|
40
|
+
|
|
41
|
+
adapters/
|
|
42
|
+
claude/
|
|
43
|
+
hooks/
|
|
44
|
+
transcript/
|
|
45
|
+
capture/
|
|
46
|
+
context/
|
|
47
|
+
install/
|
|
48
|
+
|
|
49
|
+
extensions/
|
|
50
|
+
vector/
|
|
51
|
+
analytics/
|
|
52
|
+
shared-memory/
|
|
53
|
+
mongo-sync/
|
|
54
|
+
mcp/
|
|
55
|
+
continuity/
|
|
56
|
+
experiments/
|
|
57
|
+
|
|
58
|
+
apps/
|
|
59
|
+
cli/
|
|
60
|
+
server/
|
|
61
|
+
dashboard/
|
|
62
|
+
|
|
63
|
+
compat/
|
|
64
|
+
legacy-memory-service.ts
|
|
65
|
+
legacy-hook-entrypoints.ts
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## 3. ķ“ėė³ ģģø ģķ
|
|
71
|
+
|
|
72
|
+
## 3.1 `src/core/`
|
|
73
|
+
ģ“ź³³ģ **ķģ ģ“ģėØė ģµģ ė©ėŖØė¦¬ ģģ§**ģ“ė¤.
|
|
74
|
+
|
|
75
|
+
### `src/core/model/`
|
|
76
|
+
ėė©ģø ķģ
/ź³ģ½.
|
|
77
|
+
|
|
78
|
+
ģ:
|
|
79
|
+
- `raw-event.ts`
|
|
80
|
+
- `memory-fact.ts`
|
|
81
|
+
- `memory-summary.ts`
|
|
82
|
+
- `memory-rule.ts`
|
|
83
|
+
- `retrieval-trace.ts`
|
|
84
|
+
- `citation.ts`
|
|
85
|
+
- `types.ts`
|
|
86
|
+
|
|
87
|
+
ģķ :
|
|
88
|
+
- DB/adapter/UIź° ź³µģ ķė ź³µķµ ź°ė
ģ ģ
|
|
89
|
+
- āģ“ ģģ¤ķ
ģ“ ė¬“ģģ ė¤ė£Øėź°ā넼 ź°ģ„ ėŖ
ķķ 볓ģ¬ģ£¼ė ģøµ
|
|
90
|
+
|
|
91
|
+
### `src/core/storage/`
|
|
92
|
+
SQLite canonical storage ź³ģøµ.
|
|
93
|
+
|
|
94
|
+
ģ:
|
|
95
|
+
- `sqlite.ts`
|
|
96
|
+
- `session-repo.ts`
|
|
97
|
+
- `event-repo.ts`
|
|
98
|
+
- `fact-repo.ts`
|
|
99
|
+
- `summary-repo.ts`
|
|
100
|
+
- `rule-repo.ts`
|
|
101
|
+
- `retrieval-trace-repo.ts`
|
|
102
|
+
- `migrations/`
|
|
103
|
+
|
|
104
|
+
ģķ :
|
|
105
|
+
- canonical DB ģ ź·¼
|
|
106
|
+
- table lifecycle / migration
|
|
107
|
+
- repo abstraction
|
|
108
|
+
|
|
109
|
+
### `src/core/derive/`
|
|
110
|
+
ķģ ė©ėŖØė¦¬ ģģ± ź³ģøµ.
|
|
111
|
+
|
|
112
|
+
ģ:
|
|
113
|
+
- `fact-deriver.ts`
|
|
114
|
+
- `summary-deriver.ts`
|
|
115
|
+
- `tool-fact-deriver.ts`
|
|
116
|
+
- `session-summary-deriver.ts`
|
|
117
|
+
- `continuity-summary-deriver.ts`
|
|
118
|
+
|
|
119
|
+
ģķ :
|
|
120
|
+
- RawEvent ā Facts/Summaries
|
|
121
|
+
- derived layersė ź°ė„ķ ģ¬ģģ± ź°ė„ķ“ģ¼ ķØ
|
|
122
|
+
|
|
123
|
+
### `src/core/retrieval/`
|
|
124
|
+
ź²ģ ė° ź²°ź³¼ 씰립.
|
|
125
|
+
|
|
126
|
+
ģ:
|
|
127
|
+
- `retrieval-engine.ts`
|
|
128
|
+
- `keyword-retriever.ts`
|
|
129
|
+
- `hybrid-retriever.ts`
|
|
130
|
+
- `result-ranker.ts`
|
|
131
|
+
- `result-expander.ts`
|
|
132
|
+
- `source-resolver.ts`
|
|
133
|
+
- `retrieval-reasons.ts`
|
|
134
|
+
|
|
135
|
+
ģķ :
|
|
136
|
+
- search / expand / source drill-down
|
|
137
|
+
- why-matched metadata ė¶ģ¬
|
|
138
|
+
|
|
139
|
+
### `src/core/registry/`
|
|
140
|
+
ķė”ģ ķø/ģøģ
registry.
|
|
141
|
+
|
|
142
|
+
ģ:
|
|
143
|
+
- `project-path.ts`
|
|
144
|
+
- `project-registry.ts`
|
|
145
|
+
- `session-registry.ts`
|
|
146
|
+
|
|
147
|
+
### `src/core/journal/`
|
|
148
|
+
ģ¬ėģ“ ģ½ė ė©ėŖØė¦¬ ģ ė/markdown projection.
|
|
149
|
+
|
|
150
|
+
ģ:
|
|
151
|
+
- `journal-renderer.ts`
|
|
152
|
+
- `journal-writer.ts`
|
|
153
|
+
- `journal-export.ts`
|
|
154
|
+
|
|
155
|
+
### `src/core/engine/`
|
|
156
|
+
ģ½ģ“ orchestration.
|
|
157
|
+
|
|
158
|
+
ģ:
|
|
159
|
+
- `core-memory-engine.ts`
|
|
160
|
+
- `memory-query-service.ts`
|
|
161
|
+
- `memory-ingest-service.ts`
|
|
162
|
+
- `memory-maintenance-service.ts`
|
|
163
|
+
|
|
164
|
+
주ģ:
|
|
165
|
+
- ģ§źøģ `MemoryService`ģ²ė¼ everything facadeź° ėė©“ ģ ėØ
|
|
166
|
+
- 씰립ģ ķė, ź° źø°ė„ źµ¬ķģ ķģ ėŖØėģ ģģ
|
|
167
|
+
|
|
168
|
+
### `src/core/privacy/`
|
|
169
|
+
ź°ģøģ 볓/민ź°ģ 볓 ķķ° ź³ģøµ.
|
|
170
|
+
ķģ¬ ģė privacy ź“ė Ø ģ½ėź° ģ“ ģøµģ¼ė” ģģ°ģ¤ė½ź² ėŖØģøė¤.
|
|
171
|
+
|
|
172
|
+
### `src/core/shared-types/`
|
|
173
|
+
app/adapter/extensionģ“ ź³µģ ķė ģ§ė ¬ķ ģ¤ķ¤ė§.
|
|
174
|
+
ģ:
|
|
175
|
+
- API response DTO
|
|
176
|
+
- hook context payload
|
|
177
|
+
- search result envelope
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 3.2 `src/adapters/`
|
|
182
|
+
ģøė¶ ģģ¤ķ
ź³¼ģ ķµķ©ģøµ.
|
|
183
|
+
|
|
184
|
+
## `src/adapters/claude/`
|
|
185
|
+
Claude Code ķµķ© ģ ģ©.
|
|
186
|
+
|
|
187
|
+
### `hooks/`
|
|
188
|
+
- `session-start.ts`
|
|
189
|
+
- `user-prompt-submit.ts`
|
|
190
|
+
- `post-tool-use.ts`
|
|
191
|
+
- `stop.ts`
|
|
192
|
+
- `session-end.ts`
|
|
193
|
+
|
|
194
|
+
### `transcript/`
|
|
195
|
+
- `transcript-reader.ts`
|
|
196
|
+
- `assistant-extractor.ts`
|
|
197
|
+
- `turn-reconstructor.ts`
|
|
198
|
+
|
|
199
|
+
### `capture/`
|
|
200
|
+
- `tool-capture-policy.ts`
|
|
201
|
+
- `prompt-capture-policy.ts`
|
|
202
|
+
- `response-capture-policy.ts`
|
|
203
|
+
|
|
204
|
+
### `context/`
|
|
205
|
+
- `context-formatter.ts`
|
|
206
|
+
- `retrieval-prompt-builder.ts`
|
|
207
|
+
- `additional-context-writer.ts`
|
|
208
|
+
|
|
209
|
+
### `install/`
|
|
210
|
+
- plugin install/uninstall wiring
|
|
211
|
+
- `.claude-plugin` manifest coordination
|
|
212
|
+
|
|
213
|
+
ķµģ¬:
|
|
214
|
+
- Claude-specific heuristicź³¼ lifecycleģ ėŖØė ģ¬źø°ė” ėŖØģė¤.
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
## 3.3 `src/extensions/`
|
|
219
|
+
ģ ķ źø°ė„ / ź³ źø źø°ė„ / ź°ģ źø°ė„.
|
|
220
|
+
|
|
221
|
+
### `vector/`
|
|
222
|
+
LanceDBģ embedding ģ²ė¦¬.
|
|
223
|
+
|
|
224
|
+
ģ:
|
|
225
|
+
- `vector-store.ts`
|
|
226
|
+
- `embedder.ts`
|
|
227
|
+
- `vector-worker.ts`
|
|
228
|
+
- `vector-outbox.ts`
|
|
229
|
+
- `vector-index-maintenance.ts`
|
|
230
|
+
|
|
231
|
+
ģģ¹:
|
|
232
|
+
- vector ź³ģøµģ“ ģģ“ė coreė ģµģ źø°ė„ ėģ
|
|
233
|
+
|
|
234
|
+
### `analytics/`
|
|
235
|
+
ź“ģ°°/ė¶ģ ź³ģøµ.
|
|
236
|
+
|
|
237
|
+
ģ:
|
|
238
|
+
- `helpfulness-service.ts`
|
|
239
|
+
- `retrieval-trace-service.ts`
|
|
240
|
+
- `stats-service.ts`
|
|
241
|
+
- `health-service.ts`
|
|
242
|
+
|
|
243
|
+
### `shared-memory/`
|
|
244
|
+
cross-project shared memory.
|
|
245
|
+
|
|
246
|
+
ģ:
|
|
247
|
+
- `shared-event-store.ts`
|
|
248
|
+
- `shared-store.ts`
|
|
249
|
+
- `shared-promoter.ts`
|
|
250
|
+
|
|
251
|
+
### `mongo-sync/`
|
|
252
|
+
Mongo replication ė° sync workers.
|
|
253
|
+
|
|
254
|
+
### `mcp/`
|
|
255
|
+
MCP server, tools, handlers.
|
|
256
|
+
|
|
257
|
+
ģ¤ģ:
|
|
258
|
+
- MCPė ģ½ģ“ź° ģėė¼ extension surfaceė” ė³“ė ź²ģ“ ė§ė¤.
|
|
259
|
+
|
|
260
|
+
### `continuity/`
|
|
261
|
+
ķģ¬ endless mode / working set / consolidated store / continuity manager ģ±ź²©ģ źø°ė„ģ ėŖØģė¤.
|
|
262
|
+
|
|
263
|
+
ģ:
|
|
264
|
+
- `working-set-store.ts`
|
|
265
|
+
- `consolidated-store.ts`
|
|
266
|
+
- `continuity-manager.ts`
|
|
267
|
+
- `consolidation-worker.ts`
|
|
268
|
+
- `graduation-worker.ts`
|
|
269
|
+
|
|
270
|
+
### `experiments/`
|
|
271
|
+
ģģ§ ģ ķ ź²½ź³ź° ė ėŖ
ķķ źø°ė„ė¤ģ ģģ©.
|
|
272
|
+
|
|
273
|
+
ģ:
|
|
274
|
+
- entity-edge/task ź³ ėķ
|
|
275
|
+
- future code-aware memory anchors
|
|
276
|
+
- speculative retrieval policies
|
|
277
|
+
|
|
278
|
+
---
|
|
279
|
+
|
|
280
|
+
## 3.4 `src/apps/`
|
|
281
|
+
ģ¬ģ©ģ-facing ģ¤ķ ķė©“.
|
|
282
|
+
|
|
283
|
+
### `apps/cli/`
|
|
284
|
+
ķģ¬ `src/cli`넼 ģ“ė¦¬ė” ģ“ė.
|
|
285
|
+
|
|
286
|
+
ģķ :
|
|
287
|
+
- command parsing
|
|
288
|
+
- app service composition
|
|
289
|
+
- install/uninstall
|
|
290
|
+
- dashboard start
|
|
291
|
+
- ops commands
|
|
292
|
+
|
|
293
|
+
### `apps/server/`
|
|
294
|
+
ķģ¬ `src/server` ģ“ė.
|
|
295
|
+
|
|
296
|
+
ģķ :
|
|
297
|
+
- API routing
|
|
298
|
+
- app-layer composition
|
|
299
|
+
- auth/local safety
|
|
300
|
+
- static UI serving
|
|
301
|
+
|
|
302
|
+
### `apps/dashboard/`
|
|
303
|
+
ķģ¬ `src/ui` ģģ° ģ 리.
|
|
304
|
+
|
|
305
|
+
ź¶ģ„ 구씰:
|
|
306
|
+
- `dashboard/index.html`
|
|
307
|
+
- `dashboard/styles/`
|
|
308
|
+
- `dashboard/scripts/`
|
|
309
|
+
- `dashboard/components/` (ķė ģģķ¬ ģģ“ė ėŖØė ė¶ė¦¬ ź°ė„)
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 3.5 `src/compat/`
|
|
314
|
+
ģ ģ§ ģ“ģ ģ© ķøķ ė ģ“ģ“.
|
|
315
|
+
|
|
316
|
+
ģ:
|
|
317
|
+
- `legacy-memory-service.ts`
|
|
318
|
+
- `legacy-hook-entrypoints.ts`
|
|
319
|
+
|
|
320
|
+
ģķ :
|
|
321
|
+
- 기씓 import path ź¹Øģ§ ė°©ģ§
|
|
322
|
+
- ėØź³ģ ģ“ė ķģ©
|
|
323
|
+
- ėź·ėŖØ rewrite ģģ“ strangler migration ģ§ģ
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 4. ķģ¬ ķģ¼ģ ģ¶ģ² ģ“ė ģģ
|
|
328
|
+
|
|
329
|
+
### ķģ¬ `src/services/memory-service.ts`
|
|
330
|
+
ė¶ķ“ ėģ.
|
|
331
|
+
|
|
332
|
+
ģ¶ģ² ė¶ė¦¬:
|
|
333
|
+
- `src/core/engine/core-memory-engine.ts`
|
|
334
|
+
- `src/core/registry/session-registry.ts`
|
|
335
|
+
- `src/core/registry/project-path.ts`
|
|
336
|
+
- `src/extensions/vector/vector-index-service.ts`
|
|
337
|
+
- `src/extensions/shared-memory/shared-memory-service.ts`
|
|
338
|
+
- `src/extensions/continuity/continuity-service.ts`
|
|
339
|
+
- `src/core/journal/journal-service.ts`
|
|
340
|
+
|
|
341
|
+
### ķģ¬ `src/hooks/*`
|
|
342
|
+
ā `src/adapters/claude/hooks/*`
|
|
343
|
+
|
|
344
|
+
### ķģ¬ `src/server/*`
|
|
345
|
+
ā `src/apps/server/*`
|
|
346
|
+
|
|
347
|
+
### ķģ¬ `src/ui/*`
|
|
348
|
+
ā `src/apps/dashboard/*`
|
|
349
|
+
|
|
350
|
+
### ķģ¬ `src/mcp/*`
|
|
351
|
+
ā `src/extensions/mcp/*`
|
|
352
|
+
|
|
353
|
+
### ķģ¬ `src/core/sqlite-event-store.ts`
|
|
354
|
+
ā `src/core/storage/event-repo.ts` ėė `sqlite-event-store.ts`
|
|
355
|
+
|
|
356
|
+
### ķģ¬ `src/core/vector-store.ts`
|
|
357
|
+
ā `src/extensions/vector/vector-store.ts`
|
|
358
|
+
|
|
359
|
+
### ķģ¬ `src/core/progressive-retriever.ts`
|
|
360
|
+
ā `src/core/retrieval/result-expander.ts` ėė `progressive-retrieval.ts`
|
|
361
|
+
|
|
362
|
+
### ķģ¬ endless/shared ź“ė Ø ķģ¼
|
|
363
|
+
ā `src/extensions/continuity/*`, `src/extensions/shared-memory/*`
|
|
364
|
+
|
|
365
|
+
---
|
|
366
|
+
|
|
367
|
+
## 5. ź¶ģ„ ź³µź° ģøķ°ķģ“ģ¤
|
|
368
|
+
|
|
369
|
+
ģøė¶ģģ ė§ģ“ ģ°ė interfaceė ģ ź² ģ ģ§ķė ź²ģ“ ģ¢ė¤.
|
|
370
|
+
|
|
371
|
+
### Core public API
|
|
372
|
+
```ts
|
|
373
|
+
interface CoreMemoryEngine {
|
|
374
|
+
appendEvent(input: RawEventInput): Promise<AppendResult>
|
|
375
|
+
deriveFacts(eventId: string): Promise<FactDerivationResult>
|
|
376
|
+
deriveSummary(scope: SummaryScope, refId: string): Promise<SummaryResult>
|
|
377
|
+
search(query: MemoryQuery): Promise<SearchResult>
|
|
378
|
+
expand(resultId: string): Promise<ExpandedResult>
|
|
379
|
+
getSource(sourceRef: string): Promise<SourcePayload>
|
|
380
|
+
}
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
### Claude adapter public API
|
|
384
|
+
```ts
|
|
385
|
+
interface ClaudeMemoryAdapter {
|
|
386
|
+
onSessionStart(payload: ClaudeSessionStart): Promise<HookResponse>
|
|
387
|
+
onUserPromptSubmit(payload: ClaudeUserPrompt): Promise<HookResponse>
|
|
388
|
+
onPostToolUse(payload: ClaudeToolUse): Promise<HookResponse>
|
|
389
|
+
onStop(payload: ClaudeStopPayload): Promise<HookResponse>
|
|
390
|
+
onSessionEnd(payload: ClaudeSessionEnd): Promise<HookResponse>
|
|
391
|
+
}
|
|
392
|
+
```
|
|
393
|
+
|
|
394
|
+
### Extension registration concept
|
|
395
|
+
```ts
|
|
396
|
+
interface MemoryExtension {
|
|
397
|
+
name: string
|
|
398
|
+
initialize(ctx: ExtensionContext): Promise<void>
|
|
399
|
+
shutdown?(): Promise<void>
|
|
400
|
+
}
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
## 6. ź²½ź³ ź·ģ¹
|
|
406
|
+
|
|
407
|
+
### ź·ģ¹ 1
|
|
408
|
+
`core`ė `adapters`넼 importķė©“ ģ ėė¤.
|
|
409
|
+
|
|
410
|
+
### ź·ģ¹ 2
|
|
411
|
+
`core`ė `apps`넼 importķė©“ ģ ėė¤.
|
|
412
|
+
|
|
413
|
+
### ź·ģ¹ 3
|
|
414
|
+
`extensions`ė `core`넼 ģ¬ģ©ķ ģ ģģ§ė§, coreģ źø°ė³ø ėģģ ķģė” ė°ź¾øė©“ ģ ėė¤.
|
|
415
|
+
|
|
416
|
+
### ź·ģ¹ 4
|
|
417
|
+
`apps`ė composition rootė¤. 씰립ģ ķė, ėė©ģø ė”ģ§ģ ė“ģ§ ģėė¤.
|
|
418
|
+
|
|
419
|
+
### ź·ģ¹ 5
|
|
420
|
+
Claude-specific typesģ heuristicsė `adapters/claude` ģģ ėė¤.
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## 7. ģ“ źµ¬ģ”°ģ ģ„ģ
|
|
425
|
+
|
|
426
|
+
1. ģ½ģ“ź° ė¬“ģģøģ§ ķėģ 볓ģøė¤.
|
|
427
|
+
2. Claude hooksź° ģ½ģ“넼 ģ¤ģ¼ģķ¤ģ§ ģėė¤.
|
|
428
|
+
3. vector/shared/MCP ź°ģ źø°ė„ģ ģµģ
ģ¼ė” ė¤ė£Øźø° ģ¬ģģ§ė¤.
|
|
429
|
+
4. ķ
ģ¤ķø ź²½ź³ź° ė¶ėŖ
ķ“ģ§ė¤.
|
|
430
|
+
5. ģ„źø°ģ ģ¼ė” ė¤ė„ø adapter넼 ė¶ģ“źø° ģ¬ģģ§ė¤.
|
|
431
|
+
6. āė¬“ź±°ģ“ źø°ė„ģ ė²ė¦¬ģ§ ģź³ ėā ģ½ģ“넼 ė¤ģ ģź² ė§ė¤ ģ ģė¤.
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
## 8. ģµģ¢
ź¶ź³
|
|
436
|
+
|
|
437
|
+
ģ“ źµ¬ģ”°ė ėØė²ģ ģģ±ķ ķģ ģė¤.
|
|
438
|
+
ź°ģ„ ķģ¤ģ ģø ė°©ė²ģ:
|
|
439
|
+
|
|
440
|
+
1. ģ ķ“ė źµ¬ģ”° 먼ģ ė§ė¤ź³
|
|
441
|
+
2. 기씓 ķģ¼ģ ķ ė²ģ ė¤ ģ®źø°ģ§ ė§ź³
|
|
442
|
+
3. ģ ėŖØėė” ģ”°źøģ© źø°ė„ģ 빼며
|
|
443
|
+
4. `compat` ė ģ“ģ“ė” źø°ģ”“ ķøģ¶ģ ģ ģ§ķė ė°©ģģ“ė¤.
|
|
444
|
+
|
|
445
|
+
ģ¦,
|
|
446
|
+
**ķ“ė źµ¬ģ”° ģ¬ģ¤ź³ė ėØģ ėÆøź“ ė¬øģ ź° ģėė¼, ģģ¼ė” źø°ė„ģ“ ėģ“ė ģ½ģ“넼 ģ§ķ¤źø° ģķ ģ“ģ ģ ėµ**ģ“ė¤.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Memory Architecture Comparison Index
|
|
2
|
+
|
|
3
|
+
This index gathers the comparison/architecture notes used to guide the claude-memory-layer refactor and retrieval UX work.
|
|
4
|
+
|
|
5
|
+
## Documents
|
|
6
|
+
- [Memory Forget](../../.claude-plugin/commands/memory-forget.md)
|
|
7
|
+
- [Memory History](../../.claude-plugin/commands/memory-history.md)
|
|
8
|
+
- [Memory Import](../../.claude-plugin/commands/memory-import.md)
|
|
9
|
+
- [Memory List](../../.claude-plugin/commands/memory-list.md)
|
|
10
|
+
- [Memory Search](../../.claude-plugin/commands/memory-search.md)
|
|
11
|
+
- [Memory Stats](../../.claude-plugin/commands/memory-stats.md)
|
|
12
|
+
- [Readme](../../README.md)
|
|
13
|
+
- [Context](../../context.md)
|
|
14
|
+
- [Memory Forget](../../dist/.claude-plugin/commands/memory-forget.md)
|
|
15
|
+
- [Memory History](../../dist/.claude-plugin/commands/memory-history.md)
|
|
16
|
+
- [Memory Import](../../dist/.claude-plugin/commands/memory-import.md)
|
|
17
|
+
- [Memory List](../../dist/.claude-plugin/commands/memory-list.md)
|
|
18
|
+
- [Memory Search](../../dist/.claude-plugin/commands/memory-search.md)
|
|
19
|
+
- [Memory Stats](../../dist/.claude-plugin/commands/memory-stats.md)
|
|
20
|
+
- [Architecture Comparison And Recommendations](../../docs/ARCHITECTURE_COMPARISON_AND_RECOMMENDATIONS.md)
|
|
21
|
+
- [Mcp Memory Service Comparative Review](../../docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md)
|
|
22
|
+
- [Memsearch Project Structure Analysis](../../docs/MEMSEARCH_PROJECT_STRUCTURE_ANALYSIS.md)
|
|
23
|
+
- [Memu Adoption](../../docs/MEMU_ADOPTION.md)
|
|
24
|
+
- [Project Structure Analysis](../../docs/PROJECT_STRUCTURE_ANALYSIS.md)
|
|
25
|
+
- [Reference Project Analyses](../../docs/REFERENCE_PROJECT_ANALYSES.md)
|
|
26
|
+
- [Superlocalmemory Project Structure Analysis](../../docs/SUPERLOCALMEMORY_PROJECT_STRUCTURE_ANALYSIS.md)
|
|
27
|
+
- [Target Architecture And Folder Structure](../../docs/TARGET_ARCHITECTURE_AND_FOLDER_STRUCTURE.md)
|
|
28
|
+
- [Context](../../specs/endless-mode/context.md)
|
|
29
|
+
- [Spec](../../specs/endless-mode/spec.md)
|
|
30
|
+
- [Context](../../specs/evidence-aligner-v2/context.md)
|
|
31
|
+
- [Context](../../specs/memory-utilization-improvements/context.md)
|
|
32
|
+
- [Plan](../../specs/memory-utilization-improvements/plan.md)
|
|
33
|
+
- [Spec](../../specs/memory-utilization-improvements/spec.md)
|
|
34
|
+
- [Spec](../../specs/thin-core-refactor/spec.md)
|
|
35
|
+
- [Plan](../../specs/web-viewer-ui/plan.md)
|
|
36
|
+
|
|
37
|
+
## Current implementation links
|
|
38
|
+
|
|
39
|
+
- `src/core/engine/retrieval-orchestrator.ts` ā extracted retrieval coordination facade for `MemoryService`.
|
|
40
|
+
- `src/core/engine/retrieval-disclosure-service.ts` ā product-facing progressive disclosure search ā expand ā source API.
|
|
41
|
+
- `src/ui/index.html`, `src/ui/app.js`, `src/ui/style.css` ā dashboard inspection UX for retrieval disclosure.
|
|
42
|
+
|
|
43
|
+
## Refactor direction
|
|
44
|
+
|
|
45
|
+
1. Keep `MemoryService` focused on lifecycle/storage/use-case composition.
|
|
46
|
+
2. Route query-time behavior through `RetrievalOrchestrator` so scope, rerank policy, intent rewrite, shared retrieval, and trace telemetry are testable in isolation.
|
|
47
|
+
3. Expose compact retrieval envelopes first, then progressively expand to surrounding context and raw sources when the operator needs evidence.
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Codex dry-run validation report
|
|
2
|
+
|
|
3
|
+
Generated: 2026-05-05T04:04:53.997Z
|
|
4
|
+
Dry-run: yes
|
|
5
|
+
Will mutate memory: no
|
|
6
|
+
Sessions directory: /Users/namsangboy/.codex/sessions
|
|
7
|
+
Project filter: (none)
|
|
8
|
+
Source paths: /Users/namsangboy/.codex/sessions
|
|
9
|
+
Session limit: (none)
|
|
10
|
+
Max content chars: 10,000
|
|
11
|
+
|
|
12
|
+
## Totals
|
|
13
|
+
|
|
14
|
+
- Sessions scanned: 158
|
|
15
|
+
- Sessions matched: 158
|
|
16
|
+
- Files read: 158
|
|
17
|
+
- Records read: 9,414
|
|
18
|
+
- Messages normalized: 1,020
|
|
19
|
+
- Turns normalized: 506
|
|
20
|
+
- User messages: 506
|
|
21
|
+
- Assistant messages: 514
|
|
22
|
+
- Malformed lines: 0
|
|
23
|
+
- Skipped/unsupported records: 8,234
|
|
24
|
+
- Empty assistant messages: 2
|
|
25
|
+
- Truncated messages: 63
|
|
26
|
+
- Missing project cwd: 0
|
|
27
|
+
- Warnings: 0
|
|
28
|
+
|
|
29
|
+
## Top projects
|
|
30
|
+
|
|
31
|
+
| Project | Hash | Sessions | Messages | Turns | User | Assistant | Malformed | Skipped/unsupported | Truncated | Empty assistant |
|
|
32
|
+
| --- | --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
|
33
|
+
| project:c41551dceefc | c41551dceefc | 136 | 555 | 409 | 409 | 146 | 0 | 2,945 | 56 | 2 |
|
|
34
|
+
| project:daac4b4b811d | daac4b4b811d | 6 | 192 | 25 | 25 | 167 | 0 | 1,529 | 6 | 0 |
|
|
35
|
+
| project:4c44ebd80fec | 4c44ebd80fec | 7 | 186 | 43 | 43 | 143 | 0 | 3,059 | 0 | 0 |
|
|
36
|
+
| project:4dcf5743aded | 4dcf5743aded | 2 | 39 | 7 | 7 | 32 | 0 | 321 | 0 | 0 |
|
|
37
|
+
| project:b7f03a7373a5 | b7f03a7373a5 | 3 | 17 | 10 | 10 | 7 | 0 | 120 | 0 | 0 |
|
|
38
|
+
| project:8a5edab28263 | 8a5edab28263 | 1 | 17 | 3 | 3 | 14 | 0 | 194 | 1 | 0 |
|
|
39
|
+
| project:89923fecc0ce | 89923fecc0ce | 1 | 8 | 5 | 5 | 3 | 0 | 32 | 0 | 0 |
|
|
40
|
+
| project:304be8a9ce91 | 304be8a9ce91 | 2 | 6 | 4 | 4 | 2 | 0 | 34 | 0 | 0 |
|
|
41
|
+
|
|
42
|
+
## Warnings
|
|
43
|
+
|
|
44
|
+
- None
|
|
45
|
+
|
|
46
|
+
_Aggregate counts only; transcript content is not included._
|
package/package.json
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "claude-memory-layer",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.28",
|
|
4
4
|
"description": "Claude Code plugin that learns from conversations to provide personalized assistance",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
|
-
"claude-memory-layer": "dist/cli/index.js"
|
|
7
|
+
"claude-memory-layer": "dist/cli/index.js",
|
|
8
|
+
"claude-memory-layer-mcp": "dist/mcp/index.js"
|
|
8
9
|
},
|
|
9
10
|
"type": "module",
|
|
10
11
|
"scripts": {
|
|
11
12
|
"build": "tsx scripts/build.ts",
|
|
12
|
-
"dev": "tsx src/cli/index.ts",
|
|
13
|
+
"dev": "tsx src/apps/cli/index.ts",
|
|
13
14
|
"test": "vitest",
|
|
14
15
|
"test:coverage": "vitest --coverage",
|
|
15
16
|
"lint": "eslint src/**/*.ts",
|
|
@@ -20,7 +21,9 @@
|
|
|
20
21
|
"ops:review:resolve": "node scripts/review-queue-auto-resolve.js",
|
|
21
22
|
"ops:heartbeat": "bash scripts/heartbeat-memory-orchestrator.sh",
|
|
22
23
|
"ops:health": "npm run ops:sync-gap:report && npm run ops:sync-gap:heal && npm run ops:review:resolve",
|
|
23
|
-
"ops:projects:clean-unknown": "node scripts/delete-unknown-projects.js"
|
|
24
|
+
"ops:projects:clean-unknown": "node scripts/delete-unknown-projects.js",
|
|
25
|
+
"benchmark:replay": "tsx scripts/replay-retrieval-benchmark.ts",
|
|
26
|
+
"benchmark:qrels": "tsx scripts/generate-session-qrels.ts"
|
|
24
27
|
},
|
|
25
28
|
"keywords": [
|
|
26
29
|
"claude-code",
|
|
@@ -37,8 +40,9 @@
|
|
|
37
40
|
},
|
|
38
41
|
"dependencies": {
|
|
39
42
|
"@hono/node-server": "^1.13.0",
|
|
40
|
-
"@lancedb/lancedb": "^0.5.0",
|
|
41
43
|
"@huggingface/transformers": "^3.8.1",
|
|
44
|
+
"@lancedb/lancedb": "^0.5.0",
|
|
45
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
42
46
|
"better-sqlite3": "^12.6.2",
|
|
43
47
|
"commander": "^12.0.0",
|
|
44
48
|
"hono": "^4.0.0",
|
package/scripts/build.ts
CHANGED
|
@@ -55,14 +55,22 @@ const __dirname = dirname(__filename);`
|
|
|
55
55
|
async function build() {
|
|
56
56
|
console.log('šØ Building claude-memory-layer plugin...\n');
|
|
57
57
|
|
|
58
|
-
// Build CLI
|
|
58
|
+
// Build CLI app
|
|
59
59
|
console.log('š¦ Building CLI...');
|
|
60
60
|
await esbuild.build({
|
|
61
61
|
...commonOptions,
|
|
62
|
-
entryPoints: ['src/cli/index.ts'],
|
|
62
|
+
entryPoints: ['src/apps/cli/index.ts'],
|
|
63
63
|
outfile: 'dist/cli/index.js'
|
|
64
64
|
});
|
|
65
65
|
|
|
66
|
+
// Build MCP stdio server bin
|
|
67
|
+
console.log('š¦ Building MCP server...');
|
|
68
|
+
await esbuild.build({
|
|
69
|
+
...commonOptions,
|
|
70
|
+
entryPoints: ['src/mcp/index.ts'],
|
|
71
|
+
outfile: 'dist/mcp/index.js'
|
|
72
|
+
});
|
|
73
|
+
|
|
66
74
|
// Build hooks
|
|
67
75
|
console.log('š¦ Building hooks...');
|
|
68
76
|
const hooks = [
|
|
@@ -84,6 +92,12 @@ async function build() {
|
|
|
84
92
|
|
|
85
93
|
// Build core modules as library
|
|
86
94
|
console.log('š¦ Building core modules...');
|
|
95
|
+
await esbuild.build({
|
|
96
|
+
...commonOptions,
|
|
97
|
+
entryPoints: ['src/index.ts'],
|
|
98
|
+
outfile: 'dist/index.js'
|
|
99
|
+
});
|
|
100
|
+
|
|
87
101
|
await esbuild.build({
|
|
88
102
|
...commonOptions,
|
|
89
103
|
entryPoints: ['src/core/index.ts'],
|
|
@@ -102,7 +116,7 @@ async function build() {
|
|
|
102
116
|
console.log('š¦ Building server...');
|
|
103
117
|
await esbuild.build({
|
|
104
118
|
...commonOptions,
|
|
105
|
-
entryPoints: ['src/server/index.ts'],
|
|
119
|
+
entryPoints: ['src/apps/server/index.ts'],
|
|
106
120
|
outfile: 'dist/server/index.js',
|
|
107
121
|
external: [...(commonOptions.external || []), 'hono']
|
|
108
122
|
});
|
|
@@ -110,7 +124,7 @@ async function build() {
|
|
|
110
124
|
// Build server API
|
|
111
125
|
await esbuild.build({
|
|
112
126
|
...commonOptions,
|
|
113
|
-
entryPoints: ['src/server/api/index.ts'],
|
|
127
|
+
entryPoints: ['src/apps/server/api/index.ts'],
|
|
114
128
|
outfile: 'dist/server/api/index.js',
|
|
115
129
|
external: [...(commonOptions.external || []), 'hono']
|
|
116
130
|
});
|
|
@@ -119,15 +133,18 @@ async function build() {
|
|
|
119
133
|
console.log('š Copying plugin files...');
|
|
120
134
|
fs.cpSync('.claude-plugin', path.join(outdir, '.claude-plugin'), { recursive: true });
|
|
121
135
|
|
|
122
|
-
// Copy
|
|
123
|
-
console.log('š Copying
|
|
124
|
-
|
|
125
|
-
|
|
136
|
+
// Copy dashboard static files
|
|
137
|
+
console.log('š Copying dashboard files...');
|
|
138
|
+
const dashboardPath = 'src/apps/dashboard';
|
|
139
|
+
if (fs.existsSync(dashboardPath)) {
|
|
140
|
+
fs.cpSync(dashboardPath, path.join(outdir, 'ui'), { recursive: true });
|
|
126
141
|
}
|
|
127
142
|
|
|
128
143
|
console.log('\nā
Build complete!');
|
|
129
144
|
console.log(`\nOutput: ${outdir}/`);
|
|
130
145
|
console.log(' - cli/index.js');
|
|
146
|
+
console.log(' - mcp/index.js');
|
|
147
|
+
console.log(' - index.js');
|
|
131
148
|
console.log(' - hooks/*.js');
|
|
132
149
|
console.log(' - core/index.js');
|
|
133
150
|
console.log(' - services/memory-service.js');
|