<!-- task=proto-socket-iop-parser-alias plan=1 tag=REVIEW_IOP_PARSER_ALIAS -->
# Plan: IOP proto-socket parser alias 공식 검증 증거 회복

## 이 파일을 읽는 구현 에이전트에게

이 plan은 이전 루프의 코드 구현을 다시 바꾸기 위한 것이 아니라, `apps/client/**` 변경에 요구되는 공식 client 검증 증거를 회복하기 위한 후속 루프다. 구현 에이전트는 소스 변경을 기본 범위에서 제외하고, 원격 runner가 리뷰 대상 commit과 동기화된 상태인지 확인한 뒤 정해진 Flutter 검증 명령의 실제 stdout/stderr를 `CODE_REVIEW-local-G04.md`에 기록한다.

사용자 전용 결정, 사용자 소유 외부 환경/secret/서비스 준비, 또는 계획 범위 충돌 없이는 직접 질문하지 말고 review stub의 `사용자 리뷰 요청` 섹션에 정확한 blocker를 기록한 뒤 중단한다. 단, 원격 runner 동기화 실패나 검증 증거 공백은 사용자 리뷰 요청이 아니며, `검증 결과`와 `계획 대비 변경 사항`에 실제 명령과 차단 사유를 기록한다.

## Roadmap Targets

- 없음: sibling `proto-socket` dependency 소비 정합성 follow-up이며 활성 vLLM milestone 완료 대상이 아니다.

## Archive Evidence Snapshot

- Archived plan: `agent-task/proto-socket-iop-parser-alias/plan_local_G04_0.log`
- Archived review: `agent-task/proto-socket-iop-parser-alias/code_review_local_G04_0.log`
- Prior verdict: FAIL
- Required summary: `agent-test/local/client-smoke.md`는 `apps/client/**` 검증을 원격 runner의 동기화된 checkout 기준으로 요구하지만, 이전 루프는 local Flutter test만 실행하고 이를 충분하다고 판단했다.
- Affected files: `apps/client/lib/iop_wire/parser_map.dart`, `apps/client/test/iop_wire/parser_map_test.dart`, `agent-task/proto-socket-iop-parser-alias/CODE_REVIEW-local-G04.md`
- Verified local evidence from review agent:
  - `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` passed locally with `All tests passed!`.
  - `cd apps/client && flutter test` passed locally with 27 tests.
  - `git diff --check` passed locally with no output.
- Remote runner evidence gap:
  - Local reviewed HEAD: `1dc8d7416ad011ca0c3260cbe622713d68718733`
  - `origin/main`: `b19344302d70bf2db5f0ae1df7d63de61de17d22`
  - `/Users/toki/agent-work/iop` remote HEAD: `89660dc1bd3547deb1ecb4906b13eeafc1000f60`, with unrelated dirty files.
  - `/Users/toki/agent-work/iop-dev` remote HEAD: `7398f326b3b8da240fe2bcb760fe43a0c86b36ec`, with unrelated dirty files.
- Allowed narrow reread if needed: the two archived files listed above and `agent-test/local/client-smoke.md`.

## 분석 결과

### 문제

- 이전 구현은 `clientParserMap`의 short-name key 제거와 parser map test 갱신 자체는 완료했다.
- 그러나 client 테스트 규칙은 Flutter client 검증을 원격 runner의 동기화된 checkout 기준으로 요구한다.
- 현재 로컬 HEAD는 `origin/main`보다 2커밋 앞서 있고 원격 runner checkout은 동기화되지 않아, 이전 루프의 local quick check만으로는 공식 client evidence가 되지 않는다.

### 범위 결정 근거

- 포함: 원격 runner 동기화 여부 확인, reviewed commit 기준 targeted Flutter regression 실행, reviewed commit 기준 전체 `apps/client` Flutter test 실행, `git diff --check` 실행, 실제 출력 기록.
- 제외: parser map 소스 추가 수정, proto-socket core 수정, generated protobuf 재생성, remote runner의 unrelated dirty file 정리, git push/commit, roadmap 갱신.

### 빌드 등급

- `local-G04`: 후속 작업은 결정론적인 명령 실행과 증거 기록이며, 제품/설계 판단이나 광범위한 코드 변경은 없다.

## 구현 체크리스트

- [ ] 원격 runner checkout이 reviewed commit `1dc8d7416ad011ca0c3260cbe622713d68718733`와 동기화되어 있는지 확인하고, 동기화되지 않았으면 실제 HEAD/status와 차단 사유를 기록한다.
- [ ] 동기화된 원격 runner에서 targeted Flutter 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`를 실행하고 실제 stdout/stderr를 기록한다.
- [ ] 동기화된 원격 runner에서 `cd apps/client && flutter test`와 `git diff --check`를 실행하고 실제 stdout/stderr를 기록한다.
- [ ] 소스 변경이 필요한 경우에는 범위 이탈 사유를 `계획 대비 변경 사항`에 기록하고, 불필요하면 소스 변경 없음으로 기록한다.
- [ ] `CODE_REVIEW-local-G04.md`의 구현 에이전트 소유 섹션을 실제 검증 내용과 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

## 구현 항목

- [REVIEW_IOP_PARSER_ALIAS-1] 공식 client 검증 증거 회복
  - 문제: 이전 루프는 local Flutter test 통과만 기록했고, 원격 runner의 동기화된 checkout 기준 evidence가 없다.
  - 해결: reviewed commit이 반영된 원격 runner에서 targeted/full Flutter test와 whitespace check를 실행하고 출력 전체를 review stub에 기록한다. 원격 checkout이 동기화되지 않아 실행할 수 없으면, 정확한 HEAD/status와 미실행 사유를 기록한다.
  - 변경 파일: `agent-task/proto-socket-iop-parser-alias/CODE_REVIEW-local-G04.md`
  - 중간 검증: `ssh -o BatchMode=yes toki@toki-labs.com 'cd /Users/toki/agent-work/iop && git rev-parse HEAD && git status --short'`

## 수정 파일 요약

- 예상 변경: `agent-task/proto-socket-iop-parser-alias/CODE_REVIEW-local-G04.md`
- 변경 금지: `apps/client/lib/iop_wire/parser_map.dart`, `apps/client/test/iop_wire/parser_map_test.dart`, `/config/workspace/proto-socket/**`, generated protobuf files

## 최종 검증

공식 evidence는 원격 runner의 동기화된 checkout 기준이다. 동기화되지 않은 checkout에서 실행한 결과나 현재 local quick check는 보조 evidence로만 기록한다.

```bash
ssh -o BatchMode=yes toki@toki-labs.com 'cd /Users/toki/agent-work/iop && git rev-parse HEAD && git status --short'
ssh -o BatchMode=yes toki@toki-labs.com 'cd /Users/toki/agent-work/iop && 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'
ssh -o BatchMode=yes toki@toki-labs.com 'cd /Users/toki/agent-work/iop && cd apps/client && flutter test'
ssh -o BatchMode=yes toki@toki-labs.com 'cd /Users/toki/agent-work/iop && git diff --check'
```

예상 결과: 원격 runner checkout이 reviewed commit과 동기화되어 있고, targeted regression과 전체 Flutter test가 통과하며 whitespace error가 없다.
