# Milestone: Backtest Analysis Surface ## 위치 - Roadmap: `agent-roadmap/ROADMAP.md` - Phase: `agent-roadmap/phase/backtest-loop/PHASE.md` ## 목표 backtest 결과를 단순 성공/실패가 아니라 operator가 비교하고 해석할 수 있는 기본 분석 표면으로 확장한다. MVP에서는 핵심 summary와 run comparison을 우선한다. ## 상태 [완료] ## 구현 잠금 - 상태: 해제 - 결정 필요: 없음 ## 범위 - backtest result summary 확장 - equity curve 또는 time-series result 저장 기준 - run list/detail query - 기본 comparison capability - client 표시를 위한 contract shape ## 기능 ### Epic: [analysis-surface] Backtest result analysis operator가 backtest 결과를 조회, 비교, 해석할 수 있는 최소 분석 표면을 묶는다. - [x] [summary-metrics] ending equity 외 최소 summary metrics가 있다. 검증: Flutter client가 표시할 수 있는 result contract가 존재한다. - [x] [equity-curve] run별 equity curve 또는 동등한 time-series result를 저장/조회한다. 검증: fixture 기반 result 조회 테스트가 통과한다. - [x] [run-list] backtest run 목록과 상태를 조회할 수 있다. 검증: worker/API/client 경계가 backtest result를 일관되게 다룬다. - [x] [run-detail] 단일 run의 spec, status, result를 조회할 수 있다. - [x] [compare-runs] 둘 이상의 run을 비교할 기본 기준이 있다. 검증: `bin/test`와 `bin/lint`가 통과한다. ## 완료 리뷰 - 상태: 승인됨 - 요청일: 2026-05-30 - 완료 근거: contract에 summary metrics, equity curve, run list/detail/compare request/response shape가 있고 API/client parser boundary가 등록되어 있다. - 완료 근거: worker engine과 postgres storage가 summary/equity curve 저장, run list/detail, compare result read path를 제공한다. - 완료 근거: `bin/test`가 통과했고, 직전 code-review에서 API/client socket boundary task가 PASS 처리되었다. - 리뷰 필요: - [x] 사용자가 완료 결과를 확인했다 - [x] archive 이동을 승인했다 - 리뷰 코멘트: 사용자 요청으로 완료 처리하고 archive 이동한다. ## 범위 제외 - 전문 리포트 생성 - 고급 통계/리스크 지표 전체 - 외부 포트폴리오 시스템 연동 ## 작업 컨텍스트 - 관련 경로: `services/worker/`, `services/api/`, `apps/client/`, `packages/contracts/` - 표준선(선택): MVP 분석은 operator가 다음 백테스트 판단을 할 수 있는 최소 지표에 집중한다. - 선행 작업: Backtest Engine Baseline - 후속 작업: Flutter Operator Console - 확인 필요: 없음