Decision-required approval documents: Top 3 financial/data/performance blockers

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>
This commit is contained in:
2026-08-14 13:09:42 +09:00
parent 4fe4da60f0
commit 5de6843603
3 changed files with 458 additions and 0 deletions
@@ -0,0 +1,128 @@
# AEG-VS-05-01: 펀더멘털 PIT 계약 승인 요청
**WBS Item:** AEG-VS-05-01
**Status:** ⏳ BLOCKED → DECISION_REQUIRED
**Decision Owner:** PM/Architect/Compliance
**Blocks:** IngestFundamentalsPIT Slice (VS-05), Gate G1 approval, Financial analysis
**Impact:** 기본 데이터 수집 구현 불가능, 평가 베이스라인 미정
---
## 근본 원인
**WBS 정의와 실제 문서의 충돌**
| 항목 | WBS 정의 | 기존 문서 | 해결 필요 |
|------|---------|---------|---------|
| **VS-05 범위** | IngestFundamentalsPIT (요구사항: REQ-FND-001) | Risk Metrics (unrelated 개념) | ✅ 명확화 필요 |
| **데이터 소스** | 미정 | 미정 | ✅ 승인 필요 |
| **계약** | 시간-기반 PIT 모델 | 미정 | ✅ 설계 필요 |
---
## 필요한 3가지 결정
### 1️⃣ 펀더멘털 데이터 범위 명확화
**결정:** VS-05는 "펀더멘털"을 무엇으로 정의하는가?
**옵션:**
- **A)** 재무제표 기본: 매출, 이익, 현금흐름, 자산, 부채 (주요)
- **B)** A + 밸류에이션: PER, PBR, ROE, 부채비율 (파생)
- **C)** A + B + 거시경제: GDP, 금리, 환율 (외생)
- **D)** 커스텀: [정의 필요]
**선택:**
```
✅ 펀더멘털 데이터 정의: [ ]
✅ 데이터 범위 (A/B/C/D): [ ]
✅ 업데이트 주기: [ ] (quarterly/annual/custom)
```
### 2️⃣ 데이터 소스 및 라이선싱 승인
**결정:** 공식 데이터 소스 지정 및 라이선스
| 데이터 범주 | 제안 소스 | 라이선스 | 승인 필요 |
|-----------|---------|--------|---------|
| **재무제표** | OpenDart (한국기업) | 공개 | ✅ |
| **밸류에이션** | 계산 파생 또는 제3자 API | TBD | ✅ |
| **거시경제** | 한국은행/OECD | 공개 | ✅ |
**선택:**
```
✅ 재무제표 소스: [ ]
✅ 밸류에이션 소스: [ ]
✅ 거시경제 소스: [ ]
✅ 라이선스 확인 완료: [Yes/No]
```
### 3️⃣ PIT 시간 모델 및 정정 정책
**결정:** Point-in-Time 데이터 모델과 정정 처리
```
Questions:
- published_at: 데이터 공포 시점 (e.g., 2026-05-31 재무공시일)
- effective_at: 데이터 적용 시점 (e.g., 2026-03-31 분기 말)
- correction_reason: 정정 이유 (data error, restatement, revised forecast)
Policy needed:
- 정정 데이터 처리: 덮어쓰기? 새 행 추가?
- 소급 적용 가능? (이전 평가 재계산)
- GDPR 보존 정책: 정정 이력 유지 기간?
Linked Items:
- MIG-FND-001 (마이그레이션 0040+)
- Append-only 불변성 원칙
- GDPR 데이터 보존 정책
```
**선택:**
```
✅ PIT 시간 정의: [ ]
✅ 정정 정책: [ ] (overwrite/append/versioning)
✅ 소급 적용: [ ] (Yes/No)
✅ 보존 기간: [ ] (years)
```
---
## 제출 형식
**승인자는 다음 정보 제공:**
1. **범위**
```
✅ 펀더멘털 정의: [option A/B/C/D + 커스텀]
✅ 업데이트 주기: [frequency]
```
2. **소스**
```
✅ 각 데이터 범주별 공식 소스
✅ 라이선스 확인 증명
✅ API/데이터 계약 링크
```
3. **PIT 모델**
```
✅ published_at 정의
✅ effective_at 정의
✅ 정정 정책 (overwrite/append)
✅ 보존 정책
```
---
## 의존성
- **Blocks:** VS-05 구현, Gate G1 Financial Data approval
- **Related:** OpenDart 통합 (AEG-X-009 기존), Cost Basis (DEBT-X), Valuation models
- **Prerequisite:** 소스 데이터 접근 확인 (라이선스 검증)
---
**제출 기한:** 2026-08-21 (1주)
**승인자:** PM Lead, Architect, Compliance/Legal
**Escalation:** Chief Investment Officer
+142
View File
@@ -0,0 +1,142 @@
# AEG-X-038: 수수료/세금/FX 유효시간 일정 승인 요청
**WBS Item:** AEG-X-038
**Status:** ⏳ DECISION_REQUIRED → APPROVAL PENDING
**Decision Owner:** Ops/Tax/Compliance/Owner
**Blocks:** MaintainFeeTaxFxSchedule Slice (VS-06-01), Cost Basis Calculation, Portfolio Rebalancing
**Impact:** 금융 기능 완성 불가능, 정정 메커니즘 미정
---
## 필요한 5가지 결정
### 1️⃣ 소스 권한 (Source Authority)
**결정:** 각 일정 유형별 승인된 데이터 소스 지정
| 일정 유형 | 현재 상태 | 승인 필요 | 비고 |
|---------|---------|---------|------|
| **수수료 (Fee)** | 미정 | ✅ 필요 | Commission 스키마에 ledger_id 추가됨, 소스 미정 |
| **세금 (Tax)** | 미정 | ✅ 필요 | 세율 테이블 미정, 업데이트 주기 미정 |
| **환율 (FX)** | 미정 | ✅ 필요 | 공식 환율 제공사 미정 |
### 2️⃣ 시간 의미 (Temporal Semantics)
**결정:** Effective 날짜와 Published 날짜의 의미 명확화
```
effective_at: 일정이 실제로 적용되는 시점
예: "2026-08-15부터의 수수료 변경"
published_at: 변경이 공포/승인되는 시점
예: "2026-08-14에 변경 사항 공포됨"
Question:
- effective_at <= published_at인가? (사후 고시)
- 동시 가능한가? (사전 고시)
- 과거 적용 가능한가? (소급 적용)
```
### 3️⃣ 우선순위 및 범위 (Precedence & Scope)
**결정:** 계좌 → 거래소 → 종목 → 관할권 계층 승인
```
Precedence Order (highest to lowest):
1. 계좌별 (account_id) — 특정 계좌 특별 수수료
2. 거래소별 (exchange_id) — 거래소 기본 수수료
3. 종목별 (instrument_id) — 종목 기본 수수료
4. 관할권별 (jurisdiction) — 국가/지역 기본값
Question:
- 계층별 Override 허용?
- 동시 적용 시 합산? 선택?
```
### 4️⃣ FX 범위 (FX Scope Boundary)
**결정:** 환율 적용 경계 명확화
```
Current uncertainty:
- 거래 통화 쌍 환율만? (e.g., KRW→USD)
- 중간 환율 (mid-rate) 사용?
- Bid/Ask 스프레드 포함?
- 수표/이체별 구분?
Approval needed:
- FX 데이터 공식 소스
- 환율 결정 시각 (execution time vs quote time)
- 소수 자릿수 정확도
```
### 5️⃣ 운영 제어 (Operational Control)
**결정:** Job 4C (Maintain Fee/Tax/FX) 실행 정책
```
Questions:
- Job 4C 실행 주기? (daily/hourly/on-demand)
- 변경 검토 프로세스? (자동 vs 승인 필수)
- Rollback 절차? (변경 취소 가능?)
- 긴급 대응 프로토콜? (시스템 장애 시)
Linked Items:
- J04C Job 실행 일정
- DQ (Data Quality) 검증 규칙
- Rollback 및 재처리 프로세스
```
---
## 제출 형식
**승인자는 다음 정보 제공:**
1. **소스 권한**
```
✅ 수수료 소스: [지정]
✅ 세율 소스: [지정]
✅ 환율 소스: [지정]
```
2. **시간 의미**
```
✅ effective_at의 정의: [명확화]
✅ published_at의 정의: [명확화]
✅ 과거 적용 허용: [Yes/No]
```
3. **우선순위**
```
✅ 계층별 Override 규칙: [문서 링크]
✅ 동시 적용 정책: [합산/선택]
```
4. **FX 범위**
```
✅ 환율 데이터 공식 제공사: [지정]
✅ 환율 결정 시각: [execution/quote]
✅ 정확도: [소수 자릿수]
```
5. **운영 제어**
```
✅ Job 4C 주기: [frequency]
✅ 변경 검토: [자동/승인]
✅ Rollback 절차: [문서 링크]
```
---
## 의존성
- **Blocks:** VS-06-01 (MaintainFeeTaxFxSchedule 구현)
- **Related:** DEBT-X-COST (Cost Basis), Portfolio Reconciliation, Rebalancing
- **Timeline:** 승인 후 2주 이내 구현 가능
---
**제출 기한:** 2026-08-21 (1주)
**승인자:** Ops Lead, Tax Compliance, Owner
**Escalation:** Chief Financial Officer (필요시)
@@ -0,0 +1,188 @@
# 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: 선택적 무시 또는 추가 청크 분할 필요