docs: SSOT 문서 허브 도입 및 동기화 자동 검증 게이트 (#350)
문서 중복·드리프트를 구조적으로 방지하기 위해 SSOT 원칙을 문서 체계에 적용한다. 신규: - docs/README.md: 문서 라우팅/역할/읽기 순서/SSOT 정의 (상대경로 링크) - scripts/validate_docs_sync.py: 가변 수치 하드코딩 금지 + 누락 엔드포인트 검사 수정: - CLAUDE.md: 문서 진입점 추가, SmartScanner 세부 동작 → architecture.md 링크 - README.md: 문서 네비게이션 섹션 추가, 고정 수치/파일별 케이스 수 제거 - docs/commands.md: validate_docs_sync.py 명령 추가; 중복 엔드포인트 2행 제거 - docs/testing.md: 테스트 총량 고정값 → pytest --collect-only -q 동적 확인으로 전환 - docs/ouroboros/82_doc_restructure_plan.md: draft → active, 실행 현황으로 전환 - .gitea/PULL_REQUEST_TEMPLATE.md: Docs Sync 체크리스트 추가 - .gitea/workflows/ci.yml + .github/workflows/ci.yml: validate_docs_sync 단계 추가 검증: - python3 scripts/validate_docs_sync.py: PASS Closes #350
This commit is contained in:
25
README.md
25
README.md
@@ -2,6 +2,10 @@
|
||||
|
||||
KIS(한국투자증권) API로 매매하고, Google Gemini로 판단하며, 자체 전략 코드를 TDD 기반으로 진화시키는 자율 주식 트레이딩 에이전트.
|
||||
|
||||
## 문서 네비게이션
|
||||
|
||||
문서 전체 라우팅/역할/우선순위는 [docs/README.md](docs/README.md)를 기준으로 본다.
|
||||
|
||||
## 아키텍처
|
||||
|
||||
```
|
||||
@@ -39,7 +43,7 @@ KIS(한국투자증권) API로 매매하고, Google Gemini로 판단하며, 자
|
||||
| 컨텍스트 | `src/context/` | L1-L7 계층형 메모리 시스템 |
|
||||
| 분석 | `src/analysis/` | RSI, ATR, Smart Volatility Scanner |
|
||||
| 알림 | `src/notifications/` | 텔레그램 양방향 (알림 + 9개 명령어) |
|
||||
| 대시보드 | `src/dashboard/` | FastAPI 읽기 전용 모니터링 (10개 API) |
|
||||
| 대시보드 | `src/dashboard/` | FastAPI 읽기 전용 모니터링 (엔드포인트 목록은 `docs/commands.md`) |
|
||||
| 진화 | `src/evolution/` | 전략 진화 + Daily Review + Scorecard |
|
||||
| 의사결정 로그 | `src/logging/` | 전체 거래 결정 감사 추적 |
|
||||
| 데이터 | `src/data/` | 뉴스, 시장 데이터, 경제 캘린더 연동 |
|
||||
@@ -153,19 +157,10 @@ docker compose up -d ouroboros
|
||||
|
||||
## 테스트
|
||||
|
||||
998개 테스트가 41개 파일에 걸쳐 구현되어 있습니다. 최소 커버리지 80%.
|
||||
테스트 정책/실행/구성은 [docs/testing.md](docs/testing.md)를 기준으로 한다.
|
||||
|
||||
```
|
||||
tests/test_main.py — 거래 루프 통합
|
||||
tests/test_scenario_engine.py — 시나리오 매칭
|
||||
tests/test_pre_market_planner.py — 플레이북 생성
|
||||
tests/test_overseas_broker.py — 해외 브로커
|
||||
tests/test_telegram_commands.py — 텔레그램 명령어
|
||||
tests/test_telegram.py — 텔레그램 알림
|
||||
... 외 35개 파일 ※ 파일별 수치는 CI 기준으로 변동 가능
|
||||
```
|
||||
|
||||
**상세**: [docs/testing.md](docs/testing.md)
|
||||
- 최소 커버리지: 80%
|
||||
- 전체 수집 기준: `pytest --collect-only -q`
|
||||
|
||||
## 기술 스택
|
||||
|
||||
@@ -174,7 +169,7 @@ tests/test_telegram.py — 텔레그램 알림
|
||||
- **AI**: Google Gemini Pro
|
||||
- **DB**: SQLite (5개 테이블: trades, contexts, decision_logs, playbooks, context_metadata)
|
||||
- **대시보드**: FastAPI + uvicorn
|
||||
- **검증**: pytest + coverage (998 tests)
|
||||
- **검증**: pytest + coverage (`docs/testing.md` 기준)
|
||||
- **CI/CD**: Gitea CI (`.gitea/workflows/ci.yml`)
|
||||
- **배포**: Docker + Docker Compose
|
||||
|
||||
@@ -209,7 +204,7 @@ The-Ouroboros/
|
||||
│ ├── config.py # Pydantic 설정
|
||||
│ ├── db.py # SQLite 데이터베이스
|
||||
│ └── main.py # 비동기 거래 루프
|
||||
├── tests/ # 998개 테스트 (41개 파일)
|
||||
├── tests/ # 테스트 스위트 (세부는 docs/testing.md 참조)
|
||||
├── Dockerfile # 멀티스테이지 빌드
|
||||
├── docker-compose.yml # 서비스 오케스트레이션
|
||||
└── pyproject.toml # 의존성 및 도구 설정
|
||||
|
||||
Reference in New Issue
Block a user