- install_attempt_result.dart 모델 추가 - devices_page에 설치 결과 UI 적용 - app_shell.dart 및 widget_test.dart 업데이트 - agent-roadmap 및 agent-task 관련 파일 동기화
3.6 KiB
3.6 KiB
Milestone: 설치 오류 표시와 복사 리포트
위치
- Roadmap:
agent-roadmap/ROADMAP.md - Phase:
agent-roadmap/phase/workflow-integration/PHASE.md
목표
1차 MVP에서는 설치 이력을 저장하지 않고, 현재 설치 시도의 성공/실패와 핵심 오류만 바로 확인할 수 있게 한다. 사용자가 명시적으로 복사할 때만 build, device 표시 정보, install result, masking된 오류 메시지를 텍스트 리포트로 만든다.
상태
[진행중]
승격 조건
- 없음
구현 잠금
- 상태: 해제
- SDD: 불필요 - 1차 MVP의 현재 화면 오류 표시와 복사 리포트 범위이며, cross-repo 계약이나 외부 provider 쓰기가 없다.
- 결정 필요: 없음
- 1차 MVP에서는 설치 이력을 로컬이나 중앙 감사 로그에 저장하지 않는다.
- device 식별자는 저장하거나 관리하지 않고, 현재 화면과 복사 리포트에는 model 중심 표시와 필요 시 masked serial만 사용한다.
- logcat/error output은 영구 저장하지 않고, 현재 실행 화면 표시와 사용자가 요청한 masking된 복사 리포트에만 사용한다.
범위
- 현재 설치 시도의 success/failure 표시
- 현재 선택된 Jenkins job/build/artifact와 device 표시 정보
- 설치 실패 원인 요약과 오류 메시지 복사/공유
- token, private URL, device serial 원문 masking
기능
Epic: [history] 현재 설치 결과
설치 이력을 누적 저장하지 않고 현재 실행의 설치 결과만 앱 안에서 확인할 수 있게 한다.
- [session-model] 현재 설치 시도 결과를 화면 상태로 표현할 최소 모델을 정의한다.
- [local-store] 1차 MVP에서 설치 결과를 로컬 저장소에 영구 저장하지 않도록 한다.
- [recent-list] 최근 설치 목록 대신 현재 설치 결과와 실패 요약을 표시한다.
- [rerun] 저장된 최근 세션 재실행은 제공하지 않고 사용자가 현재 선택한 build/device로 다시 실행한다.
Epic: [report] 오류 리포트
실패 원인을 사용자와 개발자가 빠르게 공유할 수 있게 한다.
- [error-summary] install stderr/stdout의 주요 실패 원인을 요약 표시한다.
- [copy-report] 현재 build/device/install result를 포함한 masking된 텍스트 리포트를 복사할 수 있다.
- [masking] token, private URL, device serial masking 규칙을 적용한다.
- [retention] 보관 기간과 삭제 버튼 없이 현재 화면 상태만 초기화할 수 있게 한다.
완료 리뷰
- 상태: 없음
- 요청일: 없음
- 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증 충족 후 기록한다.
- 리뷰 필요:
- 사용자가 완료 결과를 확인했다
- archive 이동을 승인했다
- 리뷰 코멘트: 없음
범위 제외
- 중앙 서버 기반 감사 로그
- 로컬 설치 이력 저장과 최근 세션 목록
- 저장된 최근 세션 기반 재실행
- 지정 device allowlist 또는 device 관리 기능
- logcat 원문 장기 저장
- 조직 개인정보/보안 정책을 우회하는 식별자 저장
작업 컨텍스트
- 관련 경로:
lib/src/features/builds/,lib/src/features/devices/,lib/src/features/console/,lib/src/services/adb_service.dart - 표준선(선택): 1차 MVP는 설치 이력, device 식별자, logcat/error output을 영구 저장하지 않는다.
- 선행 작업: USB 설치와 device 선택, ADB 콘솔과 logcat
- 후속 작업: macOS 배포와 sandbox 검증
- 확인 필요: 없음 - 1차 MVP 저장 없음으로 결정됨