# 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
- 확인 필요: 없음
