2.8 KiB
2.8 KiB
Milestone: 메시징 계약 표준화
위치
- Roadmap:
agent-ops/roadmap/ROADMAP.md - Phase:
agent-ops/roadmap/phase/messaging-runtime/PHASE.md
목표
서버 core와 Flutter 플러그인이 주고받는 메시지, 알림, device token, ACK, navigation event 계약을 정리한다. 초기에는 기존 Mattermost-compatible 계약을 유지하되, nexo가 소유할 API와 compatibility layer를 구분한다.
상태
[계획]
승격 조건
- 없음
구현 잠금
- 상태: 잠금
- 결정 필요:
- nexo public API를 Mattermost-compatible 형태로 유지할지, nexo wrapper API를 먼저 만들지 결정한다.
- 메시징 전체 기능 중 Flutter 앱에 우선 노출할 범위를 결정한다.
범위
- Flutter plugin public Dart API
- Android native plugin event와 storage contract
- server core push payload, ACK, channel/thread routing contract
- 계약 문서 위치와 테스트 anchor
기능
Epic: [api] Public API
앱이 의존할 수 있는 최소 메시징/알림 API 표면을 정리한다.
- [dart-api] Dart public API에서 유지할 이름, deprecated 후보, nexo wrapper 후보를 분리한다.
- [event-shape] notification event, opened event, token event의 payload shape와 backward compatibility 기준을 문서화한다.
- [token-flow] device token 저장, auth token 저장, signing key 저장 책임과 호출 순서를 정리한다.
Epic: [server-contract] Server contract
서버 core와 플러그인이 공유하는 메시징/알림 계약을 확인 가능한 형태로 만든다.
- [push-payload] push payload 필드와 검증 기준을 서버/플러그인 양쪽 문서에서 연결한다.
- [ack-contract] ACK 요청 형식과 실패 처리 기준을 정리한다.
- [routing-contract] channel/thread navigation event가 client router로 전달되는 기준을 정리한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- API rename 구현은 이 Milestone의 문서/계약 정리 이후 별도 작업으로 진행한다.
- 별도 contract package 생성은 중복 비용이 확인되기 전까지 하지 않는다.
- full chat UI 구현은 이 Milestone의 범위가 아니다.
작업 컨텍스트
- 관련 경로:
packages/messaging_flutter/lib/,packages/messaging_flutter/android/,services/core/server/,apps/client/ - 표준선(선택): compatibility를 깨는 rename보다 wrapper와 migration path를 우선 검토한다
- 선행 작업: 정체성 기준선, 클라이언트 검증 기준선
- 후속 작업: 알림 파이프라인 고도화, 멀티앱 채널 모델
- 확인 필요: public API 방향과 Flutter 앱 우선 노출 범위