1.4 KiB
1.4 KiB
id, status
| id | status |
|---|---|
| ac-0001 | active |
포트폴리오 목록의 source-independent 투자금 집계 필드
Criterion
GET /v1/portfolios의 각 PortfolioItem은 기존 응답 필드를 유지하면서 net_contributed_capital과 cumulative_profit_withdrawn을 float 값으로 포함해야 한다. 전자는 모든 source의 유효한 INVEST gross 합계에서 유효한 WITHDRAW 합계를 뺀 순투자원금이고, 후자는 원금과 분리한 모든 source의 유효한 PROFIT 합계다. 해당 portfolio에 유효한 대상 ledger event가 없으면 두 값은 각각 0.0이어야 한다.
Verification
- 성공 조건: broker-only와 manual/broker mixed-source portfolio가 source와 무관한 side별 합계로 두 필드를 반환하고, ledger 집계가 없는 portfolio는 두 필드를
0.0으로 반환한다. - 실패·경계 조건:
PROFIT이 원금에 포함되거나buffer_out등 다른 side가INVEST로 재해석되거나, 기존 응답 필드·token/filter 동작이 변경되면 실패한다. - 검사 방법:
tests/test_portfolio_ledger_aggregates.py,tests/test_v1_portfolios_list.py,tests/test_v1_portfolios_manual_ledger.py와 disposable PostgreSQL integration을 실행한다. - 현재 구현 평가: focused
39 passed, actual PostgreSQL semantic integration1 passed, clean full regression661 passed, 16 skipped이며 독립 재QC가 PASS했다.