iop/agent-task/proto-socket-iop-parser-alias/CODE_REVIEW-local-G04.md

7.3 KiB

Code Review: IOP proto-socket parser alias 정합성

개요

  • Plan: PLAN-local-G04.md
  • Roadmap Task: 없음
  • Spec Scenario: 없음

Roadmap Targets

  • 없음: sibling proto-socket dependency 소비 정합성 follow-up이다.

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

[REVIEW AGENT ONLY] 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.

각 항목의 구현을 실제 소스 파일과 대조하고, 검증 결과 섹션의 출력이 코드와 일치하는지 확인한다. 리뷰 완료는 아래 순서까지 끝난 상태를 의미한다.

  1. 판정을 append한다.
  2. CODE_REVIEW-local-G04.md -> code_review_local_G04_N.log, PLAN-local-G04.md -> plan_local_G04_M.log로 아카이브한다.
  3. PASS이면 complete.log 작성 후 active task 디렉터리를 agent-task/archive/YYYY/MM/proto-socket-iop-parser-alias/로 이동한다. WARN/FAIL이면 user-review gate를 확인한 뒤 다음 active plan/review 파일 또는 USER_REVIEW.md를 작성한다.
  4. 적용 가능한 코드리뷰 전용 체크리스트 항목을 최종 .log 위치에서 체크한 뒤 보고한다.

구현 항목별 완료 여부

항목 완료 여부
[IOP_PARSER_ALIAS-1] IOP client parser map canonical key 정리 [ ]
[IOP_PARSER_ALIAS-2] parser map test expectation 갱신 [ ]
[IOP_PARSER_ALIAS-3] IOP client 생성 경로 회귀 검증 [ ]

구현 체크리스트

  • apps/client/lib/iop_wire/parser_map.dart에서 ClientHelloRequest, ClientHelloResponse short-name key를 제거하고 iop.ClientHelloRequest, iop.ClientHelloResponse full-name key만 남긴다.
  • apps/client/test/iop_wire/parser_map_test.dart가 full-name key 존재와 short-name key 부재를 검증하도록 갱신한다.
  • parser 동작 검증도 full-name key를 통해 수행한다.
  • ClientWireClient 생성 및 bootstrap 경로가 duplicate alias error 없이 통과하는지 targeted Flutter test로 확인한다.
  • apps/client 전체 Flutter test 또는 실행 불가 사유를 CODE_REVIEW-local-G04.md에 기록한다.
  • CODE_REVIEW-local-G04.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

코드리뷰 전용 체크리스트

[REVIEW AGENT ONLY] 이 체크리스트는 코드리뷰 에이전트만 사용한다. 구현 에이전트는 이 섹션을 수정하거나 체크하지 않는다.

  • 코드리뷰 결과PASS, WARN, FAIL 중 하나의 판정을 append한다.
  • 판정과 차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다.
  • active CODE_REVIEW-local-G04.mdcode_review_local_G04_N.log로 아카이브한다.
  • active PLAN-local-G04.mdplan_local_G04_M.log로 아카이브한다.
  • .gitignore의 Agent-Ops 관리 block이 agent-task/**/*.mdagent-task/**/*.log를 unignore하고 agent-roadmap/current.md를 ignore하는지 확인한다.
  • PASS이면 agent-ops/skills/common/code-review/templates/complete-log-template.md 기준으로 complete.log를 작성하고 active .md 파일을 남기지 않는다.
  • PASS이면 active task 디렉터리 agent-task/proto-socket-iop-parser-alias/agent-task/archive/YYYY/MM/proto-socket-iop-parser-alias/로 이동한다.
  • WARN/FAIL이고 user-review gate가 트리거되지 않았으면 다음 active PLAN-local-G04.mdCODE_REVIEW-local-G04.md를 작성하고 complete.log를 작성하지 않는다.
  • USER_REVIEW이면 agent-ops/skills/common/code-review/templates/user-review-template.md 기준으로 USER_REVIEW.md를 작성하고 active PLAN-*.md, CODE_REVIEW-*.md, complete.log를 남기지 않는다.
  • USER_REVIEW가 사용자 결정으로 완료/PASS 해소되면 USER_REVIEW.md를 해소 상태로 갱신하고 complete.log를 작성한 뒤 task directory를 archive로 이동한다.

계획 대비 변경 사항

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

주요 설계 결정

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

사용자 리뷰 요청

기본값은 없음이다. 구현 중 사용자 결정, 사용자 소유 외부 환경/secret/서비스 준비, 또는 계획 범위 변경 없이는 안전하게 진행할 수 없으면 아래 항목을 실제 내용으로 교체하고, 구현을 중단한 뒤 active 파일을 그대로 둔 채 리뷰를 요청한다. 구현 에이전트는 사용자에게 직접 질문하거나 선택지를 제시하거나 request_user_input을 호출하지 않는다. 후속 에이전트가 명령 재실행이나 산출물 수집으로 해소할 수 있는 검증 증거 공백만으로는 사용자 리뷰 요청을 작성하지 않는다.

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

리뷰어를 위한 체크포인트

  • clientParserMap에 canonical full-name key만 남았는지 확인한다.
  • IOP test가 short-name 직접 등록을 요구하지 않고, full-name parser round-trip을 검증하는지 확인한다.
  • ClientWireClient 생성 경로가 duplicate alias error 없이 통과하는지 검증 결과와 코드가 일치하는지 확인한다.
  • proto-socket core나 generated protobuf 파일을 변경하지 않았는지 확인한다.
  • 원격 runner 동기화 없이 local quick check만 실행했다면 남은 위험이 명시됐는지 확인한다.

검증 결과

구현 에이전트가 각 중간 검증 및 최종 검증 명령 실행 후 출력을 여기에 붙여 넣는다.

필수 규칙:

  • 검증 명령은 고정된 계약이다. 임의로 대체하지 않는다.
  • 대체가 필요하면 계획 대비 변경 사항에 이유와 대체 명령을 기록한다.
  • 검증 결과에는 실제 stdout/stderr를 붙여 넣는다.
  • 사용자 리뷰 요청으로 명령을 끝까지 실행하지 못했다면 사용자 리뷰 요청에 실행한 명령, 실제 출력, 미실행 명령의 사유를 기록한다.
  • 공식 client evidence는 원격 runner의 동기화된 checkout 기준이다. local quick check만 수행한 경우 그 사실을 함께 기록한다.

IOP_PARSER_ALIAS-1 중간 검증

$ cd apps/client && flutter test test/iop_wire/client_wire_client_test.dart
(output)

IOP_PARSER_ALIAS-2 중간 검증

$ cd apps/client && flutter test test/iop_wire/parser_map_test.dart
(output)

IOP_PARSER_ALIAS-3 targeted regression

$ cd apps/client && flutter test test/iop_wire/parser_map_test.dart test/iop_wire/client_wire_client_test.dart test/client_bootstrap_test.dart
(output)

최종 검증

$ cd apps/client && flutter test
$ git diff --check
(output)

[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.