- Add m-client-validation task directory - Update apps/flutter-test/README.md - Update packages/messaging_flutter/README.md - Update packages/messaging_flutter/docs/android-test-environment.md
8.9 KiB
Code Review Reference - ANDROID
[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation. The task is NOT complete until every implementation-owned section below is filled in. Complete the
구현 체크리스트; the final checklist item is mandatory before saving. Fill implementation-owned sections, then stop with active files in place and report ready for review. If implementation is blocked by a user-only decision, external environment prerequisite, or scope conflict, fill사용자 리뷰 요청with evidence and stop with active files in place; code-review decides whether to writeUSER_REVIEW.md. Finalization (코드리뷰 결과, log rename,complete.log, archive moves,코드리뷰 전용 체크리스트) is review-agent-only, even after compaction/resume. Follow the ownership table at the bottom of this file for which sections you own.
개요
date=2026-05-28 task=m-client-validation/03+01,02_android_native_validation, plan=0, tag=ANDROID
이 파일을 읽는 리뷰 에이전트에게
[REVIEW AGENT ONLY] 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.
각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인하세요.
리뷰 완료는 아래 순서까지 끝난 상태를 의미합니다.
- 판정을 append한다.
CODE_REVIEW-cloud-G07.md->code_review_cloud_G07_0.log,PLAN-cloud-G07.md->plan_cloud_G07_0.log로 아카이브한다.- PASS이면
complete.log작성 후 active task 디렉터리를agent-task/archive/YYYY/MM/m-client-validation/03+01,02_android_native_validation/로 이동한다. WARN/FAIL이면 user-review gate를 확인한 뒤 다음 active plan/review 파일 또는USER_REVIEW.md를 작성한다. - PASS이고 task group이
m-client-validation이면 완료 이벤트 메타데이터를 보고한다. roadmap 상태 체크와update-roadmap호출은 런타임 책임이다. - 적용 가능한
코드리뷰 전용 체크리스트항목을 최종.log위치에서 체크한 뒤 보고한다.
구현 항목별 완료 여부
| 항목 | 완료 여부 |
|---|---|
| [ANDROID-1] Native unit test 계약 보강 | [ ] |
| [ANDROID-2] Local Android preflight 기록 | [ ] |
| [ANDROID-3] Remote/device verification handoff | [ ] |
구현 체크리스트
- [ANDROID-1]
packages/messaging_flutter/android/src/test/kotlin/com/tokilabs/nexo/messaging/NexoMessagingPluginTest.kt를 plugin method-call/intent payload 계약 중심으로 보강한다. - [ANDROID-2] local Android preflight를 실행하고
./gradlew testDebugUnitTest의 실제 통과 또는 SDK blocker 출력을 기록한다. - [ANDROID-3] remote Android guide를 사용 가능한 경우 integration/native checks를 실행하고, 불가능하면 review stub의 사용자 리뷰 요청에 필요한 외부 준비 사항을 정확히 남긴다.
flutter doctor -v와command -v adb/command -v emulator/command -v sdkmanager결과를 기록한다../gradlew testDebugUnitTest를apps/flutter-test/android에서 실행하고 실제 stdout/stderr를 기록한다.- CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.
코드리뷰 전용 체크리스트
[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다. 구현 에이전트는 이 섹션을 수정하거나 체크하지 않는다.
코드리뷰 결과에PASS,WARN,FAIL중 하나의 판정을 append한다.- 판정과
차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다. - active
CODE_REVIEW-*-G??.md를code_review_cloud_G07_0.log로 아카이브한다. - active
PLAN-*-G??.md를plan_cloud_G07_0.log로 아카이브한다. - PASS이면
agent-ops/skills/common/code-review/templates/complete-log-template.md기준으로complete.log를 작성하고 active.md파일을 남기지 않는다. - PASS이면 active task 디렉터리
agent-task/m-client-validation/03+01,02_android_native_validation/를agent-task/archive/YYYY/MM/m-client-validation/03+01,02_android_native_validation/로 이동하고 최종 archive 경로에서 이 체크리스트를 갱신한다. - PASS이고 task group이
m-client-validation이면 런타임이 읽을 완료 이벤트 메타데이터를 보고하고, roadmap 수정이나update-roadmap직접 호출을 하지 않는다. - PASS split 작업이면 이동 후 빈 active parent
agent-task/m-client-validation/를 제거하거나, 남은 sibling/file이 있어 유지했다고 확인한다. - WARN/FAIL이고 user-review gate가 트리거되지 않았으면 다음 active
PLAN-cloud-G07.md와CODE_REVIEW-cloud-G07.md를 작성하고complete.log를 작성하지 않는다. - USER_REVIEW이면
agent-ops/skills/common/code-review/templates/user-review-template.md기준으로USER_REVIEW.md를 작성하고 activePLAN-*.md,CODE_REVIEW-*.md,complete.log를 남기지 않는다. - USER_REVIEW가 사용자 결정으로 완료/PASS 해소되면
USER_REVIEW.md를 해소 상태로 갱신하고complete.log를 작성한 뒤 task directory를 archive로 이동한다.
계획 대비 변경 사항
구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다.
주요 설계 결정
구현 에이전트가 주요 설계 결정 사항을 기록한다.
사용자 리뷰 요청
기본값은 없음이다. 구현 중 사용자 결정, 외부 환경 준비, 또는 계획 범위 변경 없이는 안전하게 진행할 수 없으면 아래 항목을 실제 내용으로 교체하고, 구현을 중단한 뒤 active 파일을 그대로 둔 채 리뷰를 요청한다. code-review가 이 내용을 검증해 USER_REVIEW.md를 작성한다.
- 상태: 없음
- 사유 유형: 없음
- 결정 필요: 없음
- 차단 근거: 없음
- 실행한 검증/명령: 없음
- 재개 조건: 없음
리뷰어를 위한 체크포인트
- predecessor
01_docs_boundary와02+01_flutter_contract_tests가 complete인지 확인한다. - native tests가 template
getPlatformVersion수준을 넘어 plugin contract를 검증하는지 확인한다. - Android SDK/device blocker를 PASS처럼 처리하지 않았는지 확인한다.
검증 결과
구현 에이전트가 각 중간 검증 및 최종 검증 명령 실행 후 출력을 여기에 붙여 넣는다.
ANDROID-1 중간 검증
$ cd apps/flutter-test/android && ./gradlew testDebugUnitTest
ANDROID-2 중간 검증
$ command -v adb
$ command -v emulator
$ command -v sdkmanager
$ flutter doctor -v
$ cd apps/flutter-test/android && ./gradlew testDebugUnitTest
ANDROID-3 중간 검증
$ cd apps/flutter-test && flutter test integration_test -d emulator-5554
$ cd apps/flutter-test/android && ./gradlew testDebugUnitTest
최종 검증
$ command -v adb
$ command -v emulator
$ command -v sdkmanager
$ flutter doctor -v
$ cd apps/flutter-test/android && ./gradlew testDebugUnitTest
$ cd apps/flutter-test && flutter test integration_test -d emulator-5554
$ git diff --check -- packages/messaging_flutter/android/src/test/kotlin/com/tokilabs/nexo/messaging/NexoMessagingPluginTest.kt packages/messaging_flutter/android/build.gradle.kts packages/messaging_flutter/docs/android-test-environment.md
[IMPLEMENTING AGENT — BEFORE SAVING] Have you filled in every implementation-owned section: completion table, implementation checklist, changes from plan, design decisions, and verification output? If anything is blank, go back and fill it in before saving this file. Leave review-agent-only sections unchanged.
Sections and their ownership:
| Section | Owner | Note |
|---|---|---|
| Header comment, 개요, 리뷰 에이전트 지시 | Fixed at stub creation | Implementing agent must not modify or execute these |
| 구현 항목별 완료 여부 | Fixed at stub creation | Implementing agent checks [ ] -> [x] only |
| 구현 체크리스트 | Fixed at stub creation from plan | Implementing agent checks [ ] -> [x] only |
| 코드리뷰 전용 체크리스트 | Review agent only | Implementing agent must not modify or check this section |
| 계획 대비 변경 사항, 주요 설계 결정 | Implementing agent | Replace placeholder text with actual content |
| 사용자 리뷰 요청 | Implementing agent | Keep 상태: 없음 unless user input is required |
| 리뷰어를 위한 체크포인트 | Fixed at stub creation | Pre-filled from plan |
| 검증 결과 | Fixed headings and commands | Implementing agent fills command output only |