# Milestone: Live Trading Boundary

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/trading-expansion/PHASE.md`

## 목표

실거래 adapter, 주문 관리, 리스크 관리, 포트폴리오 동기화 경계를 paper trading 안정화 이후에 연다. 이 milestone은 실제 주문 제출을 서두르지 않고, broker adapter와 운영 안전장치를 먼저 명확히 하는 데 목적이 있다.

## 상태

[계획]

## 구현 잠금

- 상태: 해제
- 결정 필요: 없음
- 결정 내용:
  - [x] 실거래를 열기 전 paper trading 안정화 기준은 수익성 검증과 운영 안정성 검증을 모두 포함한다. 비용/슬리피지 반영 후 양의 기대값과 양의 순손익이 필요하며, 주문 lifecycle, risk guard, kill switch, 계좌/포지션 sync, audit trail이 반복 검증 가능해야 한다.
  - [x] 첫 live broker/provider는 이전 Milestone 결정과 KIS live data evidence를 승계해 KIS-first로 둔다. 다만 domain/contract/worker 경계는 broker/provider-neutral port를 유지하고, KIS 특수성은 adapter와 runtime config 안에 격리한다.
  - [x] 실거래 주문 capability는 설계에서 임의로 제한하지 않는다. 현재 구체 구현 대상을 좁히더라도 broker port와 order lifecycle은 KIS와 후속 broker가 제공할 수 있는 주문 유형, 정정/취소, 체결 상태, 오류 상태를 확장 가능하게 표현해야 한다.
  - [x] 리스크 한도는 조정 가능한 정책 값으로 둔다. 에이전트가 보수적인 기본값을 제안하고 config/test fixture로 구현하되, 이후 수치 조정만으로 변경 가능하게 한다.

## 범위

- broker adapter boundary
- order lifecycle
- risk guard and kill switch
- portfolio/account sync
- audit log and operator confirmation

## 기능

### Epic: [live-boundary] Live trading boundary

실거래 adapter, 주문 lifecycle, risk guard, account sync, audit trail 경계를 묶는다.

- [ ] [broker-port] broker adapter port가 paper/live 공통 경계를 갖는다. 검증: paper trading과 live trading 경계가 명확히 분리되고, live adapter 없이도 domain/contract 테스트가 가능하다.
- [ ] [order-lifecycle] 주문 생성, 제출, 체결, 취소, 실패 lifecycle이 정의된다. 검증: 실거래 주문 제출은 operator confirmation을 통과해야 한다.
- [ ] [risk-limits] 실거래 전 최소 risk limit과 kill switch가 있다. 검증: 실거래 주문 제출은 risk guard를 통과해야 한다.
- [ ] [account-sync] 계좌/포지션 동기화 경계가 있다.
- [ ] [audit-trail] live operation audit trail이 있다.

## 완료 리뷰

- 상태: 없음
- 요청일: 없음
- 완료 근거: 아직 기능 Task가 충족되지 않았다.
- 리뷰 필요:
  - [ ] 사용자가 완료 결과를 확인했다
  - [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음

## 범위 제외

- MVP 단계 실거래 실행
- 무인 자동 실거래
- 고빈도/초단타 execution

## 작업 컨텍스트

- 관련 경로: `services/worker/`, `services/api/`, `apps/cli/`, `packages/domain/`
- 표준선(선택): 실거래는 수익성 기준과 운영 안정성 기준을 모두 충족한 paper trading 안정화 이후에만 경계를 열며, UI는 live boundary 후보까지 command/headless로 정리된 뒤 후순위 Phase에서 다룬다.
- 표준선(선택): 주문 capability는 설계상 닫지 않는다. 실제 돈이 움직이는 운영 rollout은 별도 확인을 거치더라도, domain/contract/worker port는 주문 유형과 broker별 상태 확장을 막지 않는다.
- 선행 작업: Paper Trading Readiness, Paper Trading Command Workflow, US Market Expansion
- 후속 작업: Flutter Operator Console MVP
- 확인 필요: 없음
