oto/agent-task/m-control-plane-separation-migration/02_client_app/CODE_REVIEW-local-G05.md
toki 86afabb3eb refactor(runner): 런타임 패키지를 앱 하위로 이동한다
독립 control plane 구성을 위해 기존 Dart CLI/runtime을 runner 앱 경계로 옮기고, 후속 client/core/root 작업을 같은 마일스톤 task group에 연결한다.
2026-06-05 06:34:45 +09:00

3.3 KiB

Code Review Reference - MONOREPO_CLIENT

[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation. Fill implementation-owned sections, then stop with active files in place and report ready for review. Finalization is review-agent-only.

개요

date=2026-06-05 task=m-control-plane-separation-migration/02_client_app, plan=0, tag=MONOREPO_CLIENT

Roadmap Targets

  • Milestone: agent-roadmap/phase/independent-control-plane/milestones/control-plane-separation-migration.md
  • Task ids:
    • client-app: Flutter client가 apps/client 기준으로 추가되고, OTO 독립 콘솔의 source of truth가 client app에 위치한다.
  • Completion mode: check-on-pass

이 파일을 읽는 리뷰 에이전트에게

[REVIEW AGENT ONLY] 종결 절차는 코드리뷰 에이전트 전용이다.

구현 항목별 완료 여부

항목 완료 여부
[MONOREPO_CLIENT-1] Add Flutter Client Scaffold [ ]

구현 체크리스트

  • apps/client에 Flutter app scaffold를 만들고 project name은 oto_client로 둔다.
  • 초기 앱은 독립 콘솔 source of truth가 드러나도록 title/app shell만 최소 수정한다.
  • scaffold widget test를 현재 title/app shell에 맞게 보정한다.
  • apps/client에서 flutter analyzeflutter test를 실행한다.
  • CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

코드리뷰 전용 체크리스트

  • 코드리뷰 결과PASS, WARN, FAIL 중 하나의 판정을 append한다.
  • active plan/review 파일을 .log로 아카이브한다.
  • PASS이면 complete.log 작성 후 active task directory를 archive로 이동한다.
  • PASS이면 런타임이 읽을 완료 이벤트 메타데이터를 보고한다.

계획 대비 변경 사항

구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다.

주요 설계 결정

구현 에이전트가 주요 설계 결정 사항을 기록한다.

사용자 리뷰 요청

기본값은 없음이다. 구현 중 사용자 결정, 사용자 소유 외부 환경/secret/서비스 준비, 또는 계획 범위 변경 없이는 안전하게 진행할 수 없으면 아래 항목을 실제 내용으로 교체하고, 구현을 중단한 뒤 active 파일을 그대로 둔 채 리뷰를 요청한다.

  • 상태: 없음
  • 사유 유형: 없음
  • 결정 필요: 없음
  • 차단 근거: 없음
  • 실행한 검증/명령: 없음
  • 자동 후속 불가 이유: 없음
  • 재개 조건: 없음

리뷰어를 위한 체크포인트

  • apps/client가 독립 Flutter app으로 생성됐는지 확인한다.
  • API/auth/runner list 같은 후속 범위가 섞이지 않았는지 확인한다.
  • flutter analyzeflutter test 출력이 실제 코드와 일치하는지 확인한다.

검증 결과

MONOREPO_CLIENT-1 중간 검증

$ cd apps/client && flutter analyze
(output)

최종 검증

$ cd apps/client && flutter analyze && flutter test
(output)

[IMPLEMENTING AGENT — BEFORE SAVING] Have you filled in every implementation-owned section?