alt/agent-roadmap/phase/operator-surface/milestones/flutter-operator-console-mvp.md

74 lines
3.9 KiB
Markdown

# Milestone: Flutter Operator Console MVP
## 위치
- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/operator-surface/PHASE.md`
## 목표
승인된 `Flutter Operator Console UX Plan``Operator Headless Workflow Validation` 결과를 기준으로 Flutter client에 operator dashboard MVP를 구현한다. 화면은 headless 검증으로 확인된 운영 흐름과 준비된 wireframe을 따라가며, terminal UI나 고급 charting이 아니라 반복 운영에 필요한 조회/실행 표면을 우선한다.
## 상태
[보류]
## 구현 잠금
- 상태: 잠금
- 결정 필요: 아래 체크리스트
- [x] `Operator Headless Workflow Validation`이 완료되어 화면 없이 대표 운영 흐름을 검증했다.
- [x] `Operator Client API/Core Integration Validation`이 완료되어 Flutter 실화면 없이 client core에서 기본 API 호출을 검증했다.
- [ ] `KIS Live Data Collection Pipeline`이 완료되어 실제 KIS provider 수집과 worker import/storage/backtest 입력 경계가 검증되었다.
- [ ] 화면 wireframe 또는 동등한 화면 정의 산출물이 준비되었고 사용자가 승인했다.
## 범위
- Flutter feature-first 화면 구조
- socket connection state 표시
- backtest run list/detail/result 조회
- start backtest request form과 unavailable/error 응답 표시
- market data import/status 조회
- responsive web/mobile/desktop navigation
## 기능
### Epic: [operator-mvp] Flutter operator console MVP
headless 검증과 wireframe 승인을 거친 운영 흐름만 실제 Flutter 화면과 provider 경계로 옮긴다.
- [ ] [connect-state] client가 API socket 연결 상태를 표시한다. 검증: Flutter test가 연결/끊김 상태 표시를 검증한다.
- [ ] [backtest-list] backtest run 목록을 조회하고 표시한다. 검증: generated/mapped contracts 기반 repository/provider test가 목록 응답을 화면 model로 전달한다.
- [ ] [backtest-detail] backtest run detail과 result를 표시한다. 검증: detail/result 상태별 widget test가 통과한다.
- [ ] [start-run] operator가 backtest 실행을 요청하고 unavailable/error 응답을 이해 가능한 상태로 본다. 검증: request form과 typed error response test가 통과한다.
- [ ] [market-status] market data import/status를 조회할 수 있다. 검증: market status provider/widget test가 통과한다.
- [ ] [responsive-nav] web/mobile/desktop target에서 기본 navigation이 작동한다. 검증: 주요 viewport별 navigation smoke 또는 widget test가 통과한다.
- [ ] [repo-checks] `bin/test`, `bin/lint`, `bin/build`가 통과한다.
## 완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 아직 기능 Task와 검증이 충족되지 않았다.
- 리뷰 필요:
- [ ] 사용자가 완료 결과를 확인했다
- [ ] archive 이동을 승인했다
- 리뷰 코멘트: 없음
## 범위 제외
- UI 기획 없이 임의로 화면 깊이를 확정하는 작업
- headless 검증 없이 dashboard layout, chart, form 흐름을 먼저 구현하는 작업
- wireframe 승인 없이 실화면을 구현하는 작업
- 별도 TypeScript web app
- 고급 charting 전체
- push notification
- mobile app store 배포 설정
## 작업 컨텍스트
- 관련 경로: `apps/client/`, `packages/contracts/`, `services/api/`
- 표준선(선택): `go_router`는 화면 이동/URL 구조, Riverpod은 API client/socket state/feature state 주입을 담당한다. UI는 `AltSocketClient` provider와 generated/mapped contracts boundary를 통해 API만 바라본다.
- 선행 작업: Flutter Operator Console UX Plan, Operator Headless Workflow Validation, Operator Client API/Core Integration Validation, KIS Live Data Collection Pipeline, wireframe 승인
- 후속 작업: Flutter Push Notification Boundary
- 확인 필요: headless 검증과 client API/core 연결 검증은 완료되었고, KIS live data collection pipeline과 wireframe 승인 전에는 구현 잠금을 유지한다.