3.1 KiB
3.1 KiB
Milestone: ACK와 네트워크 회복성 검증
위치
- Roadmap:
agent-ops/roadmap/ROADMAP.md - Phase:
agent-ops/roadmap/phase/android-runtime-confidence/PHASE.md
목표
Mattermost ACK와 inline reply delivery가 예측 가능한 요청을 만들고 실패 상황을 안전하게 처리하도록 검증한다. 네트워크 의존 로직은 mock server 또는 fake client로 분리해 소비 프로젝트 없이 확인할 수 있게 한다.
상태
[계획]
구현 잠금
- 상태: 잠금
- 결정 필요: 아래 체크리스트
- ACK 실패 시 retry, drop, local queue 중 어떤 정책을 우선할지 결정한다
- inline reply 실패 시 사용자에게 표시할 책임이 plugin인지 소비 앱인지 결정한다
범위
- ACK request 생성과 auth token 사용 검증
- reply delivery request 생성 검증
- network failure, auth failure, server error 처리 기준 정의
- fake HTTP client 또는 mock server 기반 테스트 추가
필수 기능
Epic: [ack] ACK 전송 계약
Mattermost 서버로 보내는 receipt ACK 경로를 검증한다.
- [request-shape] ACK URL, method, header, body shape를 테스트한다
- [auth] 저장된 auth token 사용 여부를 테스트한다
- [success] 200/201 성공 응답 처리 기준을 테스트한다
Epic: [failure] 실패 처리
네트워크 실패가 plugin runtime을 불안정하게 만들지 않도록 한다.
- [network-error] timeout 또는 connection failure 처리 기준을 테스트한다
- [auth-error] 401/403 처리 기준을 정리한다
- [server-error] 5xx 응답 처리 기준을 정리한다
Epic: [reply] Inline Reply Delivery
Inline reply 요청 흐름의 입력과 실패 경계를 명확히 한다.
- [reply-request] reply text와 context가 Mattermost API 요청으로 변환되는지 테스트한다
- [reply-failure] reply 실패 시 저장, 재시도, 노출 정책을 결정된 기준대로 구현한다
완료 기준
- ACK 요청 생성이 네트워크 없이 테스트된다
- 성공과 실패 응답 처리 기준이 테스트 또는 문서로 명확하다
- inline reply delivery 실패 정책이 결정되고 구현에 반영되어 있다
- 외부 Mattermost 서버 없이 기본 네트워크 로직을 검증할 수 있다
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 없음
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- 소비 앱의 사용자-facing error UI
- Mattermost 서버 자체 동작 검증
- 장기 offline queue 제품 정책 확정 전 대규모 queue 구현
작업 컨텍스트
- 관련 경로:
android/src/main/java/**,android/src/main/kotlin/**,android/src/test/** - 표준선(선택): HTTP 테스트는 fake client 또는 mock server를 사용하고 실제 서버에 의존하지 않는다
- 선행 작업: Native 단위 테스트 확장
- 후속 작업: 소비 프로젝트 도입 안정화
- 확인 필요: ACK 실패 정책, inline reply 실패 책임 경계