# BAT-062 Implementation - Status: completed - Batch: BAT-062 ## Plan Summary - 로컬 KIS 어댑터의 검증된 배분 공식을 Core 순수 도메인으로 옮기고, 어댑터는 외부 입력과 결과 매핑만 담당하도록 정리한다. ## Changed Files - `trex_core/domain/capital_allocation.py` - `tests/domain/test_capital_allocation.py` - `tests/integration/test_kis_submission_recovery_virtual.py` - `validation/trading-execution-adapter.json` - `docs/project-structure.md` - `docs/discovery/dcy-042_20260729_shared-account-capital-allocation-policy.md` - `docs/srs/Interface/req-127_shared-account-capital-allocation-policy.md` - `docs/batches/bat-062_20260729_shared-account-capital-allocation/*` - 별도 docker-local 작업트리의 `live_tools/account_capital_allocator.py` ## Execution Log 1. 보호 한 주 가격, 후보·배정·계좌 계획 불변 데이터 모델을 추가했다. 2. 균등 기준, 한 주 유동 여유, 최악 활성 슬롯 제거, 최대 공통 배정액 계산을 구현했다. 3. 입력 검증과 계획 내부 현금 불변식 검사를 추가했다. 4. 메가·탑50 대표값, 오류 입력, 10,000건 무작위 불변식 테스트를 추가했다. 5. 로컬 KIS 어댑터의 중복 계산을 Core 정책 호출로 대체했다. 6. 선행 Core 브랜치의 가상 KIS 복구 테스트 시계를 거래 가능 시각으로 고정해 야간 실행에서도 같은 주문 복구 경로를 검증하도록 했다. 7. Core 공용 인증의 pytest 단계를 `uv --with pytest`로 고정해 격리 작업트리의 로컬 가상환경 상태와 무관하게 재현되도록 했다. ## Validation - Core 신규 테스트: 16 passed. - 최신 선행 Core 전체 회귀: 919 passed, 51 skipped. - 기존 어댑터 공식 50,000건 완전 일치: PASS. - Core 연결 로컬 어댑터 전체 회귀: 161 passed, 4 skipped. - 탑50 월간 가상거래 요약·거래원장·배분결정 원장 완전 일치: PASS. - 최종 재실행 결과는 `verification.md`에 고정한다. ## Remaining Risks - 이 브랜치는 실전 이미지에 반영되지 않았다. Core 병합 후 어댑터 이미지에서 모듈 가용성과 공용 가상 인증을 다시 확인해야 한다. - 주문수량·주문 게이트·계좌 설정 변경은 이 배치에 포함되지 않는다.