claude-memory-layer 1.0.41 → 1.0.43
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 +188 -137
- package/dist/cli/index.js +14793 -11705
- package/dist/cli/index.js.map +4 -4
- package/dist/core/index.js +12309 -9737
- package/dist/core/index.js.map +4 -4
- package/dist/hooks/post-tool-use.js +4701 -1697
- package/dist/hooks/post-tool-use.js.map +4 -4
- package/dist/hooks/semantic-daemon.js +4454 -1450
- package/dist/hooks/semantic-daemon.js.map +4 -4
- package/dist/hooks/session-end.js +4454 -1450
- package/dist/hooks/session-end.js.map +4 -4
- package/dist/hooks/session-start.js +4454 -1450
- package/dist/hooks/session-start.js.map +4 -4
- package/dist/hooks/stop.js +4638 -1634
- package/dist/hooks/stop.js.map +4 -4
- package/dist/hooks/user-prompt-submit.js +4453 -1449
- package/dist/hooks/user-prompt-submit.js.map +4 -4
- package/dist/index.js +12298 -9714
- package/dist/index.js.map +4 -4
- package/dist/mcp/index.js +12145 -9187
- package/dist/mcp/index.js.map +4 -4
- package/dist/server/api/index.js +4937 -1537
- package/dist/server/api/index.js.map +4 -4
- package/dist/server/index.js +4937 -1537
- package/dist/server/index.js.map +4 -4
- package/dist/services/memory-service.js +4454 -1450
- package/dist/services/memory-service.js.map +4 -4
- package/dist/ui/assets/js/bootstrap.js +7 -0
- package/dist/ui/assets/js/overview.js +411 -2
- package/dist/ui/assets/js/state.js +5 -0
- package/dist/ui/index.html +76 -0
- package/package.json +12 -3
package/README.md
CHANGED
|
@@ -1,14 +1,27 @@
|
|
|
1
1
|
# Claude Memory Layer
|
|
2
2
|
|
|
3
|
-
Claude Code
|
|
3
|
+
Claude Code, Codex, Hermes, MCP 클라이언트가 함께 쓰는 **프로젝트 스코프 메모리 레이어**입니다. 대화/세션 기록을 SQLite 이벤트 저장소와 LanceDB 벡터 인덱스로 관리하고, 작업 시작 시 필요한 기억·타임라인·액션 프런티어를 privacy-safe 컨텍스트로 제공합니다.
|
|
4
4
|
|
|
5
5
|
## 개요
|
|
6
6
|
|
|
7
|
-
Claude Memory Layer는
|
|
7
|
+
Claude Memory Layer는 AI 에이전트의 대화와 작업 이벤트를 프로젝트별로 저장하고, 새로운 작업을 시작할 때 관련 기억을 자동 검색해 컨텍스트로 제공합니다. 최신 npm 패키지는 단순 Claude Code hook을 넘어 다음 용도로 사용할 수 있습니다:
|
|
8
8
|
|
|
9
|
-
- **연속성 있는 대화**: 이전 세션에서 논의한
|
|
10
|
-
- **프로젝트 맥락 이해**:
|
|
11
|
-
-
|
|
9
|
+
- **연속성 있는 대화**: 이전 세션에서 논의한 결정, 오류, 검증 결과를 검색
|
|
10
|
+
- **프로젝트 맥락 이해**: 프로젝트별 isolated store와 `projectPath` 기반 MCP/CLI 조회
|
|
11
|
+
- **다중 에이전트 호환**: Claude Code hooks + Codex/Hermes session import + MCP stdio server
|
|
12
|
+
- **운영형 메모리**: actions/frontier/checkpoints/facets/lessons/retention audit로 다음 작업을 이어받기
|
|
13
|
+
- **Perspective Memory**: 사용자/어시스턴트/서브에이전트 관점의 actor card와 observation 관리
|
|
14
|
+
- **신뢰 가능한 벡터 동기화**: Vector Outbox V2, worker lock, dashboard/vector-status health로 누락 복구
|
|
15
|
+
|
|
16
|
+
## 최신 릴리스 하이라이트
|
|
17
|
+
|
|
18
|
+
- **MCP Context Navigator**: `mem-context-pack`, `mem-project-timeline`, `mem-source-ref`, `mem-import-latest`로 Hermes/Codex/Claude Desktop이 같은 프로젝트 기억을 안전하게 조회합니다.
|
|
19
|
+
- **Memory Operations Layer**: facet/action/frontier/checkpoint/retention/graph/lesson 도구와 CLI가 추가되어 “무엇을 다음에 해야 하는가”를 메모리에서 바로 복원합니다.
|
|
20
|
+
- **Honcho-inspired Perspective Memory**: actor/session membership, actor cards, perspective observations, contradiction/derived observation, perspective context/query 도구를 제공합니다.
|
|
21
|
+
- **Vector Outbox V2**: SQLite source write와 vector enqueue를 같은 트랜잭션으로 묶고, versioned LanceDB upsert와 stuck-job recovery를 지원합니다.
|
|
22
|
+
- **Dashboard 운영성 강화**: local-only 기본 bind, 선택적 password gate, Vector Health 카드, Perspective Memory aggregate 카드, retrieval trace/score breakdown을 제공합니다.
|
|
23
|
+
- **Codex/Hermes history ingest**: 원본 세션은 read-only validate/replay로 먼저 확인하고, 명시적 import로만 프로젝트 메모리에 반영합니다.
|
|
24
|
+
- **npm 설치 안정화**: `@huggingface/transformers`는 optional dependency + postinstall repair로 설치하며, CUDA 11 환경에서는 CPU-only ONNX Runtime으로 자동 복구합니다.
|
|
12
25
|
|
|
13
26
|
## 빠른 시작 (신규 프로젝트 기준)
|
|
14
27
|
|
|
@@ -286,41 +299,43 @@ MCP client가 환경에 따라 PATH를 못 찾으면 `command -v claude-memory-l
|
|
|
286
299
|
|
|
287
300
|
### Core Features
|
|
288
301
|
|
|
289
|
-
- **Conversation Memory**:
|
|
290
|
-
- **
|
|
291
|
-
- **
|
|
292
|
-
- **Memory
|
|
293
|
-
- **
|
|
294
|
-
- **
|
|
302
|
+
- **Project-scoped Conversation Memory**: Claude Code, Codex, Hermes의 user/assistant turn을 프로젝트별 SQLite store에 저장
|
|
303
|
+
- **Hybrid Retrieval**: keyword/semantic/auto 전략, progressive disclosure, source/citation drill-down
|
|
304
|
+
- **MCP Context Navigator**: 작업 시작용 compact context pack + recent project timeline + privacy-safe source refs
|
|
305
|
+
- **Memory Operations**: facets, actions, frontier, checkpoints, retention audit, graph query, procedural lessons
|
|
306
|
+
- **Perspective Memory**: actor list, actor card, observer→observed observations, contradiction/derived lanes
|
|
307
|
+
- **Vector Outbox V2**: transactional enqueue, versioned vector upsert, worker lock, stuck recovery, aggregate health
|
|
308
|
+
- **Dashboard**: localhost dashboard, retrieval trace, Vector Health, Perspective Memory aggregate panels
|
|
309
|
+
- **External Context**: DART/FRED/Finnhub read-only market context snapshot for research/analysis workflows
|
|
295
310
|
|
|
296
311
|
### Advanced Features
|
|
297
312
|
|
|
298
|
-
- **Citations System**:
|
|
299
|
-
- **
|
|
300
|
-
- **
|
|
301
|
-
- **
|
|
302
|
-
- **
|
|
303
|
-
- **
|
|
304
|
-
- **
|
|
305
|
-
- **
|
|
306
|
-
- **
|
|
307
|
-
- **Append-only Markdown Mirror**: 저장 이벤트를 `memory/<namespace>/<category...>/YYYY-MM-DD.md`에도 동기 append (기본값: `namespace=default`, `category=uncategorized`, 경로 세그먼트 sanitize)
|
|
308
|
-
- `memory/_index.md` 인덱스를 자동 갱신
|
|
309
|
-
- **Task Entity System**: Task를 Entity로 승격하여 세션 간 상태 추적
|
|
310
|
-
- **Vector Outbox V2**: Transactional Outbox 패턴으로 SQLite-LanceDB 정합성 보장
|
|
311
|
-
- **Web Viewer UI**: localhost:37777 대시보드로 실시간 메모리 모니터링
|
|
313
|
+
- **Citations System**: 검색 결과를 `[mem:abc123]` 형태로 추적하고 `source`/`mem-source-ref`로 근거 확인
|
|
314
|
+
- **Progressive Disclosure**: index → timeline → details 순서로 필요한 만큼만 확장해 토큰 비용 절감
|
|
315
|
+
- **Codex/Hermes Importers**: read-only validate/replay 후 explicit import로만 mutation 수행
|
|
316
|
+
- **Perspective Query Agent**: 관점별 observation + raw memory를 읽기 전용으로 조합하고 source refs를 유지
|
|
317
|
+
- **Governance Audit**: facet/action/checkpoint/perspective mutation은 actor/evidence metadata와 함께 기록
|
|
318
|
+
- **Privacy Guardrails**: `<private>` 태그, credential/path redaction, aggregate-only dashboard/API/CLI 출력
|
|
319
|
+
- **Append-only Markdown Mirror**: 선택적으로 저장 이벤트를 `memory/<namespace>/.../YYYY-MM-DD.md`에 append
|
|
320
|
+
- **Mongo Sync**: 멀티 서버 협업을 위한 선택적 이벤트 push/pull sync
|
|
321
|
+
- **Endless Mode / Shared Memory**: 세션 경계 없는 연속 기억 및 공유 store 실험 기능
|
|
312
322
|
|
|
313
323
|
### 현재 feature status
|
|
314
324
|
|
|
315
325
|
| 영역 | 상태 | 비고 |
|
|
316
326
|
|------|------|------|
|
|
317
|
-
| Claude Code hooks / CLI
|
|
318
|
-
| SQLite event store / project registry | Stable | canonical source of truth |
|
|
319
|
-
| LanceDB vector index / Embedder | Stable accelerator | `
|
|
320
|
-
|
|
|
321
|
-
|
|
|
322
|
-
| MCP
|
|
323
|
-
|
|
|
327
|
+
| Claude Code hooks / CLI | Stable | `install`, `search`, `import`, `stats`, `dashboard`, `process` |
|
|
328
|
+
| SQLite event store / project registry | Stable | 프로젝트별 canonical source of truth, WAL 기반 동시 읽기/쓰기 |
|
|
329
|
+
| LanceDB vector index / Embedder | Stable accelerator | `@huggingface/transformers` optional + postinstall repair, versioned vector tables |
|
|
330
|
+
| Vector Outbox V2 | Implemented | transactional enqueue, worker lock, stale recovery, `vector-status`, dashboard Vector Health |
|
|
331
|
+
| Progressive disclosure / retrieval traces | Implemented | `search --disclosure`, `expand`, `source`, score breakdown, privacy-safe lanes |
|
|
332
|
+
| MCP server | Implemented | package bin `claude-memory-layer-mcp`, project-aware read tools + audited operation tools |
|
|
333
|
+
| Codex/Hermes session ingestion | Implemented | validate/replay는 read-only, import는 명시적 mutation |
|
|
334
|
+
| Memory Operations layer | Implemented | facets/actions/frontier/checkpoints/retention/graph/lessons |
|
|
335
|
+
| Perspective Memory | Implemented P0/P1 | actors, actor cards, perspective observations, context-pack lanes, aggregate dashboard |
|
|
336
|
+
| Dashboard | Implemented | local-only default bind, optional password, vector/perspective/trace panels |
|
|
337
|
+
| External Market Context | Implemented | DART/FRED/Finnhub read-only snapshot + MCP tool |
|
|
338
|
+
| Mongo sync / Endless mode / shared memory | Experimental | 고급/운영 옵션으로 취급 |
|
|
324
339
|
|
|
325
340
|
## 설치 방법
|
|
326
341
|
|
|
@@ -426,45 +441,62 @@ claude-memory-layer organize-import /path/to/legacy-memory --bootstrap --repo /p
|
|
|
426
441
|
|
|
427
442
|
### CLI 명령어
|
|
428
443
|
|
|
429
|
-
|
|
444
|
+
전역 설치 후에는 `claude-memory-layer`를 그대로 쓰고, 로컬 checkout에서는 `npx claude-memory-layer` 또는 `node dist/cli/index.js`를 사용할 수 있습니다.
|
|
430
445
|
|
|
431
446
|
```bash
|
|
432
|
-
# 메모리 검색
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
+
# 메모리 검색 / progressive disclosure
|
|
448
|
+
claude-memory-layer search "React 컴포넌트 패턴" --top-k 10
|
|
449
|
+
claude-memory-layer search "API 에러 처리" --disclosure
|
|
450
|
+
claude-memory-layer expand mem:abc123
|
|
451
|
+
claude-memory-layer source mem:abc123
|
|
452
|
+
|
|
453
|
+
# 대화 기록 / 통계
|
|
454
|
+
claude-memory-layer history --limit 50 --type user_prompt
|
|
455
|
+
claude-memory-layer stats --project /path/to/project
|
|
456
|
+
|
|
457
|
+
# Claude Code 세션 import
|
|
458
|
+
claude-memory-layer list --project /path/to/project
|
|
459
|
+
claude-memory-layer import --project /path/to/project --verbose
|
|
460
|
+
|
|
461
|
+
# Codex/Hermes 세션은 read-only 검증 후 명시적으로 import
|
|
462
|
+
claude-memory-layer codex validate --project /path/to/project --format markdown --anonymize-projects
|
|
463
|
+
claude-memory-layer codex import --project /path/to/project --verbose
|
|
464
|
+
claude-memory-layer hermes validate --project /path/to/project --format markdown
|
|
465
|
+
claude-memory-layer hermes import --project /path/to/project --verbose
|
|
466
|
+
|
|
467
|
+
# 임베딩/벡터 outbox 처리와 상태 점검
|
|
468
|
+
claude-memory-layer process --project /path/to/project
|
|
469
|
+
claude-memory-layer process --project /path/to/project --dry-run-recovery
|
|
470
|
+
claude-memory-layer vector-status --project /path/to/project
|
|
471
|
+
|
|
472
|
+
# Perspective Memory actor/session membership backfill
|
|
473
|
+
claude-memory-layer actors repair --project /path/to/project --dry-run
|
|
474
|
+
claude-memory-layer actors repair --project /path/to/project --apply
|
|
475
|
+
|
|
476
|
+
# Memory Operations
|
|
477
|
+
claude-memory-layer facet query --project /path/to/project --dimension workflow
|
|
478
|
+
claude-memory-layer facet tag --project /path/to/project --target-type event --target-id <id> --dimension workflow --value release --actor <actor> --apply
|
|
479
|
+
claude-memory-layer action list --project /path/to/project
|
|
480
|
+
claude-memory-layer frontier --project /path/to/project --limit 20
|
|
481
|
+
claude-memory-layer checkpoint list --project /path/to/project
|
|
482
|
+
claude-memory-layer retention audit --project /path/to/project
|
|
483
|
+
|
|
484
|
+
# Dashboard
|
|
485
|
+
claude-memory-layer dashboard --no-open
|
|
486
|
+
claude-memory-layer dashboard --bind localhost --port 37777 --password "<local-password>" --no-open
|
|
447
487
|
|
|
448
|
-
#
|
|
449
|
-
|
|
450
|
-
|
|
488
|
+
# External read-only market/company context
|
|
489
|
+
claude-memory-layer market-context --company 삼성전자 --dart-corp-code 00126380 --symbol 005930.KS --json
|
|
490
|
+
```
|
|
451
491
|
|
|
452
|
-
|
|
453
|
-
npx claude-memory-layer process
|
|
492
|
+
MongoDB 동기화는 선택 기능입니다. 여러 서버에서 같은 프로젝트를 개발할 때, 각 서버의 로컬 SQLite 이벤트를 하나의 MongoDB로 모아 push/pull할 수 있습니다.
|
|
454
493
|
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
# 하나의 MongoDB로 모아 push/pull 동기화할 수 있습니다.
|
|
458
|
-
# - 동일 프로젝트는 반드시 같은 project key로 실행해야 합니다.
|
|
459
|
-
export CLAUDE_MEMORY_MONGO_URI="mongodb://USER:PASSWORD@HOST:PORT/"
|
|
494
|
+
```bash
|
|
495
|
+
export CLAUDE_MEMORY_MONGO_URI="mongodb://USER:***@HOST:PORT/"
|
|
460
496
|
export CLAUDE_MEMORY_MONGO_DB="claude_memory_layer"
|
|
461
497
|
export CLAUDE_MEMORY_MONGO_PROJECT="my-project"
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
npx claude-memory-layer mongo-sync
|
|
465
|
-
|
|
466
|
-
# 지속 동기화 (주기적으로 push+pull)
|
|
467
|
-
npx claude-memory-layer mongo-sync --watch --interval 30000
|
|
498
|
+
claude-memory-layer mongo-sync
|
|
499
|
+
claude-memory-layer mongo-sync --watch --interval 30000
|
|
468
500
|
```
|
|
469
501
|
|
|
470
502
|
### memU-inspired Retrieval 사용 예시
|
|
@@ -637,15 +669,30 @@ node dist/mcp/index.js
|
|
|
637
669
|
|
|
638
670
|
### 제공되는 MCP 도구
|
|
639
671
|
|
|
640
|
-
| 도구 | 설명 |
|
|
641
|
-
|
|
642
|
-
| `mem-search` |
|
|
643
|
-
| `mem-timeline` |
|
|
644
|
-
| `mem-
|
|
645
|
-
| `mem-
|
|
646
|
-
| `mem-
|
|
647
|
-
| `mem-project-timeline` | 최근
|
|
648
|
-
| `mem-source-ref` | `mem
|
|
672
|
+
| 범주 | 도구 | 설명 |
|
|
673
|
+
|------|------|------|
|
|
674
|
+
| Search | `mem-search` | 프로젝트/세션 스코프 메모리 검색 |
|
|
675
|
+
| Search | `mem-timeline` / `mem-details` | 검색 결과 주변 타임라인과 상세 내용 조회 |
|
|
676
|
+
| Search | `mem-stats` | aggregate memory/vector/outbox 통계 |
|
|
677
|
+
| Context | `mem-context-pack` | 작업 시작용 relevant memory + recent timeline + follow-up refs |
|
|
678
|
+
| Context | `mem-import-latest` | 최신 Claude/Codex/Hermes 세션을 bounded import 후 context-pack freshness 확보 |
|
|
679
|
+
| Context | `mem-project-timeline` | 최근 프로젝트 메모리를 session/source/count/safe-preview로 요약 |
|
|
680
|
+
| Context | `mem-source-ref` | `mem:`/`event:` ref를 redacted preview와 safe metadata로 해석 |
|
|
681
|
+
| Operations | `mem-facet-query` / `mem-facet-tag` | project-scoped facet 조회/태깅 |
|
|
682
|
+
| Operations | `mem-action-list` / `mem-action-update` | 다음 작업/action 상태 조회·갱신 |
|
|
683
|
+
| Operations | `mem-frontier` | blocked/next action frontier와 safe resume hints |
|
|
684
|
+
| Operations | `mem-checkpoint-create` / `mem-checkpoint-list` | resumable action/session checkpoint 관리 |
|
|
685
|
+
| Operations | `mem-retention-audit` | dry-run retention governance audit |
|
|
686
|
+
| Operations | `mem-graph-query` | bounded graph expansion/query diagnostics |
|
|
687
|
+
| Operations | `mem-lesson-list` | procedural lesson/skill 후보 조회 |
|
|
688
|
+
| Perspective | `mem-actor-list` | project-scoped actor 목록 |
|
|
689
|
+
| Perspective | `mem-actor-card-get` / `mem-actor-card-upsert` | observer→observed actor card 조회/갱신 |
|
|
690
|
+
| Perspective | `mem-perspective-query` | observer→observed perspective observation 검색 |
|
|
691
|
+
| Perspective | `mem-perspective-context` | actor card + perspective observations context bundle |
|
|
692
|
+
| Perspective | `mem-perspective-observation-create` / `mem-perspective-observation-delete` | audited observation 생성/soft-delete |
|
|
693
|
+
| External | `external-market-context` | DART/FRED/Finnhub read-only MarketContextSnapshot |
|
|
694
|
+
|
|
695
|
+
대부분의 project-scoped 도구는 `projectPath`를 지원하거나 요구합니다. mutating 도구는 audit용 `actor`와 evidence/source refs를 요구하고, raw transcript/path/secret 출력은 피합니다.
|
|
649
696
|
|
|
650
697
|
예시 workflow:
|
|
651
698
|
|
|
@@ -670,14 +717,13 @@ claude-memory-layer dashboard
|
|
|
670
717
|
```
|
|
671
718
|
|
|
672
719
|
### 주요 기능
|
|
673
|
-
- 실시간 이벤트
|
|
674
|
-
-
|
|
675
|
-
-
|
|
676
|
-
-
|
|
677
|
-
-
|
|
678
|
-
-
|
|
679
|
-
-
|
|
680
|
-
- 후보(candidate) event ID 스냅샷도 함께 노출되어 검색→채택 전 과정을 추적 가능
|
|
720
|
+
- 실시간 이벤트 스트림과 세션/프로젝트별 탐색
|
|
721
|
+
- 벡터/키워드 검색 인터페이스와 저장소 통계
|
|
722
|
+
- Retrieval Trace: 질의 → 후보/채택 수 → 최종 context IDs, score breakdown(semantic/lexical/recency), lane debug
|
|
723
|
+
- Vector Health: embedding/vector queue pending/processing/failed/stuck, vector count, recovery action 결과
|
|
724
|
+
- Perspective Memory: actor/session membership, observer→observed graph, actor-card counts, observation/contradiction/source-evidence aggregate
|
|
725
|
+
- Dashboard auth hardening: 기본 `localhost` bind, 명시적 `0.0.0.0`, 선택적 password gate
|
|
726
|
+
- API errors/output은 aggregate 중심으로 렌더링하고 raw path, item id, error payload, memory content 노출을 피함
|
|
681
727
|
|
|
682
728
|
## 기존 대화 기록 임포트
|
|
683
729
|
|
|
@@ -816,28 +862,35 @@ Hermes import는 user/assistant turn만 저장하고 tool/system 메시지는
|
|
|
816
862
|
### System Overview
|
|
817
863
|
|
|
818
864
|
```
|
|
819
|
-
|
|
820
|
-
│
|
|
821
|
-
│
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
│
|
|
827
|
-
│
|
|
828
|
-
│
|
|
829
|
-
|
|
830
|
-
│
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
│
|
|
837
|
-
|
|
838
|
-
|
|
865
|
+
┌──────────────────────────────────────────────────────────────────────┐
|
|
866
|
+
│ Agent surfaces │
|
|
867
|
+
│ Claude Code Hooks │ CLI │ Dashboard │ MCP Clients │ Codex/Hermes import │
|
|
868
|
+
└───────────────────────────────┬──────────────────────────────────────┘
|
|
869
|
+
│
|
|
870
|
+
▼
|
|
871
|
+
┌──────────────────────────────────────────────────────────────────────┐
|
|
872
|
+
│ Memory Service / Runtime │
|
|
873
|
+
│ Retrieval Orchestrator │ Disclosure │ Operations │ Perspective Memory │
|
|
874
|
+
│ Evidence/Privacy filters │ Governance audit │ Context-pack assembler │
|
|
875
|
+
└───────────────────────────────┬──────────────────────────────────────┘
|
|
876
|
+
│
|
|
877
|
+
┌─────────────────────┼─────────────────────┐
|
|
878
|
+
▼ ▼ ▼
|
|
879
|
+
┌──────────────────┐ ┌──────────────────┐ ┌───────────────────────┐
|
|
880
|
+
│ SQLite EventStore│ │ Operations tables│ │ External read-only ctx │
|
|
881
|
+
│ events/sessions │ │ facets/actions/ │ │ DART/FRED/Finnhub │
|
|
882
|
+
│ actor/perspective│ │ checkpoints/... │ │ │
|
|
883
|
+
└─────────┬────────┘ └──────────────────┘ └───────────────────────┘
|
|
884
|
+
│ same transaction
|
|
885
|
+
▼
|
|
886
|
+
┌──────────────────┐ worker lock/recovery ┌──────────────────┐
|
|
887
|
+
│ Vector Outbox V2 │ ─────────────────────────────▶ │ LanceDB vectors │
|
|
888
|
+
│ itemKind/id/ver │ versioned delete+add upsert │ per item/version │
|
|
889
|
+
└──────────────────┘ └──────────────────┘
|
|
839
890
|
```
|
|
840
891
|
|
|
892
|
+
핵심 원칙은 SQLite가 canonical source of truth이고, LanceDB는 재생성 가능한 derived accelerator라는 점입니다. 모든 vector write는 outbox를 통해 idempotent하게 처리하며, MCP/dashboard/CLI 출력은 가능한 aggregate 또는 redacted preview만 제공합니다.
|
|
893
|
+
|
|
841
894
|
### Entity-Edge Model (3-Layer)
|
|
842
895
|
|
|
843
896
|
```
|
|
@@ -949,50 +1002,44 @@ npm run dev
|
|
|
949
1002
|
|
|
950
1003
|
| 문서 | 설명 |
|
|
951
1004
|
|------|------|
|
|
1005
|
+
| [agentmemory-inspired-memory-operations](specs/agentmemory-inspired-memory-operations/spec.md) | facets/actions/frontier/checkpoints/retention/lessons 운영형 메모리 |
|
|
1006
|
+
| [honcho-inspired-peer-context-memory](specs/honcho-inspired-peer-context-memory/spec.md) | actor card / perspective observation / multi-agent 관점 메모리 |
|
|
1007
|
+
| [vector-outbox-v2](specs/vector-outbox-v2/spec.md) | Transactional Outbox, versioned vector upsert, worker recovery |
|
|
1008
|
+
| [mcp-desktop-integration](specs/mcp-desktop-integration/spec.md) | MCP 서버 통합 |
|
|
1009
|
+
| [progressive-disclosure](specs/progressive-disclosure/spec.md) | 토큰 효율화 검색 |
|
|
952
1010
|
| [citations-system](specs/citations-system/spec.md) | 메모리 인용 시스템 |
|
|
953
|
-
| [
|
|
1011
|
+
| [private-tags](specs/private-tags/spec.md) | 프라이버시 태그 |
|
|
954
1012
|
| [entity-edge-model](specs/entity-edge-model/spec.md) | 3-Layer 데이터 모델 |
|
|
1013
|
+
| [task-entity-system](specs/task-entity-system/spec.md) | Task Entity 관리 |
|
|
955
1014
|
| [evidence-aligner-v2](specs/evidence-aligner-v2/spec.md) | 증거 정렬 시스템 |
|
|
956
|
-
| [mcp-desktop-integration](specs/mcp-desktop-integration/spec.md) | MCP 서버 통합 |
|
|
957
1015
|
| [post-tool-use-hook](specs/post-tool-use-hook/spec.md) | 도구 사용 기록 |
|
|
958
|
-
| [
|
|
959
|
-
| [progressive-disclosure](specs/progressive-disclosure/spec.md) | 토큰 효율화 검색 |
|
|
960
|
-
| [task-entity-system](specs/task-entity-system/spec.md) | Task Entity 관리 |
|
|
961
|
-
| [vector-outbox-v2](specs/vector-outbox-v2/spec.md) | Transactional Outbox |
|
|
1016
|
+
| [endless-mode](specs/endless-mode/spec.md) | 연속 세션 모드 |
|
|
962
1017
|
| [web-viewer-ui](specs/web-viewer-ui/spec.md) | 웹 대시보드 |
|
|
963
1018
|
|
|
964
|
-
## Roadmap
|
|
965
|
-
|
|
966
|
-
### Phase 1: Core (완료)
|
|
967
|
-
- [x] Event Store (SQLite/WAL)
|
|
968
|
-
- [x] Vector Store (LanceDB)
|
|
969
|
-
- [x] Memory Graduation (L0→L4)
|
|
970
|
-
- [x] Evidence Alignment
|
|
971
|
-
- [x] History Import
|
|
972
|
-
|
|
973
|
-
### Phase 2: Advanced Features (진행 중)
|
|
974
|
-
- [x] Citations System
|
|
975
|
-
- [x] Endless Mode service boundary *(experimental extension)*
|
|
976
|
-
- [ ] Entity-Edge Model productization
|
|
977
|
-
- [x] Evidence Aligner V2
|
|
978
|
-
- [x] Private Tags
|
|
979
|
-
|
|
980
|
-
### Phase 3: Integration
|
|
981
|
-
- [x] MCP Desktop Integration *(stdio server bin exists; auto install command pending)*
|
|
982
|
-
- [x] Web Viewer UI
|
|
983
|
-
- [x] PostToolUse Hook
|
|
984
|
-
- [x] Progressive Disclosure
|
|
985
|
-
|
|
986
|
-
### Phase 4: Optimization / Extension Isolation
|
|
987
|
-
- [x] Vector Outbox V2
|
|
988
|
-
- [x] Embedder extension boundary
|
|
989
|
-
- [ ] VectorStore / VectorWorker extension boundary
|
|
990
|
-
- [ ] Task Entity System productization
|
|
991
|
-
- [ ] Performance Tuning
|
|
1019
|
+
## Roadmap / Current State
|
|
992
1020
|
|
|
993
|
-
|
|
1021
|
+
### Completed / shipped
|
|
994
1022
|
|
|
995
|
-
|
|
1023
|
+
- [x] SQLite/WAL Event Store + project registry
|
|
1024
|
+
- [x] LanceDB vector store + local embedding backend
|
|
1025
|
+
- [x] Claude Code hooks, CLI, dashboard
|
|
1026
|
+
- [x] History import for Claude Code, Codex, Hermes
|
|
1027
|
+
- [x] Progressive disclosure, citations, source refs, retrieval traces
|
|
1028
|
+
- [x] MCP server with project-aware context/search/stat tools
|
|
1029
|
+
- [x] Memory Operations layer: facets/actions/frontier/checkpoints/retention/graph/lessons
|
|
1030
|
+
- [x] Perspective Memory P0/P1: actors, actor cards, observations, context lanes, dashboard aggregate stats
|
|
1031
|
+
- [x] Vector Outbox V2: transactional enqueue, versioned upsert, worker lock, stuck recovery, vector-status/dashboard health
|
|
1032
|
+
- [x] Dashboard hardening: localhost default bind, optional password auth, safe error rendering
|
|
1033
|
+
- [x] External Market Context: DART/FRED/Finnhub read-only snapshot + MCP tool
|
|
1034
|
+
|
|
1035
|
+
### Active / experimental
|
|
1036
|
+
|
|
1037
|
+
- [ ] Entity-Edge Model productization beyond diagnostic graph expansion
|
|
1038
|
+
- [ ] Task Entity System broader productization and UX
|
|
1039
|
+
- [ ] Mongo sync operational hardening for multi-server teams
|
|
1040
|
+
- [ ] Endless/shared memory UX and default safety policy
|
|
1041
|
+
- [ ] Retrieval/replay benchmarks for ranking-changing features before default enablement
|
|
1042
|
+
- [ ] Perspective Memory LLM deriver/specialists broader production rollout (currently opt-in/guarded)
|
|
996
1043
|
|
|
997
1044
|
## External Market Context (DART/FRED/Finnhub)
|
|
998
1045
|
|
|
@@ -1033,3 +1080,7 @@ Security and behavior:
|
|
|
1033
1080
|
- `watchlist` and `followUpQuestions`
|
|
1034
1081
|
|
|
1035
1082
|
The Markdown report includes a `### MarketContextSnapshot` section with **Bull case**, **Bear case**, **Risks**, and **Catalysts**. DART analysis uses all fetched filings; only the rendered filing list is truncated. If `dartCorpCode` is omitted, company-name fallback is marked low-confidence, so exact DART corp codes are recommended for customer-facing analysis.
|
|
1083
|
+
|
|
1084
|
+
## License
|
|
1085
|
+
|
|
1086
|
+
MIT
|