3.9 KiB
3.9 KiB
Milestone: Mattermost Nexo Messaging Alignment
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/external-integration/PHASE.md
목표
현재 workflow/core 작업을 계속 확장하기 전에 Mattermost 메시지/알림 경계를 ../nexo/packages/messaging_flutter 기준으로 먼저 고정한다. NomadCode core는 Mattermost REST 메시지 발송과 task notification 발행을 담당하고, nexo messaging package는 client-side FCM 수신, signature 검증, ACK, notification display, opened-routing, inline reply, dismiss를 담당한다는 선을 구현과 검증 문서에 맞춘다.
상태
[진행중]
구현 잠금
- 상태: 해제
- 결정 필요: 없음
범위
- NomadCode host의
MattermostPushClient경계를 현재nexo_messagingpublic API와 맞춘다. - ignored Mattermost credential asset에서 optional server identifier를 전달할 수 있게 한다.
- server-generated signed push smoke 절차와 External Integration 검증 기준 nexo 구조에 맞춰 유지한다.
- Android native push 처리 로직이
apps/client/android로 되돌아오지 않도록 책임 경계를 문서화한다.
기능
Epic: [nexo-boundary] Mattermost host and nexo package alignment
현재 작업보다 먼저 Mattermost messaging/notification 경계를 nexo-owned package 기준으로 정렬한다.
- [host-identifier] NomadCode host가 optional Mattermost server identifier를
MattermostPushClient와nexo_messaging의setAuthToken(..., identifier:)경계로 전달한다. 검증:cd apps/client && flutter test. - [docs-boundary]
agent-test/local/mattermost-server-generated-push-smoke.md,apps/client/push-notification-todo.md, contracts note, External Integration context가 nexo package의 Android-first/stub-platform 상태와 server-generated signed push smoke 기준을 일관되게 설명한다. 검증: 문서에서 raw token/password/signing key/FCM token 값을 기록하지 않는다. - [signed-smoke-refresh] 실제 Android runner에서 server-generated signed push smoke를 재실행해 FCM receipt, valid signature, ACK, notification display, opened event, inline reply, dismiss evidence를 redaction 상태로 남긴다. 검증:
agent-test/local/mattermost-server-generated-push-smoke.md의 Evidence Checklist가 PASS/PARTIAL/BLOCKED로 기록된다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: [진행중] FCM 수신, signature 검증, ACK 전송, system notification display는 PASS이나, opened event, channel navigation, inline reply, dismiss/clear, device token prefix는 실제 동작 및 접두사 증적 수집 대기 중으로 부분 완료(PARTIAL) 상태입니다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- Plane/Jira adapter 확장
- Agent Integrator 또는 A2A 도입 결정
- core Mattermost REST 메시지 발송 adapter의 전체 구현
- iOS/macOS native push runtime 구현
- Mattermost 제품 UX 또는 채널 화면 구현
작업 컨텍스트
- 관련 경로:
apps/client/lib/src/integrations/mattermost/,apps/client/push-notification-todo.md,agent-test/local/mattermost-server-generated-push-smoke.md,packages/contracts/notes/flutter-core-api-candidates.md,../nexo/packages/messaging_flutter - 표준선(선택):
../nexo/packages/messaging_flutter는 Android-first client-side messaging/notification SDK이고, NomadCode host는 Firebase 설정, credential handoff, signing key, optional server identifier, navigation callback만 전달한다. - 선행 작업: Mattermost Messaging Android Smoke
- 후속 작업: Workflow Core 재개, External Integration의
[mattermost-adapter]구현 - 확인 필요: signed push smoke 재실행 시 private input은
agent-test/local/rules.md와agent-test/local/mattermost-server-generated-push-smoke.md가 라우팅하는 ignored secret 파일에서만 읽는다.