# 프로토콜 기준선 ## 목표 각 구현체가 애플리케이션별 동작을 코어에 넣지 않고도 상호 운용될 수 있도록 Proto Socket의 공유 프로토콜 계약을 확립한다. ## 단계 프로토콜 기반 ## 상태 완료 ## 범위 - TCP 4바이트 빅엔디안 길이 프리픽스 프레이밍을 문서화한다. - WebSocket/WSS 바이너리 프레임 전송을 문서화한다. - `PacketBase`, `typeName`, `nonce`, `responseNonce`, `HeartBeat` 동작을 정의한다. - 프로토콜 버전과 패키지 버전의 분리 정책을 정의한다. - `proto/message_common.proto`를 canonical proto 원본으로 둔다. ## 필수 기능 - [x] 프로토콜 버전 `0.1`을 `PROTOCOL.md`와 `VERSIONING.md`에 문서화한다. - [x] Canonical proto 원본이 `proto/message_common.proto`임을 문서화한다. - [x] TCP 및 WebSocket 와이어 포맷을 문서화한다. - [x] 하트비트 생명주기와 요청-응답 상관관계를 문서화한다. - [x] breaking / non-breaking 프로토콜 변경 정책을 문서화한다. ## 완료 기준 - [x] 구현자는 `PROTOCOL.md`, `VERSIONING.md`, `PORTING_GUIDE.md`를 기준으로 호환되는 언어 포트를 만들 수 있다. - [x] 프로토콜 수준 변경에는 명시적인 호환성 검토 경로가 있다. - [x] 생성된 언어별 proto 사본은 canonical schema와 대조할 수 있다. ## 범위 제외 - 애플리케이션 수준 인증, 세션, 채팅, 게임, 룸, 에이전트 워크플로 의미를 정의하지 않는다. - 언어 패키지를 배포하지 않는다. - TCP/TLS 및 WebSocket/WSS 외의 새 transport 계열을 추가하지 않는다. ## 작업 컨텍스트 - 관련 경로: `PROTOCOL.md`, `VERSIONING.md`, `PORTING_GUIDE.md`, `proto/message_common.proto`, `tools/check_proto_sync.sh` - 선행 작업: 없음 - 후속 작업: 사용 가능 언어 parity - 확인 필요: 없음