# Phase 6 개발문서 패키지

이 문서는 **Phase 0의 전략/리스크/데이터 정책**, **Phase 1의 저장소 구조/DB/서비스 계약**, **Phase 2의 ingestion 파이프라인**, **Phase 3의 parser/feature/label 규칙**, **Phase 4의 백테스터**, **Phase 5의 attention overlay**를 바탕으로,
AI 코딩 에이전트가 **paper trading 및 live execution 운영 레이어**를 구현할 수 있도록 만든 **Phase 6 상세 개발문서**입니다.

## 목표

Phase 6의 목표는 아래 10가지를 실제 코드 수준으로 구현하는 것입니다.

1. **paper trading orchestrator**를 구현한다.
2. **broker abstraction layer**와 최소 1개 브로커(기본 reference: Alpaca paper)를 연동한다.
3. **candidate -> order plan -> order submit -> fill -> position -> exit** 전체 주문 생명주기를 상태머신으로 구현한다.
4. **risk guard / pre-trade checks / kill switch / day halt**를 구현한다.
5. **reconciliation**(브로커 상태와 내부 상태 대사)와 **idempotent recovery**를 구현한다.
6. **human approval mode / fully automatic mode / dry-run mode**를 지원한다.
7. **paper/live 공통 contract**를 정의하고, Phase 4 백테스터 결과와 비교 가능한 blotter를 산출한다.
8. **알림/모니터링/운영 대시보드**를 구현한다.
9. **장애 시 degraded mode / no-trade mode**로 안전하게 전환한다.
10. **실전 운영 전 테스트, paper gate, small-capital live gate**를 문서화한다.

## 포함 문서

- `paper_trading_and_live_architecture.md`
  - Phase 6 전체 아키텍처
  - paper/live 모드 구분
  - 상태 저장과 복구 전략
- `broker_integration_and_order_lifecycle.md`
  - broker abstraction layer
  - 주문/체결/취소/교체 규칙
  - client order id 규칙
- `risk_guard_and_approval_workflow.md`
  - pre-trade / in-trade / post-trade risk guard
  - human approval workflow
  - kill switch / trading halt 정책
- `state_machine_and_reconciliation.md`
  - 실행 상태머신
  - reconciliation loop
  - restart / crash recovery 절차
- `monitoring_alerting_and_ops.md`
  - 운영 모니터링
  - alert routing
  - degraded mode와 no-trade mode
- `configuration_and_schemas.md`
  - live/paper 설정 구조
  - schema 파일 설명
- `implementation_plan.md`
  - AI 코딩 에이전트용 구현 순서
  - 작업 분할
  - 완료 기준
  - 금지사항
- `testing_checklist.md`
  - 단위/통합/replay/failover/UAT 체크리스트
- `operator_runbook.md`
  - 운영자가 장 시작 전/중/후에 수행할 절차
- `live_config.schema.json`
  - Phase 6 런타임 설정 스키마
- `order_event.schema.json`
  - 주문/체결 이벤트 canonical schema
- `approval_ticket.schema.json`
  - human approval ticket schema

## Phase 6 범위

Phase 6에서는 아래를 구현합니다.

- broker abstraction layer
- paper trading runner
- optional live trading runner
- pre-trade checks
- order submit/cancel/replace
- fill handling / partial fill handling
- position lifecycle manager
- reconciliation job
- approval workflow
- kill switch / daily halt / degraded mode
- trade blotter / execution journal / alerts

Phase 6에서는 아직 아래를 구현하지 않습니다.

- multi-broker 동시 생산 운영
- 옵션/선물/숏셀 자동화
- 초단타 ORB 전용 execution stack
- 완전한 웹 기반 OMS/EMS
- 멀티유저 권한 체계
- 24/7 NOC 수준의 운영 자동화

## 핵심 원칙

1. **실행은 항상 보수적이어야 한다.** 좋은 체결보다 잘못된 체결을 피하는 것이 우선이다.
2. **내부 상태와 브로커 상태는 항상 대사 가능해야 한다.**
3. **모든 실행 액션은 재시도 가능해야 하지만, 중복 주문은 절대 허용하지 않는다.**
4. **장애 시에는 자동으로 더 안전한 모드로 degrade 되어야 한다.**
5. **paper와 live는 최대한 같은 코드 경로를 사용한다.**
6. **human approval 없이도 돌아갈 수 있게 설계하되, 초기 운영은 approval mode를 기본으로 한다.**
7. **Phase 0 정책(무료 데이터 전용, 공식 이벤트 우선, 소셜 overlay only)을 절대 깨지 않는다.**

## 권장 구현 순서

1. `paper_trading_and_live_architecture.md`
2. `broker_integration_and_order_lifecycle.md`
3. `state_machine_and_reconciliation.md`
4. `risk_guard_and_approval_workflow.md`
5. `monitoring_alerting_and_ops.md`
6. `configuration_and_schemas.md`
7. `live_config.schema.json`
8. `order_event.schema.json`
9. `approval_ticket.schema.json`
10. `implementation_plan.md`
11. `testing_checklist.md`
12. `operator_runbook.md`

## 완료 기준

Phase 6 완료의 최소 기준은 다음과 같습니다.

- 같은 candidate set으로 dry-run / paper / live-simulated 실행이 같은 order plan을 생성한다.
- broker adapter를 mocking 했을 때 주문/체결/부분체결/취소/교체/거부 전이가 모두 검증된다.
- restart 이후에도 실행 상태를 복구하고 reconciliation이 가능하다.
- approval mode와 auto mode가 동일한 risk checks를 통과한 주문만 제출한다.
- 장중 장애가 발생하면 degraded mode 또는 no-trade mode로 전환할 수 있다.
- 종가 후 trade blotter, exception log, execution journal, risk summary가 생성된다.
