2.9 KiB
2.9 KiB
Milestone: Flutter Operator Console
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/operator-surface/PHASE.md
목표
Flutter client를 ALT의 공식 UI client로 삼아 market data 상태, backtest run, result를 조회하고 실행 요청할 수 있는 operator console을 만든다. 별도 TypeScript web app은 기본 경로로 두지 않는다.
상태
[계획]
구현 잠금
- 상태: 잠금
- 결정 필요: 아래 체크리스트
- 별도 client integration 프로젝트 산출물 반영 전 operator console 화면 구현을 어디까지 진행할지 결정한다.
- Riverpod/go_router app shell에 공통 client skeleton과 integration boundary를 결합하는 기준을 확정한다.
- push notification은 이 milestone 범위 제외로 유지하고 별도 client integration 프로젝트 산출물로 다룰지 확인한다.
범위
- Flutter feature-first 화면 구조
- socket connection state
- backtest run list/detail
- start backtest request form
- market data import/status view
- responsive web/mobile/desktop navigation
필수 기능
Epic: [operator-console] Flutter operator console
market data와 backtest 상태를 조회하고 실행 요청할 수 있는 Flutter 운영 표면을 묶는다.
- [connect-state] client가 API socket 연결 상태를 표시한다.
- [backtest-list] backtest run 목록을 조회하고 표시한다.
- [backtest-detail] backtest run detail과 result를 표시한다.
- [start-run] operator가 backtest 실행을 요청할 수 있다.
- [market-status] market data import/status를 조회할 수 있다.
- [responsive-nav] web/mobile/desktop target에서 기본 navigation이 작동한다.
완료 기준
- Flutter test가 주요 화면 shell과 상태 표시를 검증한다.
- client는 generated/mapped contracts를 통해 API와 통신한다.
- presentation widget에 production endpoint 가정이 hard-code되지 않는다.
bin/test,bin/lint,bin/build가 통과한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 아직 필수 기능과 완료 기준이 충족되지 않았다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- 별도 TypeScript web app
- 고급 charting 전체
- push notification
- mobile app store 배포 설정
작업 컨텍스트
- 관련 경로:
apps/client/,packages/contracts/,services/api/ - 표준선(선택): Flutter는 feature-first Clean Architecture와 Riverpod을 기본 설계 프레임으로 삼는다.
- 선행 작업: Socket Session Loop, Backtest Analysis Surface
- 외부 산출물: client skeleton, bootstrap convention, push host integration 복제는 별도 client integration 프로젝트 결과를 추후 반영한다.
- 후속 작업: Paper Trading Readiness
- 확인 필요: 구현 잠금의 결정 필요 항목 참고.