5de6843603
Created formal decision request documents for 3 highest-impact blockers: 1. AEG-X-038: Fee/Tax/FX Schedule Temporal Model - Decision owner: Ops/Tax/Compliance/Owner - Required: 5 specific decisions (source, temporal, precedence, FX scope, ops control) - Blocks: Financial features (cost basis, rebalancing) - Deadline: 2026-08-21 2. AEG-VS-05-01: Fundamentals PIT Contract - Decision owner: PM/Architect/Compliance - Required: 3 specific decisions (data scope, source, PIT model) - Blocks: Financial analysis baseline, Gate G1 - Deadline: 2026-08-21 3. V13-FE-038: DataGrid Performance Budget - Decision owner: FE/SRE/QA - Required: 3 decision areas (performance metrics, browser matrix, test fixtures) - Blocks: Production validation, 10k/100k scale testing - Deadline: 2026-08-21 - Current: >500 kB chunk warning, 42.7% reduction achieved Each document: - Clearly states the problem/uncertainty - Enumerates specific decisions needed - Provides structured answer format - Links to blocking WBS items - Sets realistic deadline (1 week) AGENTS.md compliance: Necessity-driven (all 3 items block major features), Traceability (decision links to WBS), Right Way (formal approval process). Status: Ready for stakeholder review/approval Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
189 lines
4.4 KiB
Markdown
189 lines
4.4 KiB
Markdown
# 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: 선택적 무시 또는 추가 청크 분할 필요
|