task=proto_restructure
date=2026-04-25
result=PASS

## 완료된 작업 (plan=0)

| 항목 | 내용 |
|------|------|
| PROTO_MOVE-1 | `proto/message_common.proto` 생성 (언어 옵션 없는 canonical). `tools/generate_proto.sh` Dart 섹션을 `--proto_path=proto --dart_out=dart/lib/src/packets/` 로 변경 |
| PROTO_MOVE-2 | `tools/check_proto_sync.sh` canonical 변수를 `canonical_proto="$repo_root/proto/message_common.proto"` 로 변경, "Dart canonical" 문구 제거 |
| PROTO_MOVE-3 | `PROTOCOL.md` "Proto Source" 섹션을 `proto/message_common.proto` 기준으로 갱신 |
| PROTO_MOVE-4 | `dart/lib/src/packets/message_common.proto` 삭제 (`.pb.dart` 생성 결과물만 유지) |

## 계획 외 추가 변경

- `PORTING_GUIDE.md`, `README.md`, `typescript/README.md`의 구 canonical 경로 갱신
- `agent-ops/rules/project/**`, 언어 템플릿의 proto 경로 참조 갱신

## 최종 상태

- `tools/check_proto_sync.sh`: Proto schemas are in sync.
- 구 canonical 경로(`dart/lib/src/packets/message_common.proto`, "Dart canonical") 전역 잔존 없음
- Dart: dart analyze No issues / dart test 43개 PASS
- Go: go build ./... 성공
- Kotlin: ./gradlew build BUILD SUCCESSFUL
