---
name: review
description: 최근 코드 변경사항을 CLAUDE.md 규칙 기준으로 리뷰합니다.
disable-model-invocation: true
context: fork
agent: code-reviewer
---

## 코드 리뷰

최근 변경사항을 CLAUDE.md의 핵심 구현 규칙 기준으로 리뷰하세요.

### 리뷰 범위

변경된 파일 확인:
!`git diff --name-only HEAD~1 2>/dev/null || echo "git diff 불가 - 전체 파일 리뷰"`

### 리뷰 기준 (CLAUDE.md에서 발췌)

**보안:**
- Path traversal 방어 (path.resolve + 허용 디렉토리 검증)
- 업로드 MIME + FFprobe 검증
- CORS 설정

**메모리:**
- URL.createObjectURL → revokeObjectURL 쌍
- Canvas 재사용
- hls.js backBufferLength: 30

**성능:**
- timeupdate 직접 DOM 조작 금지
- requestAnimationFrame/requestVideoFrameCallback 사용
- 이진 탐색 O(log n)

**패턴 준수:**
- Range Request: createReadStream + pipeline
- FFmpeg: child_process.spawn 래퍼
- Video.js: ref + useEffect 패턴

피드백을 Critical / Warning / Suggestion 으로 분류하세요.
