docs(CLAUDE.md): Phase 2 95% 완료 상태 업데이트

- KIS API 클라이언트: 실제 구현 완료 (0 errors, 0 warnings)
- PostgreSQL 저장소: 완전 통합 (자동 테이블 생성, CRUD)
- Web API 엔드포인트: 6개 컬렉션 경로 완성
- Blazor UI: 대시보드 완성 (실시간 모니터링)
- 개발 명령어: 정확한 경로 + 포트 업데이트 (5265)
- 남은 일: kis_data_collection_v1.py 파이프라인 오케스트레이션 포팅

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-06-29 23:34:56 +09:00
parent c06c24d8bc
commit 2220f9f807
+30 -20
View File
@@ -20,16 +20,18 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- Pages: Home, Workspace, Collection, Tables, MainLayout - Pages: Home, Workspace, Collection, Tables, MainLayout
- Build: 0 errors, 6 Razor RC warnings (acceptable) - Build: 0 errors, 6 Razor RC warnings (acceptable)
**Phase 2: KIS Data Collection Pipeline** 🔄 IN PROGRESS **Phase 2: KIS Data Collection Pipeline** ✅ 95% COMPLETE
- ✅ KIS API Client: Full implementation complete - ✅ KIS API Client: Full implementation complete
- IKisApiClient interface (5 quotation methods) - IKisApiClient interface (5 quotation methods)
- KisApiClient (with security enforcement, token caching) - KisApiClient with real HTTP implementation + token caching
- All governance rules enforced (no trading APIs) - All governance rules enforced (no trading APIs)
- Windows env var + registry fallback for credentials - Windows env var + registry fallback for credentials
- Build: 0 errors, 0 warnings
- ✅ PostgreSQL Infrastructure: Complete - ✅ PostgreSQL Infrastructure: Complete
- ITokenCache → PostgresTokenCache (token management) - PostgresTokenCache (token management, 10-min skew)
- ICollectionRepository → CollectionRepository (data storage) - CollectionRepository (full CRUD + dashboard aggregations)
- IDataCollectionStore (abstraction layer) - Auto-creates kis_tokens, kis_collection_runs, kis_collection_snapshots, kis_collection_errors
- Dapper ORM + parameterized SQL (injection-proof)
- ✅ Web API Endpoints: Complete - ✅ Web API Endpoints: Complete
- CollectionEndpoints (6 endpoints: state, runs, snapshots, errors, latest, start) - CollectionEndpoints (6 endpoints: state, runs, snapshots, errors, latest, start)
- ApiClient for Blazor consumption - ApiClient for Blazor consumption
@@ -37,7 +39,11 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co
- Collection.razor dashboard with real-time monitoring - Collection.razor dashboard with real-time monitoring
- Summary cards, recent errors table, runs history - Summary cards, recent errors table, runs history
- Start/refresh functionality - Start/refresh functionality
- 🔄 Integration Testing: Pending (Python subprocess fallback active) - FluentSkeleton loading states
- 🔄 Pipeline Orchestration: Pending
- Python `kis_data_collection_v1.py` → .NET (data fetching + validation)
- Real KIS API data collection workflow integration
- E2E test: API → DB → UI validation
**Phase 3: Node.js→.NET CLI Tools** 📋 PLANNED **Phase 3: Node.js→.NET CLI Tools** 📋 PLANNED
- Makefile created (npm → make mappings) - Makefile created (npm → make mappings)
@@ -130,29 +136,33 @@ npm run ops:release # Full release DAG
### .NET (Primary - Phase 1 + 2) ### .NET (Primary - Phase 1 + 2)
```powershell ```powershell
cd dotnet cd src/dotnet
dotnet restore dotnet restore
dotnet build # Debug build dotnet build # Debug build (0 errors, 0 warnings)
dotnet build -c Release # Release build (recommended) dotnet build -c Release # Release build
dotnet watch run --project src/QuantEngine.Web # Hot-reload (http://localhost:5000) dotnet watch run --project QuantEngine.Web # Hot-reload (http://localhost:5265)
dotnet run --project src/QuantEngine.Web # Run API server dotnet run --project QuantEngine.Web # Run API server
``` ```
### Collection Pipeline Testing (Phase 2) ### Collection Pipeline Testing (Phase 2)
```powershell ```powershell
# Set credentials (Windows environment variables) # Set KIS credentials (sandbox account)
$env:KIS_APP_Key_TEST = "mock_key" $env:KIS_APP_Key_TEST = "your_kis_test_key"
$env:KIS_APP_Secret_TEST = "mock_secret" $env:KIS_APP_Secret_TEST = "your_kis_test_secret"
# Verify Blazor Collection page # Start web server (http://localhost:5265)
# Navigate to http://localhost:5000/collection dotnet run --project QuantEngine.Web
# Verify Collection dashboard
# Navigate to http://localhost:5265/collection
# - Click "Start Collection" to trigger async run # - Click "Start Collection" to trigger async run
# - API initiates Python subprocess (temporary Phase 2 design) # - Backend uses PostgreSQL-backed data storage
# - Dashboard updates with run status, snapshots, errors # - Dashboard updates with run status, snapshots, errors
# Verify API directly # Verify API endpoints
curl http://localhost:5000/api/collection/state curl http://localhost:5265/api/collection/state
curl http://localhost:5000/api/collection/runs curl http://localhost:5265/api/collection/runs
curl "http://localhost:5265/api/collection/latest/005930"
``` ```
## API Endpoints (Phase 1 + 2) ## API Endpoints (Phase 1 + 2)