error-path-analysislisted
Install: claude install-skill SONGYEONGSIN/vibe-flow
# Error Path Analysis
구현된 코드를 기반으로 유저가 에러를 만났을 때의 경험을 체계적으로 진단한다.
**핵심 관점**: "인프라 resilience"도 "코드 품질"도 아닌, **유저가 에러를 만났을 때의 경험**.
5-Phase: Dependency Mapping → Failure Enumeration → Handling Audit → UX Gap → Report
---
## Phase 1: Dependency Mapping
유저 액션별 외부 의존성을 역추적한다.
### 1-1. 프로젝트 구조 스캔
```bash
# 라우트/페이지 파악
find . -type f \( -name "*.tsx" -o -name "*.ts" \) | grep -E "(page|route|api)" | head -50
# API 호출 패턴 탐색
grep -r "fetch\|axios\|supabase\|prisma\|trpc" --include="*.ts" --include="*.tsx" -l
```
### 1-2. 유저 액션별 의존성 매핑 테이블
| 유저 액션 | 트리거 컴포넌트 | 외부 의존성 | 의존성 유형 |
|----------|--------------|------------|------------|
| 로그인 | `LoginForm` | Supabase Auth | 인증 |
| 파일 업로드 | `FileUpload` | Storage API | 파일 시스템 |
| 결제 | `CheckoutForm` | Stripe | 결제 |
| 데이터 조회 | `DataTable` | REST API | HTTP |
**의존성 유형 분류**: 인증 / 데이터 API(REST·GraphQL·tRPC) / 파일 / 결제 / 실시간(WebSocket·SSE) / 외부 서비스(이메일·SMS·AI) / 브라우저 API(Clipboard·Camera·Geolocation) / 인프라(CDN·이미지 서버)
---
## Phase 2: Failure Enumeration
Phase 1에서 식별된 각 의존성에 대해 실패 시나리오를 체계적으로 열거한다.
### 내장 실패 시나리오 카탈로그
#### HTTP / REST API
| 시나리오 | 상태코드 | 발생 빈도 |
|---------|---------|----------|
| 네트워크 단절 | `TypeError: Failed to fetch` | 높음 |
| 요청 타임아웃 | timeout / 504 | 중간 |
| 서버 에러 | 500, 502, 503 | 낮음 |
| 클라이언트 에러 | 400 Bad Request | 높음 |
| 인증 만료 | 401 Unauthorized | 높음 |
| 권한 없음 | 403 Forbidden | 중간 |
| 리소스 없음 | 404 Not Found | 중간 |
| Rate Limit 초과 | 429 Too Many Requests | 낮음 |
| CORS 차단 | CORS error | 낮음 |
#### 인증
| 시나리오 | 트리거