# Milestone: 통합 계약 문서화 ## 위치 - Roadmap: `agent-ops/roadmap/ROADMAP.md` - Phase: `agent-ops/roadmap/phase/consumer-adoption/PHASE.md` ## 목표 소비 프로젝트가 이 플러그인을 도입할 때 반드시 지켜야 하는 계약을 정리한다. Firebase 설정, auth token 저장, signing key 저장, device token 등록, notification navigation callback 연결 책임을 plugin과 host app 사이에서 명확히 나눈다. ## 상태 [계획] ## 구현 잠금 - 상태: 해제 - 결정 필요: 없음 ## 범위 - host app integration guide 작성 - Firebase/manifest 설정 주의사항 정리 - 인증과 signing key lifecycle 문서화 - notification opened event와 navigation callback contract 정리 ## 필수 기능 ### Epic: [host-contract] Host App 책임 소비 프로젝트가 구현해야 하는 영역을 명확히 한다. - [ ] [firebase] Firebase 설정과 초기화 책임을 문서화한다 - [ ] [auth] login/logout 시 auth token 저장과 clear 흐름을 문서화한다 - [ ] [signing] server signing key 저장 흐름을 문서화한다 - [ ] [device-token] `android_rn-v2:` device token 등록 책임을 문서화한다 ### Epic: [navigation] Navigation 계약 알림 tap 이벤트를 소비 앱 라우팅으로 연결하는 기준을 정한다. - [ ] [channel] channel notification callback 계약을 문서화한다 - [ ] [thread] CRT thread notification callback 계약을 문서화한다 - [ ] [payload] host app이 기대할 수 있는 payload key를 문서화한다 ### Epic: [compatibility] 호환성 주의사항 소비 프로젝트에서 충돌하기 쉬운 설정을 미리 드러낸다. - [ ] [manifest] `firebase_messaging` service 제거 설정의 의미를 문서화한다 - [ ] [multi-server] 여러 Mattermost server 사용 시 identifier/fallback 기준을 문서화한다 - [ ] [android-only] Android-first 제약과 iOS/macOS stub 상태를 문서화한다 ## 완료 기준 - [ ] 새 소비 프로젝트가 README만 보고 기본 integration 순서를 이해할 수 있다 - [ ] 소비 프로젝트가 구현할 책임과 plugin이 제공할 책임이 분리되어 있다 - [ ] payload key와 token format이 문서에 명시되어 있다 - [ ] Android FCM service 충돌 가능성과 대응 기준이 문서화되어 있다 ## 완료 리뷰 - 상태: 없음 - 요청일: 없음 - 완료 근거: 없음 - 리뷰 필요: - [ ] 사용자가 완료 결과를 확인했다 - [ ] archive 이동을 승인했다 - 리뷰 코멘트: 없음 ## 범위 제외 - 프로젝트별 onboarding 문서 작성 - 소비 앱 내부 라우터 구현 - 소비 앱 인증 API 구현 ## 작업 컨텍스트 - 관련 경로: `README.md`, `example/README.md`, `lib/**`, `android/src/main/AndroidManifest.xml` - 표준선(선택): plugin 문서는 공통 계약만 설명하고, 프로젝트별 예외는 소비 프로젝트 문서에 둔다 - 선행 작업: 검증 기반 정착, Android 런타임 신뢰도 강화 - 후속 작업: 릴리스와 소비 방식 정리 - 확인 필요: 없음