appsok/agent-roadmap/phase/workflow-integration/milestones/install-session-history.md

2.8 KiB

Milestone: 설치 세션 이력과 오류 리포트

위치

  • Roadmap: agent-roadmap/ROADMAP.md
  • Phase: agent-roadmap/phase/workflow-integration/PHASE.md

목표

최근 설치한 build, device, 결과, 오류 메시지를 로컬에서 다시 확인할 수 있게 한다. 반복 설치와 실패 재현에 필요한 정보를 남기되, secret이나 민감한 logcat 원문을 무분별하게 저장하지 않는다.

상태

[계획]

승격 조건

  • 없음

구현 잠금

  • 상태: 잠금
  • 결정 필요: 아래 체크리스트
    • 설치 이력을 로컬에만 둘지, 중앙 감사 로그 후보를 열어둘지 결정한다.
    • 저장할 device 식별자 수준을 serial 원문, masked serial, model 단위 중 선택한다.
    • logcat/error output 저장 범위와 보관 기간을 정한다.

범위

  • 최근 설치 세션 목록
  • install success/failure, Jenkins job/build/artifact, device metadata
  • 오류 메시지 복사/공유
  • 민감 정보 masking과 보관 기간 정책

기능

Epic: [history] 로컬 설치 이력

반복 업무에서 최근 설치 맥락을 빠르게 되찾을 수 있게 한다.

  • [session-model] install session 모델을 정의한다.
  • [local-store] 최근 설치 이력을 로컬 저장소에 저장한다.
  • [recent-list] 최근 설치 build와 결과를 앱에서 확인할 수 있다.
  • [rerun] 최근 세션의 build/artifact를 다시 설치 흐름으로 불러온다.

Epic: [report] 오류 리포트

실패 원인을 사용자와 개발자가 빠르게 공유할 수 있게 한다.

  • [error-summary] install stderr/stdout의 주요 실패 원인을 요약 표시한다.
  • [copy-report] build/device/install result를 포함한 텍스트 리포트를 복사할 수 있다.
  • [masking] token, private URL, device serial masking 규칙을 적용한다.
  • [retention] 이력 보관 기간과 삭제 버튼을 제공한다.

완료 리뷰

  • 상태: 없음
  • 요청일: 없음
  • 완료 근거: 모든 기능 Task와 Task 안에 명시된 검증 충족 후 기록한다.
  • 리뷰 필요:
    • 사용자가 완료 결과를 확인했다
    • archive 이동을 승인했다
  • 리뷰 코멘트: 없음

범위 제외

  • 중앙 서버 기반 감사 로그
  • logcat 원문 장기 저장
  • 조직 개인정보/보안 정책을 우회하는 식별자 저장

작업 컨텍스트

  • 관련 경로: lib/src/features/builds/, lib/src/features/devices/, lib/src/features/console/, lib/src/services/adb_service.dart
  • 표준선(선택): MVP 후 로컬 이력부터 시작하고 중앙 감사는 보안 Phase 후보로 둔다.
  • 선행 작업: USB 설치와 device 선택, ADB 콘솔과 logcat
  • 후속 작업: macOS 배포와 sandbox 검증
  • 확인 필요: 이력 저장 범위, 보관 기간, device 식별자 masking 정책