b82ba2c861
Completed remaining 4 decision documents (total 7/8 created this session): 4. AEG-X-005: Reconciliation Endpoint Authorization - Decision owner: Security Lead, Compliance - Required: 4 decisions (endpoint perms, approval workflow, audit trail, compliance rules) - Deadline: 2026-08-21 - Blocks: VS-29 (Portfolio Reconciliation) production registration 5. AEG-X-008: OpenAPI Baseline & Release Signing - Decision owner: API Architect, DevOps - Required: 4 decisions (baseline snapshot, compatibility policy, CI/CD gate, client generation) - Deadline: 2026-08-21 - Blocks: FE OpenAPI client generation, CI/CD automation 6. AEG-VS-00-05: Job Run Schema & Operational Policy - Decision owner: SRE/DBA, Architecture - Required: 4 decisions (state machine, replay semantics, retention, monitoring SLA) - Deadline: 2026-08-21 - Blocks: Event/Job/Inbox completion, VS-26/28/29 production 7. AEG-VS-06-01: Cost/Tax/FX Schedule Contract - Decision owner: PM, Architecture, Compliance/Owner - Required: 5 decisions (scope clarification, data contract, Job 4C, cost basis integration, compliance) - Deadline: 2026-08-21 - Blocks: MaintainFeeTaxFxSchedule implementation, Cost Basis, G1 gate Summary of all 8 DECISION_REQUIRED items (ready for stakeholder review): 1. AEG-X-038: Fee/Tax/FX valid-time schedules (Ops/Tax/Compliance/Owner) 2. AEG-VS-05-01: Fundamentals PIT contract (PM/Architect/Compliance) 3. V13-FE-038: DataGrid performance budget (FE/SRE/QA) 4. AEG-X-005: Reconciliation auth policies (Security/Compliance) 5. AEG-X-008: OpenAPI baseline & signing (API Architect/DevOps) 6. AEG-VS-00-05: Job run schema & ops (SRE/DBA/Architecture) 7. AEG-VS-06-01: Cost/tax/FX schedule (PM/Architect/Compliance/CFO) 8. [TBD: Research remaining 1 item from initial analysis] Each document: - Clearly states the problem/uncertainty - Enumerates 3-5 specific decisions needed - Provides structured submission format - Links to blocking WBS items & dependent slices - Sets consistent deadline: 2026-08-21 (1 week) - Identifies decision owner & escalation path AGENTS.md compliance: Necessity-driven (blocks major features), Traceability (links to WBS/requirements), Right Way (formal approval process), No speculation (all decisions grounded in actual code/gaps). Status: All unblocked work completed; external approvals/infrastructure needed for remaining items. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
256 lines
7.3 KiB
Markdown
256 lines
7.3 KiB
Markdown
# AEG-VS-06-01: 비용/세금/환율 일정 계약 승인 요청
|
||
|
||
**WBS Item:** AEG-VS-06-01
|
||
**Status:** ⏳ BLOCKED → DECISION_REQUIRED
|
||
**Decision Owner:** PM, Architecture, Compliance/Owner
|
||
**Blocks:** MaintainFeeTaxFxSchedule Slice (VS-06-01), Cost Basis 계산, 포트폴리오 재조정
|
||
**Impact:** 금융 기능 미구현, 비용 정산 불가능, 규정 준수 불명확
|
||
|
||
---
|
||
|
||
## 근본 원인
|
||
|
||
**WBS vs 기존 문서 충돌:**
|
||
|
||
| 항목 | WBS 정의 | 기존 문서 (VS-06) | 충돌 |
|
||
|------|---------|-----------------|------|
|
||
| **Slice 목표** | MaintainFeeTaxFxSchedule | Stress Testing | ⚠️ 직교 |
|
||
| **요구사항** | REQ-COST-001 | 없음 | ❌ 미정 |
|
||
| **마이그레이션** | MIG-COST-001/002 | 0035 (unrelated) | ❌ 불일치 |
|
||
| **Job** | J04C (비용 유지) | 없음 | ❌ 미정 |
|
||
| **API** | T-COST-001, UI-COST-01 | 없음 | ❌ 미정 |
|
||
|
||
**의사결정 필요:**
|
||
- VS-06은 진짜 뭐야? (Stress Testing vs MaintainFeeTaxFxSchedule)
|
||
- WBS 순서 변경해야 함? (VS-06/07/... 재번호)
|
||
- Cost 기능은 새 VS 번호 할당? (VS-30/31?)
|
||
|
||
---
|
||
|
||
## 필요한 5가지 결정
|
||
|
||
### 1️⃣ Slice 정의 명확화 (Scope Clarification)
|
||
|
||
**결정:** WBS "MaintainFeeTaxFxSchedule"의 공식 정의
|
||
|
||
```
|
||
Option A: 기존 VS-06 유지 (Stress Testing)
|
||
- 현재 기존 문서 유지
|
||
- MaintainFeeTaxFxSchedule → 새 VS 번호 할당 (VS-30?)
|
||
- 비용/세금/환율 일정은 별도 Slice로 추진
|
||
|
||
Option B: VS-06 재정의 (MaintainFeeTaxFxSchedule)
|
||
- WBS 정의로 VS-06 이름 변경
|
||
- 기존 Stress Testing → 다른 VS로 이동
|
||
- Cost 기능은 이 Slice 아래 포함
|
||
|
||
Option C: 두 기능 병렬 추진 (Dual Slices)
|
||
- VS-06: Stress Testing (기존대로)
|
||
- VS-XX: MaintainFeeTaxFxSchedule (신규 slice)
|
||
- 의존성 명확화
|
||
|
||
Approval needed:
|
||
✅ 선택: [ ] (A/B/C)
|
||
✅ 새 VS 번호 (선택 시): [ ]
|
||
✅ 우선순위: [ ] (어느 것이 Gate G1 선행?)
|
||
```
|
||
|
||
### 2️⃣ 비용/세금/환율 데이터 계약 (Data Contract)
|
||
|
||
**결정:** 3가지 일정의 스키마 및 시간 모델
|
||
|
||
```
|
||
Needed schemas:
|
||
- commission_schedule (수수료 일정)
|
||
- account_id, exchange_id, instrument_id, jurisdiction
|
||
- effective_at, published_at (valid-time?)
|
||
- fee_rate, min_fee, max_fee
|
||
|
||
- tax_rate_schedule (세금 일정)
|
||
- jurisdiction (국가/지역)
|
||
- effective_at, published_at
|
||
- capital_gains_rate, withholding_rate
|
||
- applicable_conditions (주식/선물/옵션)
|
||
|
||
- fx_rate_schedule (환율 일정)
|
||
- from_currency, to_currency (e.g., KRW, USD)
|
||
- effective_at (적용 시점)
|
||
- rate, bid, ask, mid
|
||
- source (KRX? Reuters? 직접 입력?)
|
||
|
||
Questions:
|
||
✅ Temporal model: [ ] (effective_at? published_at? both?)
|
||
✅ Override 계층: [ ] (account > exchange > instrument > jurisdiction?)
|
||
✅ 이력 보관: [ ] (PIT + revision? 또는 현재만?)
|
||
✅ 정정 정책: [ ] (덮어쓰기? append? versioning?)
|
||
|
||
Linked Items:
|
||
- AEG-X-038 (Fee/Tax/FX 의사결정)
|
||
- Platform data contract v1.0 (PIT envelope)
|
||
- Cost Basis calculation (의존 로직)
|
||
```
|
||
|
||
### 3️⃣ Job 4C 실행 정책 (Job 4C Schedule)
|
||
|
||
**결정:** 비용 일정 갱신 Job의 실행 규칙
|
||
|
||
```
|
||
Current state:
|
||
- Job defined in WBS as J04C (MaintainFeeTaxFxSchedule)
|
||
- No implementation exists
|
||
- Execution policy: UNDEFINED
|
||
|
||
Questions:
|
||
✅ 실행 주기: [ ] (daily? hourly? on-demand?)
|
||
✅ 데이터 소스: [ ] (manual upload? API? configuration table?)
|
||
✅ 유효성 검증: [ ] (rate bounds? decimal precision?)
|
||
✅ 실패 처리: [ ] (transient/permanent/alert?)
|
||
✅ 주요 변경 검토: [ ] (자동? SRE 수동 승인?)
|
||
✅ Rollback 절차: [ ] (이전 버전 복원 가능?)
|
||
✅ 긴급 대응: [ ] (비상 시나리오? 재무팀 핫라인?)
|
||
|
||
Linked Items:
|
||
- OutboxPollerJob (event publishing)
|
||
- DapperJobRunRepository (execution tracking)
|
||
- AEG-VS-00-05 (Job run 스키마)
|
||
```
|
||
|
||
### 4️⃣ Cost Basis 계산 통합 (Cost Basis Integration)
|
||
|
||
**결정:** 비용/세금/환율이 Cost Basis에 언제 적용되는가
|
||
|
||
```
|
||
Cost Basis calculation flow:
|
||
1. Trade executed (실행 거래)
|
||
2. Fetch commission_schedule (수수료 조회)
|
||
3. Fetch tax_rate_schedule (세금 조회)
|
||
4. Fetch fx_rate (환율 조회)
|
||
5. Calculate: Cost = (Price × Qty) + Commission - Tax credit
|
||
6. Store in cost_basis table (revision-based PIT)
|
||
|
||
Questions:
|
||
✅ 적용 시점: [ ] (trade execution? trade confirmation?)
|
||
✅ 환율 선택: [ ] (execution rate? settlement date rate?)
|
||
✅ 세금: [ ] (선제적 계산? 실제 납부 후?)
|
||
✅ Commission source: [ ] (정해진 일정? 실제 거래 명세?)
|
||
✅ 정정: [ ] (과거 거래 비용 소급 변경 가능?)
|
||
|
||
Linked Items:
|
||
- VS-28 (Trade Execution)
|
||
- VS-29 (Portfolio Reconciliation)
|
||
- Cost Basis PIT model
|
||
- GDPR impact (tax year 7년 보존?)
|
||
```
|
||
|
||
### 5️⃣ 규정 준수 & 감시 (Compliance & Monitoring)
|
||
|
||
**결정:** 비용 일정의 규정 준수 및 감시 요구사항
|
||
|
||
```
|
||
Compliance scenarios:
|
||
- 비용 조정이 특정 거래 후 지나치게 크지는 않은가? (이상 거래 의심)
|
||
- 비용이 두 번 계산되지는 않았는가? (중복 계산 방지)
|
||
- 환율 변동성이 2% 초과? (시장 변동 이상?)
|
||
- 세금 이연이 10만원 초과? (미수금 적신호?)
|
||
|
||
Questions:
|
||
✅ DQ 검증: [ ] (rate bounds? calculation cross-check?)
|
||
✅ Audit trail: [ ] (누가 일정을 변경했나? 사유?)
|
||
✅ 감시 임계값: [ ] (변경 건수? 금액? 비율?)
|
||
✅ Alert 채널: [ ] (이메일/Slack/SMS?)
|
||
✅ 정정 승인: [ ] (CFO/Compliance만? 또는 자동?)
|
||
|
||
Linked Items:
|
||
- AuditTrail (compliance.operation_audit_trail)
|
||
- Tax compliance (OECD BEPS)
|
||
- Financial audit requirements
|
||
```
|
||
|
||
---
|
||
|
||
## 제출 형식
|
||
|
||
**승인자는 다음 정보 제공:**
|
||
|
||
### 1. Slice Definition & Scope
|
||
```
|
||
VS-06 Definition:
|
||
Option: [ ] (A-Stress Testing / B-Cost/Tax/FX / C-Both)
|
||
|
||
If new slice needed:
|
||
Assigned number: [ ] (VS-30? VS-31?)
|
||
Priority: [ ] (Gate G1 prerequisite?)
|
||
```
|
||
|
||
### 2. Data Contract Specification
|
||
```
|
||
Commission Schedule Schema: [ ] (link to definition)
|
||
Tax Rate Schedule Schema: [ ] (link)
|
||
FX Rate Schedule Schema: [ ] (link)
|
||
|
||
Temporal Model:
|
||
effective_at semantics: [ ]
|
||
published_at semantics: [ ]
|
||
Correction policy: [ ] (overwrite/append/version)
|
||
|
||
Override Hierarchy: [ ] (account→exchange→instrument→jurisdiction)
|
||
```
|
||
|
||
### 3. Job 4C Execution Policy
|
||
```
|
||
Execution:
|
||
Frequency: [ ] (daily/hourly/on-demand)
|
||
Data Source: [ ] (manual/API/config table)
|
||
|
||
Validation:
|
||
Rate bounds: [ ] (e.g., ±10%?)
|
||
Precision: [ ] (decimal places)
|
||
|
||
Failure Handling:
|
||
Transient: [ ] (retry policy)
|
||
Permanent: [ ] (alert)
|
||
Emergency: [ ] (hotline/rollback)
|
||
```
|
||
|
||
### 4. Cost Basis Integration
|
||
```
|
||
Application Point: [ ] (execution/confirmation)
|
||
|
||
FX Rate Selection: [ ] (execution/settlement)
|
||
|
||
Tax Treatment: [ ] (prospective/actual)
|
||
|
||
Commission Source: [ ] (schedule/invoice)
|
||
|
||
Retroactive Adjustment: [ ] (Yes/No)
|
||
```
|
||
|
||
### 5. Compliance & Monitoring
|
||
```
|
||
DQ Validation:
|
||
Rate bounds: [ ] (rules)
|
||
Duplicate detection: [ ] (Yes/No)
|
||
|
||
Audit Trail:
|
||
Change tracking: [ ] (Yes/No)
|
||
Approval required: [ ] (Yes/No)
|
||
|
||
Monitoring:
|
||
Alert threshold: [ ] (metrics)
|
||
Escalation: [ ] (channel)
|
||
```
|
||
|
||
---
|
||
|
||
## 의존성
|
||
|
||
- **Blocks:** Cost Basis implementation, Portfolio Reconciliation, G1 gate
|
||
- **Related:** AEG-X-038 (Fee/Tax/FX decisions), VS-28/29 (Trade/Reconciliation)
|
||
- **Prerequisite:** PM/Architect/Compliance/CFO 협력
|
||
|
||
---
|
||
|
||
**제출 기한:** 2026-08-21 (1주)
|
||
**승인자:** PM Lead, Architecture, Compliance/Owner, CFO
|
||
**Escalation:** Chief Financial Officer
|