# V13-FE-038: 그리드 성능 기준 승인 요청

**WBS Item:** V13-FE-038  
**Status:** ⏳ IN_PROGRESS → DECISION_REQUIRED  
**Decision Owner:** FE Lead/SRE/QA  
**Blocks:** DataGrid production validation, 10k/100k fixture deployment, Performance SLO claim  
**Impact:** 성능 예산 미정, 브라우저 환경 보장 불가, 규모 검증 불가  

---

## 현재 상태

**문제:**
- AG Grid 번들 크기: 1,027,848 → 588,718 bytes (44% 감소)
- Vite 경고: >500 kB 청크 여전히 존재
- 성능 예산: **미정**
- 브라우저 매트릭스: **미정**

**구현 완료:**
- ✅ ClientSideRowModelModule 전환 (AllCommunityModule 제거)
- ✅ 청크 최적화 2회 시도 (추가 감소 없음)
- ✅ 로컬 빌드 검증

**검증 필요:**
- ⏳ 10k 행 × 100개 열 성능 정의
- ⏳ 브라우저 호환성 행렬
- ⏳ P95/P99 응답 시간 목표

---

## 필요한 3가지 결정

### 1️⃣ 성능 예산 (Performance Budget)

**결정:** 그리드 성능의 정량적 기준 정의

```
현재 상태:
✅ 개발 서버: 즉시 렌더링 (10k 행)
⏳ 프로덕션 빌드: >500kB 청크 경고 (최적화 여지 있음?)
⏳ 네트워크: P95 load time (필요 명시)
⏳ CPU: Long task 예산 (필요 명시)

Required decisions:
✅ 초기 로드 시간: [ ] ms (P95)
✅ Scroll 응답성: [ ] ms (첫 픽셀까지)
✅ 필터/정렬: [ ] ms (사용자 액션 → 결과)
✅ Long task 예산: [ ] ms (메인 스레드 블로킹)
✅ 메모리 한계: [ ] MB (모바일 고려)
```

### 2️⃣ 브라우저 매트릭스 (Browser Matrix)

**결정:** 지원 브라우저 및 버전 정의

```
Current matrix (추정):
- Chrome 120+
- Firefox 121+
- Safari 17+
- Edge 120+

Questions:
✅ 모바일 우선? (iOS Safari 버전)
✅ IE/Legacy 지원? (No로 가정)
✅ 태블릿 밀도: [ ] (compact/comfortable/touch)
✅ 네트워크 환경: [ ] (4G/5G/LTE)
✅ 디바이스 범주: [ ] (desktop/tablet/mobile)

Associated metrics:
- 각 브라우저별 Long task 제한
- 모바일 장치 성능 분류 (기본/중급/고급)
- 폴백 UI (성능 저하 시)
```

### 3️⃣ 10k/100k 테스트 환경 (Fixture Definition)

**결정:** 성능 검증을 위한 테스트 데이터 및 서버 자원

```
10k rows × 100 columns fixture:
✅ 데이터 구조: [스키마 정의]
✅ 컬럼 타입: [숫자/문자열/날짜 혼합]
✅ 행 크기: [ ] KB (직렬화)
✅ 정렬 전략: [ ] (쿼리 기반/클라이언트 기반)
✅ 필터 전략: [ ] (서버 사이드/클라이언트)

100k rows fixture:
✅ 데이터 소스: [ ] (synthetic/production shadow)
✅ 서버 인프라: [ ] (t3.large? c5.xlarge?)
✅ 실행 반복: [ ] (single/multiple/stress)
✅ 네트워크 시뮬레이션: [ ] (none/throttle/WAN)

Checksum & versioning:
✅ 기준선 애티팩트 SHA-256: [ ]
✅ 변경 추적: [ ] (git lfs? S3?)
✅ 재현성: [ ] (고정 seed, 리소스 고정)
```

---

## 제출 형식

**승인자는 다음 정보 제공:**

### 1. Performance Budget Definition
```yaml
Initial Load:
  P95 ms: [ ]
  Devices: [ ]
  Network: [ ]

Interactivity:
  First Paint: [ ] ms
  First Contentful Paint: [ ] ms

Scrolling:
  Long Task Budget: [ ] ms
  Frame Budget: 16ms (60fps)

Memory:
  Max Heap (Mobile): [ ] MB
  Max Heap (Desktop): [ ] MB
```

### 2. Browser Support Matrix
```csv
Browser,Min Version,Mobile,Tablet
Chrome,120,,
Firefox,121,,
Safari,17,,
Edge,120,,
```

### 3. Test Fixture Spec
```
10k Fixture:
- Schema: [link]
- Row size: [ ] KB
- Sorting: [ ]
- Filtering: [ ]

100k Fixture:
- Source: [ ]
- Server size: [ ]
- Runs: [ ]
- Checksum: [ ]
```

---

## 의존성

- **Blocks:** V13-FE-004/023 (AG Grid 완성), 프로덕션 배포
- **Related:** V13-FE-038 (이 항목), 성능 모니터링, RUM (Real User Monitoring)
- **Prerequisite:** AG Grid 라이선스 검증, 서버 자원 예약

---

## 현재 번들 상태

```
Before: 1,027,848 bytes
After:  588,718 bytes
Saved:  439,130 bytes (42.7%)

Gzip compression:
Before: 285.75 kB
After:  163.66 kB
Saved:  122.09 kB (42.7%)

Vite warning still present: >500 kB chunk detected
  Action needed: Further investigation or explicit acceptance
```

---

**제출 기한:** 2026-08-21 (1주)  
**승인자:** FE Lead, SRE Lead, QA Lead  
**Escalation:** Engineering Director (성능 SLO 최종 결정)

---

## 참고

- AEG-X-002: Frontend build optimization (completed, established baseline)
- V13-FE-023: AG Grid server-side contract (in progress)
- Vite >500kB warning: 선택적 무시 또는 추가 청크 분할 필요
