# ADR-0011 — Phase 4 범위·완성 기준

상태: **Accepted (2026-05-08, 야간 자율 사이클 6)**

---

## 결정

Phase 4 = **첫 매출 + 실 라이브러리 통합 + 영어 마케팅 + 산업 케이스 패키지**.
자율 진행 가능 영역과 사용자 GUI 검증 영역을 명확히 분리.

## 자율 진행 가능 영역 (Phase 4 코어)

### A. 60fps 성능 옵션 적용 (ADR-0008 옵션 A/B/D)

- [ ] `Part.dirty` flag 추가 + SimulationLoop가 dirty만 sync
- [ ] `Part.cachedTransform` 추가 (`[NonSerialized]`) — Dictionary lookup 제거
- [ ] Quaternion 캐시 — `cachedQuaternion` + 회전 변화 감지
- [ ] 단위 테스트 — dirty flag 동작 + sync 누락 없음

### B. 라이선스 키 검증 추상

- [ ] `ILicenseKeyVerifier` 인터페이스 — 서버 백엔드 없이 추상만
- [ ] `OfflineKeyVerifier` 구현 (HMAC + 시간 만료 가정)
- [ ] `LicenseManager.ApplyKey(string key)` API
- [ ] 단위 테스트

### C. NModbus / EasyModbus 라이브러리 평가 ADR

- [ ] 4종 비교: NModbus / EasyModbusTCP / FluentModbus / Modbus.Net
- [ ] 라이선스 / 기능 / 의존성 / 마지막 업데이트
- [ ] 권장안 ADR-0012

### D. 영어 마케팅 페이지 (`/home/en`)

- [ ] `wiki/home-en.html` (한국어 home.html 영어 변형)
- [ ] server.py `/home/en` + `/home/en/` 라우트
- [ ] PDF 링크는 같은 v3 (영어판 PDF는 Phase 4 후반)

### E. 산업 케이스 패키지 데이터 모델

- [ ] `IndustryCase` 데이터 모델 (이름, 분야, 부품 수, 시퀀스 수, 시연 핵심)
- [ ] 3종 SSOT JSON 시드 (smartfactory / automotive / semiconductor)
- [ ] 단위 테스트

### F. 자동 검증

- [ ] Phase 4 통합 테스트 (60fps 옵션 + License 키 + IndustryCase 라운드트립)
- [ ] Unit Tests 누적 100+ PASS
- [ ] 컴파일 12차 누적 클린

### G. 협업자 자료

- [ ] ADR-0011 (이 문서) + ADR-0012 (Modbus 라이브러리)
- [ ] ADR-phase4-completion (사이클 N에서 봉인)
- [ ] README Phase 4 섹션
- [ ] 보고 페이지 R2 + /home Phase 4 행
- [ ] PDF v4 재생성

## Phase 4 외 (사용자 GUI 검증 영역)

- 시퀀스 편집기 드래그·다중 선택 UX
- 노드 그래프 양방향 sync UX
- WebGL 빌드 실 검증
- DOTS/ECS 마이그레이션 (60fps 측정 결과 의존)
- 라이선스 키 발급 백엔드 (서버 인프라 — 별도 도메인)
- 첫 유료 고객 + 매출 (영업 활동)

## Phase 5 입력

- 토크 후처리 모듈 (운동학 → 사양 결정 가치 단계)
- 일본어 / 독일어 로컬화
- 클라우드 협업 (Phase 5 이상)

## 자율 진행 우선순위

1. **A. 60fps 옵션 적용** — 사용자 검증 전이라도 코드 + 단위 테스트로 회귀 방지
2. **B. 라이선스 키 추상** — Phase 5 백엔드 발급 시 swap 가능 인터페이스
3. **C. Modbus 라이브러리 평가 ADR** — Phase 4 후반 통합 결정 입력
4. **D. 영어 /home/en** — 자율 가능, 영어권 BD 즉시 사용
5. **E. IndustryCase 데이터 모델** — 자율 가능, 시드 JSON
6. **F. 자동 검증** — 매 사이클 끝에 누적 클린
7. **G. 봉인 + 보고 + PDF v4** — 마지막 사이클

## 사용자 명시 자율 진행 흐름

- 2026-05-08 00:42 사용자: "phase 3 자율 진행. 나는 이제 잔다... 밤새 자율진행"
- Phase 3 봉인(ADR-0010, 사이클 4) 후 자체 판단 Phase 4 진입
- 사용자 깨어남 가정 시각: 2026-05-08 07:00 KST (지시 명시)
- 자율 진행 한도: 사이클당 25분 × 약 12 사이클 가능 (사이클 6 시점 기준)

## 참고

- ADR-0001~0010 — 기존
- ADR-0008 — 60fps 성능 예산 (옵션 A/B/D 정의)
