# 프로젝트 목표
> 최종 업데이트: 2025-11-14
## 🎯 주요 목표 (Project Major Goals)
### 1. ✅ **검증 우선 (Validation First)** - 최우선 목표
**"검증을 어떻게 할 것인가?"가 모든 개발의 시작점입니다.**
#### 핵심 질문
> 🎯 **"이 기능을 어떻게 검증할 것인가?"**
>
> 코드를 작성하기 전에 검증 방법부터 정의합니다.
#### 검증 5단계
1. **타입 검증**: ✅ Zod를 통한 런타임 타입 검증 (Front Matter, MCP 프로토콜) - **95% 달성**
2. **단위 테스트**: 개별 함수/클래스 동작 검증
- **전체 커버리지: 현재 ~53%** (목표: 60%+ 전체, 80%+ 핵심 기능)
- 핵심 기능 (MCP 툴): **85% 달성** ✅
3. **통합 테스트**: ✅ 패키지 간 상호작용 검증 - **주요 경로 검증 완료**
4. **E2E 테스트**: ✅ MCP 프로토콜을 통한 전체 시스템 검증 - **13개 테스트 통과**
5. **성능/보안 검증**:
- 성능: ✅ **P95 0-1ms** (목표 120ms 대비 120배 초과 달성)
- 보안: ✅ **민감정보 마스킹 테스트 21개, 원자적 쓰기 테스트 15개** (v0.0.2+)
#### 검증 원칙 (v0.0.2+ 강화)
- ⚠️ **Validation for Critical Path**: 핵심 기능은 반드시 검증 (v0.0.1: 85% 달성)
- ✅ **Test First for New Features**: 새 기능은 TDD - 테스트를 먼저 작성
- ✅ **Automate Everything**: 모든 검증은 자동화 (CI/CD 파이프라인)
- ✅ **Never Skip Failures**: CI 실패 시 우회 금지, 즉시 수정
- 🎯 **목표**: 전체 코드 "No Validation, No Code" 달성 (현재: 핵심 경로만)
#### 상세 문서
📖 **[VALIDATION_STRATEGY.md](./VALIDATION_STRATEGY.md)** - 검증 전략 및 구체적인 방법론
---
### 2. **Local-first, Markdown 기반 퍼시스턴트 메모리**
사용자의 로컬 디스크에 Markdown(+YAML Front Matter)로 저장하며, 편집/버전관리/백업이 쉬운 구조.
### 3. **PARA + Zettelkasten 통합**
PARA로 상위 분류(Projects/Areas/Resources/Archives), ZK로 UID/양방향 링크/백링크를 통한 지식 그래프 구축.
### 4. **Olima 연상 엔진**
세션/주제 문맥을 반영한 연상 검색과 자동 추천(related notes, 최근 맥락 기반 리랭킹).
### 5. **고성능 검색**
SQLite FTS5 기반 전문 검색 + 링크 그래프 탐색(초기) → 임베딩 유사도 검색(확장).
### 6. **MCP 표준 서버/CLI**
`npx`로 즉시 실행 가능, Claude 등 MCP 호환 에이전트와 무설정 연동.
### 7. **안전성과 투명성**
원자적 파일쓰기, 민감정보 마스킹, 감사 가능한 구조적 로그.
### 8. **배포/운영 용이성**
npm 패키지/도커 이미지 제공, 단일 설정파일(.yaml/.json)과 환경변수 병합.
### 9. **확장성**
모듈화(저장소/인덱스/연상/인터페이스), Rust 가속 가능 구조, 임베딩/분산 인덱스 플러그인 슬롯.
## ⏱ 마일스톤(초안)
- **M1(2주)**: 저장소/스키마/CRUD MCP, 파일 워처, 기본 로그
- **M2(2주)**: FTS 인덱싱/검색, 링크 그래프, 쿼리 필터
- **M3(2주)**: Olima 연상엔진(리랭킹/추천), 세션 문맥
- **M4(1주)**: 배포(npm/Docker), 문서/샘플, QA/벤치
## 📈 성공 지표(KPIs)
- 검색 P95 < **120ms** (1만 노트/로컬)
- 증분 색인 < **3초**, 전체 색인(1만 파일) < **5분**
- 부팅 후 인덱스 준비 < **8초**
- 데이터 손실 0(원자적 쓰기/리커버리)
- 민감정보 마스킹 정탐율 **> 95%**