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>
7.3 KiB
7.3 KiB
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