appsok/agent-roadmap/phase/workflow-integration/milestones/install-session-history.md
toki 9c9f4cc217 feat: install attempt result model 및 UI 적용
- install_attempt_result.dart 모델 추가
- devices_page에 설치 결과 UI 적용
- app_shell.dart 및 widget_test.dart 업데이트
- agent-roadmap 및 agent-task 관련 파일 동기화
2026-06-16 13:43:20 +09:00

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 저장 없음으로 결정됨