# Milestone: 제품 골격 안정화

## 위치

- Roadmap: `agent-roadmap/ROADMAP.md`
- Phase: `agent-roadmap/phase/usable-mvp/PHASE.md`

## 목표

AppSok의 Flutter macOS scaffold를 실제 기능 구현이 가능한 기준선으로 안정화한다. 앱 shell, feature/domain 분리, 테스트/규칙/로드맵 기반 작업 환경을 갖춰 이후 Jenkins와 ADB 구현이 흩어지지 않게 한다.

## 상태

[완료]

## 승격 조건

- 없음

## 구현 잠금

- 상태: 해제
- 결정 필요: 없음

## 범위

- Flutter macOS 앱 shell과 기본 화면 구조
- `app-shell`, `artifact-flow`, `device-console`, `macos-platform` domain rule
- local smoke test routing과 기본 widget test
- README와 Agent-Ops 초기 작업 문맥

## 기능

### Epic: [shell] 앱 shell 기준선

빌드, 디바이스, 콘솔, 설정 화면으로 바로 진입할 수 있는 macOS 업무 앱 구조를 만든다.

- [x] [nav-shell] 좌측 navigation과 상단 Jenkins/ADB 상태 영역을 실제 상태 연결 전에도 안정적으로 표시한다. 검증: `flutter test`에서 app shell 렌더링과 navigation 전환이 통과한다.
- [x] [responsive-ui] 기본 테스트 viewport에서 텍스트/버튼 overflow가 없도록 card, badge, toolbar 크기를 안정화한다. 검증: `flutter test`가 overflow exception 없이 통과한다.
- [x] [theme] AppSok 이름과 업무 앱 성격에 맞는 Material theme 기준선을 유지한다.

### Epic: [ops] 작업 운영 기준선

후속 구현자가 어떤 규칙과 검증을 읽어야 하는지 명확히 한다.

- [x] [domain-rules] 주요 코드 경로가 4개 domain rule에 매핑되어 있다.
- [x] [roadmap] MVP와 후속 Phase의 milestone 문서가 생성되어 있다.
- [x] [smoke-tests] local smoke test routing이 domain별로 존재한다.
- [x] [baseline-check] scaffold 변경 후 `flutter analyze`와 `flutter test`를 통과한다. 검증: 두 명령 모두 성공한다.

## 완료 리뷰

- 상태: 승인됨
- 요청일: 2026-06-09
- 완료 근거:
  - 4개 domain rule과 프로젝트 domain mapping이 확인되었다.
  - MVP와 후속 Phase/Milestone 문서, domain별 local smoke routing 문서가 확인되었다.
  - remote Mac runner에서 `flutter analyze`와 `flutter test`가 성공했다.
- 리뷰 필요:
  - [x] 사용자가 완료 결과를 확인했다
  - [x] archive 이동을 승인했다
- 리뷰 코멘트: 2026-06-09 사용자 요청에 따라 재검토 후 문제 없음으로 완료 및 archive 처리.

## 범위 제외

- 실제 Jenkins 인증/조회 연결
- 실제 ADB 설치 실행 UI 연결
- macOS signing/notarization 검증

## 작업 컨텍스트

- 관련 경로: `lib/src/features/app_shell.dart`, `lib/src/theme/`, `agent-ops/rules/project/`, `agent-test/local/`, `agent-roadmap/`
- 표준선(선택): 프로젝트 규칙의 domain mapping과 Flutter `analyze/test` 기준
- 선행 작업: 없음
- 후속 작업: Jenkins 로그인과 credential 수명주기
- 확인 필요: 없음
