You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.0 KiB
3.0 KiB
Phase 6 구현 계획
1. 구현 목표
AI 코딩 에이전트는 Phase 6에서 아래 8개의 구현 묶음을 순서대로 완료해야 합니다.
- 실행 세션/상태 저장 모델 구현
- broker abstraction 및 reference adapter 구현
- order planner -> risk guard -> approval gate -> broker submit 흐름 구현
- canonical order event 저장 및 상태머신 projection 구현
- reconciliation loop 구현
- monitoring/alerts/degraded mode 구현
- dry-run / paper UAT 시나리오 통과
- live readiness 문서와 gate check 구현
2. 작업 분할
Workstream A — 실행 데이터 모델
- execution_session
- order_intent
- broker_order
- fill_ledger
- position_snapshot
- approval_ticket
- risk_decision
- operator_action
Workstream B — broker adapter
- adapter protocol
- Alpaca paper adapter
- raw event canonicalizer
- adapter error mapping
Workstream C — 실행 코어
- order planner runner
- risk guard service
- approval gate service
- submit/cancel/replace service
- position manager
Workstream D — 상태관리
- event store
- projection builder
- reconciliation worker
- restart recovery flow
Workstream E — 운영
- alerts
- dashboard query layer
- EOD reports
- session control API
3. 권장 구현 순서
Step 1
execution_session, order_intent, broker_order, canonical order event 모델 구현.
Step 2
BrokerAdapter interface와 mock adapter 구현. mock만으로 상태머신 테스트를 먼저 통과시킨다.
Step 3
risk guard와 approval workflow 구현. 브로커 없이도 deny/defer/allow가 잘 동작해야 한다.
Step 4
Alpaca paper adapter 구현. submit/fetch/cancel/stream 최소 경로를 연결한다.
Step 5
state machine projection 및 reconciliation 구현. 재시작 복구 테스트를 먼저 통과시킨다.
Step 6
alerts / degraded mode / no-trade mode 구현.
Step 7
paper UAT 시나리오를 운영 runbook 기준으로 통과시킨다.
Step 8
small-capital live readiness gate만 구현하고, 실제 live enable은 operator explicit flag 없이는 불가하게 둔다.
4. 완료 기준
- mock adapter로 전체 주문 생명주기 테스트가 통과한다.
- Alpaca paper에서 실제 submit/partial fill/cancel 경로가 검증된다.
- reconciliation mismatch를 의도적으로 만들었을 때 탐지 및 해결 루프가 동작한다.
- approval required 모드에서 승인 전 주문 제출이 일어나지 않는다.
- no-trade mode에서 signal 계산은 유지되지만 주문은 전송되지 않는다.
- EOD blotter와 execution journal이 자동 생성된다.
5. 금지사항
- 브로커 SDK raw response를 business logic에 직접 사용하지 말 것.
- 주문 제출과 상태 업데이트를 하나의 giant function에 몰아넣지 말 것.
- restart 이후 내부 메모리 상태를 신뢰해 즉시 신규 주문을 보내지 말 것.
- 예외를 무시하고 다음 루프로 넘어가는 코드 작성 금지.
- approval workflow를 UI 의존적으로 설계하지 말 것. ticket API/DB 기반으로 구현할 것.