72 lines
2.6 KiB
Markdown
72 lines
2.6 KiB
Markdown
# Milestone: Contract and Codegen Baseline
|
|
|
|
## 위치
|
|
|
|
- Roadmap: `agent-ops/roadmap/ROADMAP.md`
|
|
- Phase: `agent-ops/roadmap/phase/foundation-alignment/PHASE.md`
|
|
|
|
## 목표
|
|
|
|
proto-socket을 transport로 유지하면서 ALT application protobuf 계약을 Go API/worker와 Flutter client가 반복 가능하게 소비할 수 있는 기준을 만든다. 계약은 `alt.v1`을 유지하고, generated output은 source schema에서만 생성한다.
|
|
|
|
## 상태
|
|
|
|
[계획]
|
|
|
|
## 구현 잠금
|
|
|
|
- 상태: 해제
|
|
- 결정 필요: 없음
|
|
|
|
## 범위
|
|
|
|
- `packages/contracts/proto/alt/v1` schema 정리
|
|
- Go/Dart protobuf generation 명령과 산출 위치 결정
|
|
- proto-socket parser map과 typeName 등록 기준
|
|
- contract compatibility note
|
|
- generated output 검증 명령
|
|
|
|
## 필수 기능
|
|
|
|
### Epic: [contracts] Contract schema and codegen
|
|
|
|
ALT application protobuf 계약과 generated output 검증 흐름을 묶는다.
|
|
|
|
- [ ] [schema-baseline] `common.proto`, `market.proto`, `backtest.proto`가 MVP payload 기준을 담는다.
|
|
- [ ] [go-codegen] Go generated contract를 반복 생성할 수 있는 명령이 있다.
|
|
- [ ] [dart-codegen] Flutter client가 사용할 Dart generated contract를 반복 생성할 수 있는 명령이 있다.
|
|
- [ ] [parser-map] API/client에서 contract message parser map을 구성할 표준 위치와 패턴이 정해져 있다.
|
|
- [ ] [compat-note] additive change, field number, versioning 기준이 contracts 문서에 정리되어 있다.
|
|
- [ ] [contract-check] root 검증 또는 contracts 검증 명령이 schema/codegen drift를 감지한다.
|
|
|
|
## 완료 기준
|
|
|
|
- [ ] Go와 Dart contract generation 명령이 문서화되어 있고 로컬에서 실행된다.
|
|
- [ ] generated output은 source schema와 함께 검증할 수 있다.
|
|
- [ ] proto-socket transport proto와 ALT application proto의 책임이 문서에서 분리되어 있다.
|
|
- [ ] `bin/test`와 `bin/lint`가 contract 변경 후 통과한다.
|
|
|
|
## 완료 리뷰
|
|
|
|
- 상태: 없음
|
|
- 요청일: 없음
|
|
- 완료 근거: 아직 필수 기능과 완료 기준이 충족되지 않았다.
|
|
- 리뷰 필요:
|
|
- [ ] 사용자가 완료 결과를 확인했다
|
|
- [ ] archive 이동을 승인했다
|
|
- 리뷰 코멘트: 없음
|
|
|
|
## 범위 제외
|
|
|
|
- 실제 KIS 데이터 수집 구현
|
|
- DB persistence schema 확정
|
|
- Flutter 전체 화면 구현
|
|
- 실거래 주문 계약
|
|
|
|
## 작업 컨텍스트
|
|
|
|
- 관련 경로: `packages/contracts/`, `services/api/`, `apps/client/`
|
|
- 표준선(선택): proto-socket은 transport layer이고 ALT payload는 `packages/contracts/proto`가 source-of-truth다.
|
|
- 선행 작업: Workspace Baseline
|
|
- 후속 작업: Socket Session Loop
|
|
- 확인 필요: 없음
|