claude-memory-layer 1.0.11 → 1.0.13
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/AGENTS.md +60 -0
- package/README.md +166 -2
- package/bootstrap-kb/decisions/decisions.md +244 -0
- package/bootstrap-kb/glossary/glossary.md +46 -0
- package/bootstrap-kb/modules/.claude-plugin.md +22 -0
- package/bootstrap-kb/modules/agents.md.md +15 -0
- package/bootstrap-kb/modules/claude.md.md +15 -0
- package/bootstrap-kb/modules/context.md.md +15 -0
- package/bootstrap-kb/modules/docs.md +18 -0
- package/bootstrap-kb/modules/handoff.md.md +15 -0
- package/bootstrap-kb/modules/package-lock.json.md +15 -0
- package/bootstrap-kb/modules/package.json.md +15 -0
- package/bootstrap-kb/modules/plan.md.md +15 -0
- package/bootstrap-kb/modules/readme.md.md +15 -0
- package/bootstrap-kb/modules/scripts.md +26 -0
- package/bootstrap-kb/modules/spec.md.md +15 -0
- package/bootstrap-kb/modules/specs.md +20 -0
- package/bootstrap-kb/modules/src.md +51 -0
- package/bootstrap-kb/modules/tests.md +42 -0
- package/bootstrap-kb/modules/tsconfig.json.md +15 -0
- package/bootstrap-kb/modules/vitest.config.ts.md +15 -0
- package/bootstrap-kb/overview/overview.md +40 -0
- package/bootstrap-kb/sources/manifest.json +950 -0
- package/bootstrap-kb/sources/manifest.md +227 -0
- package/bootstrap-kb/timeline/timeline.md +57 -0
- package/d.sh +3 -0
- package/deploy.sh +3 -0
- package/dist/cli/index.js +2389 -286
- package/dist/cli/index.js.map +4 -4
- package/dist/core/index.js +1017 -132
- package/dist/core/index.js.map +4 -4
- package/dist/hooks/post-tool-use.js +1347 -202
- package/dist/hooks/post-tool-use.js.map +4 -4
- package/dist/hooks/session-end.js +1339 -194
- package/dist/hooks/session-end.js.map +4 -4
- package/dist/hooks/session-start.js +1343 -198
- package/dist/hooks/session-start.js.map +4 -4
- package/dist/hooks/stop.js +1351 -206
- package/dist/hooks/stop.js.map +4 -4
- package/dist/hooks/user-prompt-submit.js +1347 -202
- package/dist/hooks/user-prompt-submit.js.map +4 -4
- package/dist/server/api/index.js +1436 -211
- package/dist/server/api/index.js.map +4 -4
- package/dist/server/index.js +1445 -220
- package/dist/server/index.js.map +4 -4
- package/dist/services/memory-service.js +1345 -199
- package/dist/services/memory-service.js.map +4 -4
- package/dist/ui/app.js +69 -2
- package/dist/ui/index.html +8 -0
- package/docs/MCP_MEMORY_SERVICE_COMPARATIVE_REVIEW.md +271 -0
- package/docs/MEMU_ADOPTION.md +40 -0
- package/memory/.claude-plugin/commands/2026-02-25.md +263 -0
- package/memory/_index.md +405 -0
- package/memory/default/uncategorized/2026-02-25.md +4839 -0
- package/memory/specs/20260207-dashboard-upgrade/2026-02-25.md +142 -0
- package/memory/specs/citations-system/2026-02-25.md +1121 -0
- package/memory/specs/endless-mode/2026-02-25.md +1392 -0
- package/memory/specs/entity-edge-model/2026-02-25.md +1263 -0
- package/memory/specs/evidence-aligner-v2/2026-02-25.md +1028 -0
- package/memory/specs/mcp-desktop-integration/2026-02-25.md +1334 -0
- package/memory/specs/post-tool-use-hook/2026-02-25.md +1164 -0
- package/memory/specs/private-tags/2026-02-25.md +1057 -0
- package/memory/specs/progressive-disclosure/2026-02-25.md +1436 -0
- package/memory/specs/task-entity-system/2026-02-25.md +924 -0
- package/memory/specs/vector-outbox-v2/2026-02-25.md +1510 -0
- package/memory/specs/web-viewer-ui/2026-02-25.md +1709 -0
- package/package.json +2 -1
- package/scripts/build.ts +6 -0
- package/scripts/bump-patch-version.sh +18 -0
- package/src/cli/index.ts +281 -2
- package/src/core/consolidated-store.ts +63 -1
- package/src/core/consolidation-worker.ts +115 -6
- package/src/core/event-store.ts +14 -0
- package/src/core/index.ts +1 -0
- package/src/core/ingest-interceptor.ts +80 -0
- package/src/core/markdown-mirror.ts +70 -0
- package/src/core/md-mirror.ts +92 -0
- package/src/core/mongo-sync-config.ts +165 -0
- package/src/core/mongo-sync-worker.ts +381 -0
- package/src/core/retriever.ts +540 -150
- package/src/core/sqlite-event-store.ts +350 -1
- package/src/core/tag-taxonomy.ts +51 -0
- package/src/core/types.ts +28 -0
- package/src/server/api/health.ts +53 -0
- package/src/server/api/index.ts +3 -1
- package/src/server/api/stats.ts +46 -1
- package/src/services/bootstrap-organizer.ts +443 -0
- package/src/services/codex-session-history-importer.ts +474 -0
- package/src/services/memory-service.ts +373 -68
- package/src/services/session-history-importer.ts +53 -25
- package/src/ui/app.js +69 -2
- package/src/ui/index.html +8 -0
- package/tests/bootstrap-organizer.test.ts +111 -0
- package/tests/consolidation-worker.test.ts +75 -0
- package/tests/ingest-interceptor.test.ts +38 -0
- package/tests/markdown-mirror.test.ts +85 -0
- package/tests/md-mirror.test.ts +50 -0
- package/tests/retriever-fallback-chain.test.ts +223 -0
- package/tests/retriever-strategy-scope.test.ts +97 -0
- package/tests/retriever.memu-adoption.test.ts +122 -0
- package/tests/sqlite-event-store-replication.test.ts +92 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Codex / AI Agent Instructions
|
|
2
|
+
|
|
3
|
+
이 저장소는 **Claude Code용 메모리 플러그인 + CLI + 로컬 대시보드 서버**입니다.
|
|
4
|
+
Codex(또는 다른 코딩 에이전트)가 작업할 때 아래 규칙을 우선으로 따르세요.
|
|
5
|
+
|
|
6
|
+
## Quick Commands
|
|
7
|
+
|
|
8
|
+
```bash
|
|
9
|
+
npm install
|
|
10
|
+
npm run build
|
|
11
|
+
|
|
12
|
+
# 웹 대시보드(로컬)
|
|
13
|
+
node dist/server/index.js
|
|
14
|
+
# 또는
|
|
15
|
+
npx claude-memory-layer dashboard
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Key Entry Points
|
|
19
|
+
|
|
20
|
+
- `scripts/build.ts`: esbuild 기반 빌드. `dist/` 생성 + `.claude-plugin/` 및 `src/ui` 복사
|
|
21
|
+
- `src/cli/index.ts`: CLI 엔트리포인트 (`bin`: `claude-memory-layer`)
|
|
22
|
+
- `src/server/index.ts`: 대시보드/REST API 서버 (기본 포트 `37777`)
|
|
23
|
+
- `src/server/api/chat.ts`: **외부 `claude` CLI**를 `spawn('claude', ...)`로 호출 (환경에 따라 미설치일 수 있음)
|
|
24
|
+
|
|
25
|
+
## Local Side-Effects (주의)
|
|
26
|
+
|
|
27
|
+
- `claude-memory-layer install` / `uninstall` 은 **사용자 머신의** `~/.claude/settings.json` 을 수정합니다.
|
|
28
|
+
- 자동 실행/테스트 목적으로 임의 실행하지 말고, 사용자가 명시적으로 요청할 때만 실행하세요.
|
|
29
|
+
- 훅/CLI/서버는 기본적으로 `~/.claude-code/memory` 아래에 데이터를 읽고/씁니다.
|
|
30
|
+
- 메모리 스토리지를 삭제/초기화하는 동작은 요청 없이는 하지 마세요.
|
|
31
|
+
|
|
32
|
+
## Common Pitfall: Self-dependency (반복 발생)
|
|
33
|
+
|
|
34
|
+
`package.json`의 `dependencies`에 **자기 자신**을 추가하면 설치가 꼬입니다.
|
|
35
|
+
|
|
36
|
+
- 금지 예: `"claude-memory-layer": "^1.0.x"`
|
|
37
|
+
- 진단: `npm list claude-memory-layer` 결과가 `(empty)` 여야 정상
|
|
38
|
+
- 복구:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
rm package-lock.json && rm -rf node_modules
|
|
42
|
+
npm install
|
|
43
|
+
npm list claude-memory-layer
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## Release / Publish Workflow
|
|
47
|
+
|
|
48
|
+
1. Self-dependency 확인: `npm list claude-memory-layer` → `(empty)`
|
|
49
|
+
2. 버전 업데이트: `npm version patch` 또는 `package.json` 수정
|
|
50
|
+
3. 빌드: `npm run build`
|
|
51
|
+
4. 배포: `npm publish --otp=<code>`
|
|
52
|
+
5. 확인: `npm view claude-memory-layer versions`
|
|
53
|
+
|
|
54
|
+
## Dev Notes
|
|
55
|
+
|
|
56
|
+
- Node.js: `>=18` (ESM 프로젝트)
|
|
57
|
+
- 스토리지: **SQLite(WAL) 기반**으로 훅(쓰기) + 서버(읽기) 동시 동작을 전제로 함
|
|
58
|
+
- 테스트/정적분석 스크립트는 존재하지만, 현재 시점에서 전부 “항상 green”을 보장하지 않을 수 있으니
|
|
59
|
+
변경 전후로 실제 실행 결과를 확인하고 진행하세요.
|
|
60
|
+
|
package/README.md
CHANGED
|
@@ -10,6 +10,70 @@ Claude Memory Layer는 Claude Code에서 사용자와 AI 간의 모든 대화를
|
|
|
10
10
|
- **프로젝트 맥락 이해**: 프로젝트별로 축적된 지식 활용
|
|
11
11
|
- **개인화된 응답**: 사용자의 선호도와 패턴 학습
|
|
12
12
|
|
|
13
|
+
## 빠른 시작 (신규 프로젝트 기준)
|
|
14
|
+
|
|
15
|
+
아래 순서대로 하면 됩니다.
|
|
16
|
+
|
|
17
|
+
### 0) 최초 1회(머신 전체) 설치
|
|
18
|
+
|
|
19
|
+
```bash
|
|
20
|
+
cd ~/workspace/claude-memory-layer
|
|
21
|
+
npm install
|
|
22
|
+
npm run build
|
|
23
|
+
npx claude-memory-layer install
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
- `install`은 **한 번만** 하면 됩니다(Claude Code hooks 등록).
|
|
27
|
+
- 이후 프로젝트별로 메모리 저장소가 자동 분리됩니다.
|
|
28
|
+
|
|
29
|
+
### 1) 새 프로젝트에서 초기 메모리 생성
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
cd /path/to/your-project
|
|
33
|
+
npx claude-memory-layer import
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
- 현재 프로젝트의 기존 Claude 세션(`~/.claude/projects/...`)을 읽어와 메모리로 적재합니다.
|
|
37
|
+
- 벡터 임베딩까지 한 번에 처리됩니다.
|
|
38
|
+
|
|
39
|
+
### 2) 사용 중 확인
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# 프로젝트 메모리 검색
|
|
43
|
+
npx claude-memory-layer search "인증 구조"
|
|
44
|
+
|
|
45
|
+
# 통계 확인
|
|
46
|
+
npx claude-memory-layer stats
|
|
47
|
+
|
|
48
|
+
# 대시보드 실행
|
|
49
|
+
npx claude-memory-layer dashboard
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### 3) 다른 프로젝트에도 동일하게 적용?
|
|
53
|
+
|
|
54
|
+
네. **완전히 동일한 흐름**을 각 프로젝트에서 반복하면 됩니다.
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
cd /path/to/another-project
|
|
58
|
+
npx claude-memory-layer import
|
|
59
|
+
npx claude-memory-layer search "배포 이슈"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
프로젝트마다 내부적으로 별도 저장소(`~/.claude-code/memory/projects/<hash>`)를 사용하므로,
|
|
63
|
+
기억이 자동으로 분리됩니다.
|
|
64
|
+
|
|
65
|
+
### 4) 운영 팁
|
|
66
|
+
|
|
67
|
+
- 특정 프로젝트를 명시하고 싶으면 대부분 명령에 `--project <path>` 사용 가능
|
|
68
|
+
- 대규모 리임포트가 필요하면 `import --force` 사용
|
|
69
|
+
- 백그라운드 worker가 못 처리한 임베딩은 `process`로 수동 처리
|
|
70
|
+
- 상태 점검:
|
|
71
|
+
- `GET /health` (서버 헬스)
|
|
72
|
+
- `GET /api/health` (outbox pending/failed 포함 상세 헬스)
|
|
73
|
+
- `GET /api/stats/retrieval-traces` (검색→컨텍스트 채택 추적)
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
13
77
|
## Features
|
|
14
78
|
|
|
15
79
|
### Core Features
|
|
@@ -31,6 +95,9 @@ Claude Memory Layer는 Claude Code에서 사용자와 AI 간의 모든 대화를
|
|
|
31
95
|
- **PostToolUse Hook**: 도구 실행 결과 (Read, Write, Bash 등) 캡처 및 저장
|
|
32
96
|
- **Private Tags**: `<private>` 태그로 민감 정보를 명시적으로 제외
|
|
33
97
|
- **Progressive Disclosure**: 3-Layer 검색 (인덱스 → 타임라인 → 상세)으로 토큰 효율화
|
|
98
|
+
- **memU-inspired Retrieval**: fast/deep 전략 + 스코프 필터(session prefix, canonical key prefix, metadata path)
|
|
99
|
+
- **Append-only Markdown Mirror**: 저장 이벤트를 `memory/<namespace>/<category...>/YYYY-MM-DD.md`에도 동기 append (기본값: `namespace=default`, `category=uncategorized`, 경로 세그먼트 sanitize)
|
|
100
|
+
- `memory/_index.md` 인덱스를 자동 갱신
|
|
34
101
|
- **Task Entity System**: Task를 Entity로 승격하여 세션 간 상태 추적
|
|
35
102
|
- **Vector Outbox V2**: Transactional Outbox 패턴으로 DuckDB-LanceDB 정합성 보장
|
|
36
103
|
- **Web Viewer UI**: localhost:37777 대시보드로 실시간 메모리 모니터링
|
|
@@ -100,6 +167,42 @@ Claude Code 내에서 사용할 수 있는 명령어:
|
|
|
100
167
|
/memory-forget --session <id> --confirm
|
|
101
168
|
```
|
|
102
169
|
|
|
170
|
+
### 기존 메모리 정리 Import (구조화)
|
|
171
|
+
|
|
172
|
+
레거시 markdown 메모리를 읽어서 구조화 경로로 재저장(import)할 수 있습니다.
|
|
173
|
+
|
|
174
|
+
```bash
|
|
175
|
+
# 미리보기(실제 저장 없음)
|
|
176
|
+
claude-memory-layer organize-import /path/to/legacy-memory --dry-run
|
|
177
|
+
|
|
178
|
+
# 실제 import
|
|
179
|
+
claude-memory-layer organize-import /path/to/legacy-memory --project /path/to/project
|
|
180
|
+
|
|
181
|
+
# 일부만 import
|
|
182
|
+
claude-memory-layer organize-import /path/to/legacy-memory --limit 100
|
|
183
|
+
|
|
184
|
+
# source에 markdown이 없으면 자동 bootstrap(코드+git 분석)
|
|
185
|
+
claude-memory-layer organize-import /path/to/empty-dir --project /path/to/project
|
|
186
|
+
|
|
187
|
+
# bootstrap 강제 실행
|
|
188
|
+
claude-memory-layer organize-import /path/to/memory --force-bootstrap --repo /path/to/project
|
|
189
|
+
|
|
190
|
+
# 자동 bootstrap 비활성화
|
|
191
|
+
claude-memory-layer organize-import /path/to/empty-dir --no-bootstrap-if-empty
|
|
192
|
+
|
|
193
|
+
# markdown이 없는 초기 상태면 bootstrap 생성 + import
|
|
194
|
+
claude-memory-layer organize-import /path/to/empty-dir --bootstrap --repo /path/to/codebase
|
|
195
|
+
|
|
196
|
+
# bootstrap 강제 재생성 (기존 markdown 있어도)
|
|
197
|
+
claude-memory-layer organize-import /path/to/legacy-memory --force-bootstrap --repo /path/to/codebase --out /path/to/legacy-memory/bootstrap-kb
|
|
198
|
+
|
|
199
|
+
# 증분 bootstrap (기본값): 이전 manifest를 기준으로 변경분 중심 업데이트
|
|
200
|
+
claude-memory-layer organize-import /path/to/legacy-memory --bootstrap --repo /path/to/codebase --incremental
|
|
201
|
+
|
|
202
|
+
# 전체 재생성 bootstrap
|
|
203
|
+
claude-memory-layer organize-import /path/to/legacy-memory --bootstrap --repo /path/to/codebase --no-incremental
|
|
204
|
+
```
|
|
205
|
+
|
|
103
206
|
### CLI 명령어
|
|
104
207
|
|
|
105
208
|
터미널에서 직접 사용:
|
|
@@ -127,8 +230,65 @@ npx claude-memory-layer list --project /path/to/project
|
|
|
127
230
|
|
|
128
231
|
# 임베딩 수동 처리
|
|
129
232
|
npx claude-memory-layer process
|
|
233
|
+
|
|
234
|
+
# MongoDB 동기화 (옵션, 멀티 서버 협업)
|
|
235
|
+
# - 여러 서버에서 같은 프로젝트를 개발할 때, 각 서버의 로컬 SQLite(events.sqlite) 이벤트를
|
|
236
|
+
# 하나의 MongoDB로 모아 push/pull 동기화할 수 있습니다.
|
|
237
|
+
# - 동일 프로젝트는 반드시 같은 project key로 실행해야 합니다.
|
|
238
|
+
export CLAUDE_MEMORY_MONGO_URI="mongodb://USER:PASSWORD@HOST:PORT/"
|
|
239
|
+
export CLAUDE_MEMORY_MONGO_DB="claude_memory_layer"
|
|
240
|
+
export CLAUDE_MEMORY_MONGO_PROJECT="my-project"
|
|
241
|
+
|
|
242
|
+
# 1회 동기화 (push+pull)
|
|
243
|
+
npx claude-memory-layer mongo-sync
|
|
244
|
+
|
|
245
|
+
# 지속 동기화 (주기적으로 push+pull)
|
|
246
|
+
npx claude-memory-layer mongo-sync --watch --interval 30000
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### memU-inspired Retrieval 사용 예시
|
|
250
|
+
|
|
251
|
+
아래 예시는 SDK/서비스 레벨에서 `retrieveMemories()` 호출 시 적용되는 옵션입니다.
|
|
252
|
+
|
|
253
|
+
```ts
|
|
254
|
+
import { getMemoryServiceForProject } from './src/services/memory-service.js';
|
|
255
|
+
|
|
256
|
+
const memory = getMemoryServiceForProject('/path/to/project');
|
|
257
|
+
|
|
258
|
+
// 1) Fast: 키워드 기반 빠른 검색
|
|
259
|
+
const fast = await memory.retrieveMemories('브리핑 포맷', {
|
|
260
|
+
strategy: 'fast',
|
|
261
|
+
topK: 5,
|
|
262
|
+
minScore: 0.6
|
|
263
|
+
});
|
|
264
|
+
|
|
265
|
+
// 2) Deep: 벡터 검색 + 키워드 오버랩 재정렬
|
|
266
|
+
const deep = await memory.retrieveMemories('브리핑 포맷', {
|
|
267
|
+
strategy: 'deep',
|
|
268
|
+
topK: 10,
|
|
269
|
+
rerankWithKeyword: true
|
|
270
|
+
});
|
|
271
|
+
|
|
272
|
+
// 3) Scoped filter: 세션/타입/계층형 메타데이터로 범위 제한
|
|
273
|
+
const scoped = await memory.retrieveMemories('아침 브리핑', {
|
|
274
|
+
strategy: 'deep',
|
|
275
|
+
scope: {
|
|
276
|
+
sessionIdPrefix: 'agent:main:',
|
|
277
|
+
eventTypes: ['user_prompt', 'agent_response'],
|
|
278
|
+
canonicalKeyPrefix: 'pref/briefing',
|
|
279
|
+
contentIncludes: ['아침'],
|
|
280
|
+
metadata: {
|
|
281
|
+
'scope.project.id': 'alpha'
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
});
|
|
130
285
|
```
|
|
131
286
|
|
|
287
|
+
팁:
|
|
288
|
+
- `strategy: 'auto'`는 기본적으로 fallback 체인을 사용해 결과를 찾습니다.
|
|
289
|
+
- 저지연 응답이 중요하면 `fast`, 정확도 우선이면 `deep`를 권장합니다.
|
|
290
|
+
- 프로젝트 서비스(`getMemoryServiceForProject`) 기준 검색 스코프는 기본적으로 project-aware(엄격 모드)로 동작합니다.
|
|
291
|
+
|
|
132
292
|
## Privacy 기능
|
|
133
293
|
|
|
134
294
|
### Private Tags
|
|
@@ -250,6 +410,9 @@ claude-memory-layer dashboard
|
|
|
250
410
|
- 벡터 검색 인터페이스
|
|
251
411
|
- 저장소 통계 대시보드
|
|
252
412
|
- Outbox 상태 모니터링
|
|
413
|
+
- Retrieval Trace (검색 질의 → 후보/채택 수 → 최종 context 채택 IDs) 1:1 확인
|
|
414
|
+
- 채택된 event ID 클릭으로 상세 모달 확인 + score breakdown(semantic/lexical/recency) 확인
|
|
415
|
+
- 후보(candidate) event ID 스냅샷도 함께 노출되어 검색→채택 전 과정을 추적 가능
|
|
253
416
|
|
|
254
417
|
## 기존 대화 기록 임포트
|
|
255
418
|
|
|
@@ -429,8 +592,9 @@ Layer 1: Search Index (~50-100 tokens/result)
|
|
|
429
592
|
|
|
430
593
|
```
|
|
431
594
|
~/.claude-code/memory/
|
|
432
|
-
├── events.
|
|
433
|
-
|
|
595
|
+
├── projects/<hash>/events.sqlite # 프로젝트별 이벤트 저장소 (primary)
|
|
596
|
+
├── projects/<hash>/vectors/ # 프로젝트별 벡터 임베딩
|
|
597
|
+
└── shared/ # (옵션) 공유 지식 저장소
|
|
434
598
|
```
|
|
435
599
|
|
|
436
600
|
Claude Code 세션 기록 위치:
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
# Decisions (extracted)
|
|
2
|
+
|
|
3
|
+
- confidence: high
|
|
4
|
+
|
|
5
|
+
## 2026-01-31 | feat: implement complete code-memory plugin
|
|
6
|
+
- status: active (inferred)
|
|
7
|
+
- source: commit:111f400e73f0568b192a5b1b37a88622fd44d648
|
|
8
|
+
- author: Claude
|
|
9
|
+
- changedFiles: 31
|
|
10
|
+
- confidence: mid
|
|
11
|
+
|
|
12
|
+
## 2026-01-31 | feat: add session history import functionality
|
|
13
|
+
- status: active (inferred)
|
|
14
|
+
- source: commit:22b1c43d9b9f095cd2a210f529ca8bee5a1100c5
|
|
15
|
+
- author: Claude
|
|
16
|
+
- changedFiles: 5
|
|
17
|
+
- confidence: mid
|
|
18
|
+
|
|
19
|
+
## 2026-02-01 | docs: Update README with comprehensive feature documentation (#3)
|
|
20
|
+
- status: active (inferred)
|
|
21
|
+
- source: commit:3662dfae8381fdf35923b115f58c362e091c474a
|
|
22
|
+
- author: justinbuzzni
|
|
23
|
+
- changedFiles: 1
|
|
24
|
+
- confidence: mid
|
|
25
|
+
|
|
26
|
+
## 2026-02-01 | feat: Add cross-project shared troubleshooting store
|
|
27
|
+
- status: active (inferred)
|
|
28
|
+
- source: commit:d04e562b5b011e0f07cdea0664db823f0caca5d0
|
|
29
|
+
- author: justinbuzzni
|
|
30
|
+
- changedFiles: 9
|
|
31
|
+
- confidence: mid
|
|
32
|
+
|
|
33
|
+
## 2026-02-01 | refactor: Extract DuckDB wrapper for consistent async API
|
|
34
|
+
- status: active (inferred)
|
|
35
|
+
- source: commit:65b0f64da3fd2c4b0b758b89f9d0f22301df23a7
|
|
36
|
+
- author: justinbuzzni
|
|
37
|
+
- changedFiles: 19
|
|
38
|
+
- confidence: mid
|
|
39
|
+
|
|
40
|
+
## 2026-02-01 | feat: Add web dashboard for memory visualization
|
|
41
|
+
- status: active (inferred)
|
|
42
|
+
- source: commit:665cf11bb9a01f1bcba51ec49f53382e95cd7e32
|
|
43
|
+
- author: justinbuzzni
|
|
44
|
+
- changedFiles: 5
|
|
45
|
+
- confidence: mid
|
|
46
|
+
|
|
47
|
+
## 2026-02-01 | refactor: Rename project from code-memory to claude-memory-layer
|
|
48
|
+
- status: active (inferred)
|
|
49
|
+
- source: commit:f35da2b92704d7d1b5655edac3516c64a829eeef
|
|
50
|
+
- author: justinbuzzni
|
|
51
|
+
- changedFiles: 7
|
|
52
|
+
- confidence: mid
|
|
53
|
+
|
|
54
|
+
## 2026-02-01 | feat: Migrate primary store from DuckDB to SQLite (WAL mode)
|
|
55
|
+
- status: active (inferred)
|
|
56
|
+
- source: commit:be36be70f69d42d2373ac26e6c0b8e8b53ca0340
|
|
57
|
+
- author: justinbuzzni
|
|
58
|
+
- changedFiles: 8
|
|
59
|
+
- confidence: mid
|
|
60
|
+
|
|
61
|
+
## 2026-02-01 | feat: Enhance dashboard, CLI, and memory graduation system
|
|
62
|
+
- status: active (inferred)
|
|
63
|
+
- source: commit:babfd15284754bc3dbb698fcc4c81efcf53fcd85
|
|
64
|
+
- author: justinbuzzni
|
|
65
|
+
- changedFiles: 13
|
|
66
|
+
- confidence: mid
|
|
67
|
+
|
|
68
|
+
## 2026-02-07 | feat: Add memory helpfulness tracking and dashboard sort controls
|
|
69
|
+
- status: active (inferred)
|
|
70
|
+
- source: commit:794640023652fc38b010e1ab46ca6a9a504a09e8
|
|
71
|
+
- author: justinbuzzni
|
|
72
|
+
- changedFiles: 9
|
|
73
|
+
- confidence: mid
|
|
74
|
+
|
|
75
|
+
## 2026-02-08 | feat: Add interactive dashboard with modals, navigation, and detail views
|
|
76
|
+
- status: active (inferred)
|
|
77
|
+
- source: commit:20c37b2cdffd271eaf04df9d2e87e5f23a4f853e
|
|
78
|
+
- author: justinbuzzni
|
|
79
|
+
- changedFiles: 5
|
|
80
|
+
- confidence: mid
|
|
81
|
+
|
|
82
|
+
## 2026-02-08 | fix: Align hooks with actual Claude Code input format and use lightweight service
|
|
83
|
+
- status: active (inferred)
|
|
84
|
+
- source: commit:a1d93af414821eb92d74cd02abb748849366ebfb
|
|
85
|
+
- author: justinbuzzni
|
|
86
|
+
- changedFiles: 4
|
|
87
|
+
- confidence: mid
|
|
88
|
+
|
|
89
|
+
## 2026-02-08 | feat: Add real-time progress display for import command
|
|
90
|
+
- status: active (inferred)
|
|
91
|
+
- source: commit:fd8f38af7cecf7d31a32a5aba9b1902178f986b1
|
|
92
|
+
- author: justinbuzzni
|
|
93
|
+
- changedFiles: 2
|
|
94
|
+
- confidence: mid
|
|
95
|
+
|
|
96
|
+
## 2026-02-08 | feat: Add turn-based event grouping, force reimport, and session registry support
|
|
97
|
+
- status: active (inferred)
|
|
98
|
+
- source: commit:938ec34bdf5fe1e4c43274424497ca081d62023a
|
|
99
|
+
- author: justinbuzzni
|
|
100
|
+
- changedFiles: 9
|
|
101
|
+
- confidence: mid
|
|
102
|
+
|
|
103
|
+
## 2026-02-08 | feat: Add per-project dashboard with project selector and turns API
|
|
104
|
+
- status: active (inferred)
|
|
105
|
+
- source: commit:af18cee5277324c78a9e1bca5873bc86ee5b2719
|
|
106
|
+
- author: justinbuzzni
|
|
107
|
+
- changedFiles: 12
|
|
108
|
+
- confidence: mid
|
|
109
|
+
|
|
110
|
+
## 2026-02-08 | fix: Handle vector store table race condition and auto-create SQLite directories
|
|
111
|
+
- status: active (inferred)
|
|
112
|
+
- source: commit:5b7401917611b50ee49e38bdf080983d1c763d5e
|
|
113
|
+
- author: justinbuzzni
|
|
114
|
+
- changedFiles: 2
|
|
115
|
+
- confidence: mid
|
|
116
|
+
|
|
117
|
+
## 2026-02-08 | feat: Add Ask Memory chat service to dashboard
|
|
118
|
+
- status: active (inferred)
|
|
119
|
+
- source: commit:a7b260f0ceeff6d768fefb675e6425f5b4717d7e
|
|
120
|
+
- author: justinbuzzni
|
|
121
|
+
- changedFiles: 5
|
|
122
|
+
- confidence: mid
|
|
123
|
+
|
|
124
|
+
## 2026-02-08 | feat: Widen chat panel and add conversation history with localStorage
|
|
125
|
+
- status: active (inferred)
|
|
126
|
+
- source: commit:15547d41e952350d095dfe3c01b2afa749638532
|
|
127
|
+
- author: justinbuzzni
|
|
128
|
+
- changedFiles: 3
|
|
129
|
+
- confidence: mid
|
|
130
|
+
|
|
131
|
+
## 2026-02-08 | fix: Knowledge Graph shows data even when no memories have been accessed
|
|
132
|
+
- status: active (inferred)
|
|
133
|
+
- source: commit:78b0956610eb7d22c28a821c67e10e6e9996c5be
|
|
134
|
+
- author: justinbuzzni
|
|
135
|
+
- changedFiles: 2
|
|
136
|
+
- confidence: mid
|
|
137
|
+
|
|
138
|
+
## 2026-02-20 | feat(ops): add heartbeat orchestrator and sync-gap auto-heal scripts
|
|
139
|
+
- status: active (inferred)
|
|
140
|
+
- source: commit:d56d22ba3271c1d51ea8bbaddb21f5f3d0a79d49
|
|
141
|
+
- author: namsangboy
|
|
142
|
+
- changedFiles: 7
|
|
143
|
+
- confidence: mid
|
|
144
|
+
|
|
145
|
+
## 2026-02-09 | feat: optional MongoDB sync for project events
|
|
146
|
+
- status: active (inferred)
|
|
147
|
+
- source: commit:11d3092e372836f784a760fc0b4269fd44e9159f
|
|
148
|
+
- author: Justin
|
|
149
|
+
- changedFiles: 9
|
|
150
|
+
- confidence: mid
|
|
151
|
+
|
|
152
|
+
## 2026-02-22 | feat: add Codex session history importer, MongoDB sync config, and AGENTS.md
|
|
153
|
+
- status: active (inferred)
|
|
154
|
+
- source: commit:4855172b8f92fff0c148c106de4e10c494d2bb09
|
|
155
|
+
- author: Justin
|
|
156
|
+
- changedFiles: 4
|
|
157
|
+
- confidence: mid
|
|
158
|
+
|
|
159
|
+
## 2026-02-24 | feat(memory): adopt memU-style scoped retrieval and staged ingest hooks
|
|
160
|
+
- status: active (inferred)
|
|
161
|
+
- source: commit:d278200d0f0666616a8556f2f25f9758b3ab9afd
|
|
162
|
+
- author: justinbuzzni
|
|
163
|
+
- changedFiles: 6
|
|
164
|
+
- confidence: mid
|
|
165
|
+
|
|
166
|
+
## 2026-02-24 | feat(memory): add append-only markdown mirror for categorized event archives
|
|
167
|
+
- status: active (inferred)
|
|
168
|
+
- source: commit:917ad7fc97a1c2de68637dfbe4b4cdd51776ec30
|
|
169
|
+
- author: justinbuzzni
|
|
170
|
+
- changedFiles: 4
|
|
171
|
+
- confidence: mid
|
|
172
|
+
|
|
173
|
+
## 2026-02-24 | feat: append-only markdown mirror in sqlite ingest flow
|
|
174
|
+
- status: active (inferred)
|
|
175
|
+
- source: commit:72250046152e851ed70476a8704ca38ca633ffab
|
|
176
|
+
- author: justinbuzzni
|
|
177
|
+
- changedFiles: 3
|
|
178
|
+
- confidence: mid
|
|
179
|
+
|
|
180
|
+
## 2026-02-24 | feat(memory): auto-refresh markdown mirror index
|
|
181
|
+
- status: active (inferred)
|
|
182
|
+
- source: commit:3a34d45a594affb034d6e416e3a29b6d2dcc20a5
|
|
183
|
+
- author: justinbuzzni
|
|
184
|
+
- changedFiles: 3
|
|
185
|
+
- confidence: mid
|
|
186
|
+
|
|
187
|
+
## 2026-02-24 | feat(cli): add organize-import command for structured markdown memory import
|
|
188
|
+
- status: active (inferred)
|
|
189
|
+
- source: commit:fe9ef67e5acabb81885a3c752a5b8525f80856a5
|
|
190
|
+
- author: justinbuzzni
|
|
191
|
+
- changedFiles: 3
|
|
192
|
+
- confidence: mid
|
|
193
|
+
|
|
194
|
+
## 2026-02-24 | feat(retrieval): add auto fallback chain fast→deep→scope-expand→summary
|
|
195
|
+
- status: active (inferred)
|
|
196
|
+
- source: commit:0dceb2d914e67e10d140848340f30e6fd07c4f67
|
|
197
|
+
- author: justinbuzzni
|
|
198
|
+
- changedFiles: 2
|
|
199
|
+
- confidence: mid
|
|
200
|
+
|
|
201
|
+
## 2026-02-24 | feat(ranking): add helpfulness-driven adaptive rerank weights v1
|
|
202
|
+
- status: active (inferred)
|
|
203
|
+
- source: commit:7de02967a1d59aea3e04ef1239585b93828c503a
|
|
204
|
+
- author: justinbuzzni
|
|
205
|
+
- changedFiles: 3
|
|
206
|
+
- confidence: mid
|
|
207
|
+
|
|
208
|
+
## 2026-02-24 | feat(retrieval): add ttl/decay ranking policy v1
|
|
209
|
+
- status: active (inferred)
|
|
210
|
+
- source: commit:46f2cfa2d99f0c8fb3a48709a97f62800f01d4fe
|
|
211
|
+
- author: justinbuzzni
|
|
212
|
+
- changedFiles: 2
|
|
213
|
+
- confidence: mid
|
|
214
|
+
|
|
215
|
+
## 2026-02-24 | feat(retrieval): add intent-rewrite deep retrieval merge flow
|
|
216
|
+
- status: active (inferred)
|
|
217
|
+
- source: commit:5fd950beee4d02f00b0c93be668a2e114ce9b257
|
|
218
|
+
- author: justinbuzzni
|
|
219
|
+
- changedFiles: 3
|
|
220
|
+
- confidence: mid
|
|
221
|
+
|
|
222
|
+
## 2026-02-24 | feat(retrieval): add graph-hop expansion with hop penalty
|
|
223
|
+
- status: active (inferred)
|
|
224
|
+
- source: commit:d1dfe03f881d1a76ecd9a916cbf04c3ff2a4bf7e
|
|
225
|
+
- author: justinbuzzni
|
|
226
|
+
- changedFiles: 2
|
|
227
|
+
- confidence: mid
|
|
228
|
+
|
|
229
|
+
## 2026-02-24 | feat(consolidation): add hierarchical summary→rule automation with report
|
|
230
|
+
- status: active (inferred)
|
|
231
|
+
- source: commit:7c84b5eacff733d8cb692eb9d47b7297a0872e43
|
|
232
|
+
- author: justinbuzzni
|
|
233
|
+
- changedFiles: 6
|
|
234
|
+
- confidence: mid
|
|
235
|
+
|
|
236
|
+
## 2026-02-25 | Feat/organize import bootstrap kb (#10)
|
|
237
|
+
- status: active (inferred)
|
|
238
|
+
- source: commit:db38c7e606a59478c03bac7e5bb5951954ca0813
|
|
239
|
+
- author: justinbuzzni
|
|
240
|
+
- changedFiles: 4
|
|
241
|
+
- confidence: mid
|
|
242
|
+
|
|
243
|
+
## Sources
|
|
244
|
+
- source: git-log:since=180 days ago;max=1000
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Glossary (auto-extracted)
|
|
2
|
+
|
|
3
|
+
- confidence: mid
|
|
4
|
+
|
|
5
|
+
- context
|
|
6
|
+
- spec
|
|
7
|
+
- plan
|
|
8
|
+
- memory
|
|
9
|
+
- store
|
|
10
|
+
- sync
|
|
11
|
+
- worker
|
|
12
|
+
- retriever
|
|
13
|
+
- event
|
|
14
|
+
- mirror
|
|
15
|
+
- session
|
|
16
|
+
- shared
|
|
17
|
+
- vector
|
|
18
|
+
- gap
|
|
19
|
+
- history
|
|
20
|
+
- matcher
|
|
21
|
+
- sqlite
|
|
22
|
+
- task
|
|
23
|
+
- aligner
|
|
24
|
+
- auto
|
|
25
|
+
- bootstrap
|
|
26
|
+
- canonical
|
|
27
|
+
- config
|
|
28
|
+
- consolidation
|
|
29
|
+
- evidence
|
|
30
|
+
- graduation
|
|
31
|
+
- importer
|
|
32
|
+
- ingest
|
|
33
|
+
- interceptor
|
|
34
|
+
- key
|
|
35
|
+
- markdown
|
|
36
|
+
- mongo
|
|
37
|
+
- organizer
|
|
38
|
+
- package
|
|
39
|
+
- repo
|
|
40
|
+
- resolver
|
|
41
|
+
- search
|
|
42
|
+
- stats
|
|
43
|
+
- wrapper
|
|
44
|
+
|
|
45
|
+
## Sources
|
|
46
|
+
- source: repo-scan:/home/walter/workspace/opensource/claude-memory-layer
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Module: .claude-plugin
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `.claude-plugin/`
|
|
4
|
+
- files: 8
|
|
5
|
+
- languages: Markdown, JSON
|
|
6
|
+
- confidence: high
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- 2026-01-31 111f400e feat: implement complete code-memory plugin
|
|
13
|
+
- 2026-01-31 22b1c43d feat: add session history import functionality
|
|
14
|
+
- 2026-02-01 504ec3dd docs: Add citations and endless mode specification documents (#2)
|
|
15
|
+
- 2026-02-01 f35da2b9 refactor: Rename project from code-memory to claude-memory-layer
|
|
16
|
+
|
|
17
|
+
## Sources
|
|
18
|
+
- source: repo-path:.claude-plugin/**
|
|
19
|
+
- source: commit:111f400e73f0568b192a5b1b37a88622fd44d648
|
|
20
|
+
- source: commit:22b1c43d9b9f095cd2a210f529ca8bee5a1100c5
|
|
21
|
+
- source: commit:504ec3ddd7f451fabf2cf01e073fc96e65ae124e
|
|
22
|
+
- source: commit:f35da2b92704d7d1b5655edac3516c64a829eeef
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Module: AGENTS.md
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `AGENTS.md/`
|
|
4
|
+
- files: 1
|
|
5
|
+
- languages: Markdown
|
|
6
|
+
- confidence: low
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- none in selected range
|
|
13
|
+
|
|
14
|
+
## Sources
|
|
15
|
+
- source: repo-path:AGENTS.md/**
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Module: CLAUDE.md
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `CLAUDE.md/`
|
|
4
|
+
- files: 1
|
|
5
|
+
- languages: Markdown
|
|
6
|
+
- confidence: low
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- none in selected range
|
|
13
|
+
|
|
14
|
+
## Sources
|
|
15
|
+
- source: repo-path:CLAUDE.md/**
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Module: context.md
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `context.md/`
|
|
4
|
+
- files: 1
|
|
5
|
+
- languages: Markdown
|
|
6
|
+
- confidence: low
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- none in selected range
|
|
13
|
+
|
|
14
|
+
## Sources
|
|
15
|
+
- source: repo-path:context.md/**
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# Module: docs
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `docs/`
|
|
4
|
+
- files: 2
|
|
5
|
+
- languages: Markdown
|
|
6
|
+
- confidence: mid
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- 2026-02-20 d56d22ba feat(ops): add heartbeat orchestrator and sync-gap auto-heal scripts
|
|
13
|
+
- 2026-02-24 4447e64f docs(memory): document memU-inspired retrieval strategies and scoped filters
|
|
14
|
+
|
|
15
|
+
## Sources
|
|
16
|
+
- source: repo-path:docs/**
|
|
17
|
+
- source: commit:d56d22ba3271c1d51ea8bbaddb21f5f3d0a79d49
|
|
18
|
+
- source: commit:4447e64fa00065bfb364d38c597ad87484770891
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Module: HANDOFF.md
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `HANDOFF.md/`
|
|
4
|
+
- files: 1
|
|
5
|
+
- languages: Markdown
|
|
6
|
+
- confidence: low
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- none in selected range
|
|
13
|
+
|
|
14
|
+
## Sources
|
|
15
|
+
- source: repo-path:HANDOFF.md/**
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# Module: package-lock.json
|
|
2
|
+
|
|
3
|
+
- responsibility: inferred from top-level path `package-lock.json/`
|
|
4
|
+
- files: 1
|
|
5
|
+
- languages: JSON
|
|
6
|
+
- confidence: low
|
|
7
|
+
|
|
8
|
+
## Entry Candidates
|
|
9
|
+
- none detected
|
|
10
|
+
|
|
11
|
+
## Related Commits (recent sample)
|
|
12
|
+
- none in selected range
|
|
13
|
+
|
|
14
|
+
## Sources
|
|
15
|
+
- source: repo-path:package-lock.json/**
|