52 lines
4 KiB
Markdown
52 lines
4 KiB
Markdown
# 로드맵
|
|
|
|
## 전체 목표
|
|
|
|
Proto Socket은 여러 언어와 플랫폼에서 일관되게 동작하는 얇고 안정적인 protocol-first 소켓 통신 라이브러리를 제공하는 것을 목표로 한다. 공유 계약은 Protocol Buffers 직렬화, TCP/WebSocket 바이너리 프레이밍, 타입 기반 라우팅, 요청-응답 상관관계, 내장 하트비트다.
|
|
|
|
코어는 작게 유지한다. 인증, 세션, 채팅, 게임 규칙, 룸 로직, 에이전트 워크플로 같은 애플리케이션 의미는 이 프로토콜 계층 위에서 다룬다.
|
|
|
|
## Phase 흐름
|
|
|
|
- 프로토콜 기반: 프로토콜 버전 `0.1`, 와이어 포맷, 버전 정책, canonical proto 원본, 레퍼런스 구현 패턴을 정의한다.
|
|
- 검증과 호환성: 동일 언어 테스트, 크로스 언어 테스트, proto 동기화 검사, 지속 검증으로 사용 가능한 구현체들을 정렬한다.
|
|
- 안정화와 유지: 현재 5개 언어 구현을 완성형 후보로 보고 안정성 판단, 문서 정합성, 유지 기준을 정리한다.
|
|
- 남은 native platform 포팅: 실제 수요가 생기기 전까지 C# 및 Swift 구현 추가를 보류한다.
|
|
- 릴리즈 준비: 현재 릴리즈 표준은 Git ref/tag 기반 소비로 둔다. 외부 package registry 릴리즈는 별도 수요가 생길 때 후속 작업으로 분리한다.
|
|
|
|
## Milestone 목록
|
|
|
|
### 프로토콜 기반
|
|
|
|
- [프로토콜 기준선](milestones/protocol-baseline.md) - 상태: 완료; 목표: 프로토콜 `0.1`, canonical proto, 프레이밍, 하트비트, nonce, 버전 정책을 문서화한다.
|
|
|
|
### 검증과 호환성
|
|
|
|
- [사용 가능 언어 parity](milestones/available-language-parity.md) - 상태: 완료; 목표: Dart, Go, Kotlin, Python, TypeScript가 사용 가능 상태이며 동일 언어 및 크로스 언어 테스트 진입점을 갖춘다.
|
|
- [지속 검증](milestones/continuous-verification.md) - 상태: 완료; 목표: 지원 언어, 크로스 언어 테스트, proto 동기화 검사를 저장소 로컬 검증 진입점으로 자동화한다.
|
|
|
|
### 안정화와 유지
|
|
|
|
- [안정화 기준선](milestones/stability-baseline.md) - 상태: 완료; 목표: 현재 5개 언어 구현을 완성형 후보로 보고 안정성 판단과 유지 기준을 정리한다.
|
|
|
|
### 남은 native platform 포팅
|
|
|
|
- [C# Unity/.NET 포트](milestones/csharp-port.md) - 상태: 보류; 목표: 실제 Unity/.NET 소비 수요가 생길 때까지 C# 구현 추가를 보류한다.
|
|
- [Swift Apple 플랫폼 포트](milestones/swift-port.md) - 상태: 보류; 목표: 실제 iOS/macOS 소비 수요가 생길 때까지 Swift 구현 추가를 보류한다.
|
|
|
|
### 릴리즈 준비
|
|
|
|
- [릴리즈 준비](milestones/release-readiness.md) - 상태: 완료; 목표: Git ref/tag 기반 릴리즈 기준과 검증 gate를 명확히 한다.
|
|
|
|
## 로딩 정책
|
|
|
|
- 일반 작업에서는 `agent-roadmap/ROADMAP.md`를 매번 읽지 않는다.
|
|
- 기능 추가, 구조 변경, 스킬 추가/수정, 문서 구조 변경 작업을 수행할 때는 `agent-roadmap/current.md`를 먼저 읽는다.
|
|
- `current.md`는 현재 작업 위치가 아니라 활성 Milestone 후보 목록이다.
|
|
- `current.md`에는 개인별 현재 작업 위치나 완료 상태를 기록하지 않는다.
|
|
- 요청 내용, 현재 브랜치, 변경 파일, 관련 코드 경로를 보고 가장 관련 있는 활성 Milestone 문서를 같은 세션에서 1회 읽는다.
|
|
- 활성 Milestone 밖의 작업이면 이 문서의 Milestone 목록을 확인하고 사용자에게 진행 또는 전환 여부를 확인한다.
|
|
- 이 문서는 로드맵 생성/갱신, Phase 전환, Milestone 추가/수정 요청이 있을 때만 읽는다.
|
|
- 상세 작업과 완료 기준은 각 Milestone 문서의 체크리스트로 관리한다.
|
|
- 이 로드맵은 기존 `README.md`의 구현 상태, 로드맵 방향, 지속 검증 메모와 `PORTING_GUIDE.md`의 C#/Swift 포팅 가이드를 Milestone 문서로 분리한 것이다.
|
|
- 이전 로드맵의 순번 붙은 단계명, Milestone 이름, Milestone 파일명은 순번 없는 이름과 slug로 정리했다.
|