93 lines
4.7 KiB
Markdown
93 lines
4.7 KiB
Markdown
# Milestone: Client Integration Clone Adoption
|
|
|
|
## 위치
|
|
|
|
- Roadmap: `agent-ops/roadmap/ROADMAP.md`
|
|
- Phase: `agent-ops/roadmap/phase/operator-surface/PHASE.md`
|
|
|
|
## 목표
|
|
|
|
NomadCode의 `Client Integration Standardization` 결과를 ALT `apps/client`에 복제 가능한 형태로 반영한다. 기존 Riverpod/go_router client 구조를 유지하면서 Web + Android 우선 Dart bootstrap, proto-socket, Mattermost push host integration, iOS 후속 확장 경계를 ALT operator surface에 맞게 정리한다.
|
|
|
|
## 상태
|
|
|
|
[계획]
|
|
|
|
## 구현 잠금
|
|
|
|
- 상태: 잠금
|
|
- 결정 필요: 아래 체크리스트
|
|
- [ ] NomadCode client 표준화 산출물을 받은 뒤 ALT client에 복제할 파일/구조/설정 범위를 확정한다.
|
|
- [ ] Riverpod/go_router feature-first 구조와 공통 client skeleton을 결합할 기준을 결정한다.
|
|
- [ ] ALT에서 Mattermost push routing을 operator notification, 외부 링크, 실행 이벤트 중 어디로 연결할지 결정한다.
|
|
|
|
## 범위
|
|
|
|
- 기존 `apps/client` 모듈을 유지하면서 공통 client skeleton 정렬
|
|
- Web + Android 우선 bootstrap과 platform guard 반영
|
|
- proto-socket Dart client 설정, endpoint 주입, connection lifecycle 정리
|
|
- Mattermost push plugin host integration 반영
|
|
- Firebase host 설정과 token/auth/signing key 전달 경계 정리
|
|
- iOS는 동일 Dart API 위의 후속 native 확장 대상으로 문서화
|
|
- NomadCode에서 복제할 skeleton과 ALT에서 치환할 product-specific 항목 문서화
|
|
|
|
## 필수 기능
|
|
|
|
### Epic: [client-clone] Client standard clone
|
|
|
|
NomadCode client 표준을 ALT client 구조에 맞게 복제한다.
|
|
|
|
- [ ] [module-name] 기존 `apps/client` 모듈을 유지하고 package/app 표시 이름의 ALT 정체성 유지 기준을 문서화한다.
|
|
- [ ] [bootstrap] Web + Android 우선 bootstrap과 platform-specific initialization guard를 반영한다.
|
|
- [ ] [folder-layout] `src/app`, `src/integrations`, `src/features` 기준의 client skeleton을 Riverpod/go_router 구조와 맞춘다.
|
|
|
|
### Epic: [integration-clone] Integration clone boundary
|
|
|
|
공통 integration 경계를 ALT operator surface에 맞춰 연결한다.
|
|
|
|
- [ ] [proto-socket] proto-socket connection lifecycle과 endpoint configuration을 client integration으로 정리한다.
|
|
- [ ] [mattermost-push] Mattermost push는 plugin runtime을 사용하고 host는 Firebase config, auth/token/signing key, routing callback만 소유한다.
|
|
- [ ] [platform-targets] Web과 Android를 1차 target으로 검증하고 iOS 후속 확장 경계를 문서화한다.
|
|
|
|
### Epic: [handoff] Clone handoff
|
|
|
|
NomadCode 표준과 ALT 차이를 추적 가능하게 남긴다.
|
|
|
|
- [ ] [clone-checklist] NomadCode에서 가져올 항목과 ALT에서 치환할 항목을 checklist로 남긴다.
|
|
- [ ] [riverpod] Riverpod provider 경계와 go_router navigation 경계에 integration을 배치하는 기준을 문서화한다.
|
|
- [ ] [related-locks] Flutter operator surface 진행 milestone은 이 milestone의 표준 적용 범위가 확정되기 전까지 잠금 상태로 둔다.
|
|
|
|
## 완료 기준
|
|
|
|
- [ ] ALT `apps/client`가 client 표준 skeleton과 기존 Riverpod/go_router 구조를 충돌 없이 함께 따른다.
|
|
- [ ] Web build와 Android integration이 같은 Dart bootstrap 기준에서 설명되고 검증된다.
|
|
- [ ] proto-socket과 Mattermost push integration 책임 경계가 host/plugin/API 사이에서 충돌 없이 설명된다.
|
|
- [ ] iOS가 Android-only 예외가 아니라 동일 Dart API 위의 후속 확장 대상으로 문서화된다.
|
|
- [ ] `Flutter Operator Console` milestone과 충돌하는 범위가 잠금 또는 후속 작업으로 정리되어 있다.
|
|
|
|
## 완료 리뷰
|
|
|
|
- 상태: 없음
|
|
- 요청일: 없음
|
|
- 완료 근거: 없음
|
|
- 리뷰 필요:
|
|
- [ ] 사용자가 완료 결과를 확인했다
|
|
- [ ] archive 이동을 승인했다
|
|
- 리뷰 코멘트: 없음
|
|
|
|
## 범위 제외
|
|
|
|
- NomadCode 제품 feature 전체 복제
|
|
- ALT quant feature 화면 구현
|
|
- iOS native push full implementation
|
|
- Mattermost push plugin runtime 대규모 재작성
|
|
- API protobuf schema 세부 확정
|
|
|
|
## 작업 컨텍스트
|
|
|
|
- 관련 경로: `apps/client/`, `packages/contracts/`, `services/api/`, `../nomadcode/apps/client`, `../mattermost-push-plugin/`
|
|
- 표준선(선택): ALT는 기존 `apps/client` 경로와 Riverpod/go_router app shell을 유지하고, 공통 integration skeleton만 맞춘다.
|
|
- 표준선(선택): NomadCode에서 가져올 것은 client skeleton, integration boundary, bootstrap convention, handoff 문서이며 제품 feature는 복제하지 않는다.
|
|
- 선행 작업: NomadCode `Client Integration Standardization`, Socket Session Loop
|
|
- 후속 작업: Flutter Operator Console
|
|
- 확인 필요: 구현 잠금의 결정 필요 항목 참고.
|