# Milestone: Flutter Control Surface Baseline ## 위치 - Roadmap: `agent-roadmap/ROADMAP.md` - Phase: `agent-roadmap/phase/control-surface-operations-ux/PHASE.md` ## 목표 Flutter 앱을 Gito operation과 event를 보는 control surface로 구성한다. 앱은 Git command를 직접 실행하지 않고 proto-socket을 통해 control plane의 repo, workspace, operation, event 상태를 소비한다. ## 상태 [계획] ## 승격 조건 - 없음 ## 구현 잠금 - 상태: 잠금 - 결정 필요: - [ ] 초기 Flutter target을 desktop 우선으로 둘지 mobile/desktop 동시 기준으로 둘지 확정한다. - [ ] 첫 화면에서 repo 중심, operation 중심, runner 중심 중 어떤 navigation을 우선할지 확정한다. ## 범위 - Flutter app scaffold 정리 - proto-socket endpoint 설정 - repo/operation/event 목록 read model - 기본 workbench shell - no-op safe bootstrap ## 기능 ### Epic: [app-shell] App shell 운영자가 repository와 operation 상태를 빠르게 확인하는 기본 shell을 만든다. - [ ] [bootstrap] Flutter bootstrap과 env 기반 proto-socket 설정을 만든다. - [ ] [layout] repo list, operation list, event panel이 들어갈 workbench layout을 만든다. - [ ] [no-op] proto-socket endpoint가 없을 때도 앱이 안전하게 시작되도록 한다. ### Epic: [read-model] Read model Control plane 상태를 읽어 UI에 표시한다. - [ ] [repo-read] repo list/read DTO를 앱 모델로 표현한다. - [ ] [op-read] operation state/read DTO를 앱 모델로 표현한다. - [ ] [event-read] event stream snapshot을 앱 모델로 표현한다. ## 완료 리뷰 - 상태: 없음 - 요청일: 없음 - 완료 근거: 없음 - 리뷰 필요: - [ ] 사용자가 완료 결과를 확인했다 - [ ] archive 이동을 승인했다 - 리뷰 코멘트: 없음 ## 범위 제외 - Git command 직접 실행 - provider-specific 화면 - runner 설치/배포 UI - mobile push notification ## 작업 컨텍스트 - 관련 경로: `apps/client/`, `packages/contracts/notes/gito-control-plane.md` - 표준선(선택): Flutter는 control plane consumer이며 command runtime이 아니다. - 선행 작업: Webhook Revision Reconcile - 후속 작업: Operations Observability - 확인 필요: Flutter target과 초기 navigation 우선순위