# ADR-0006 — Phase 3 범위·완성 기준

상태: **Accepted (2026-05-08)**

---

## 결정

Phase 3 = **실 PLC 통합 + 사용자 편집기 강화 + 라이선스/기능 플래그 + 보안·성능 검수**.
사용자 GUI에서만 가능한 시연·UX 평가는 Phase 3 외 (사용자 검증 영역).

## 완성 기준 (체크리스트)

### A. 라이선스 기능 플래그 (Free/Pro/Enterprise)

- [ ] `LicenseTier` enum + 런타임 분기 시스템
- [ ] `FeatureGate` static API — `RequireTier(Tier.Pro, "feature.x")` 패턴
- [ ] Pro 차별화 기능에 게이트 적용 (시퀀스·MeshCollider·노드 그래프·익스포트)
- [ ] Free 모드에서 게이트된 기능 호출 시 토스트 안내
- [ ] 라이선스 키 검증 인터페이스 (Phase 4 실 키 발급)
- [ ] 단위 테스트 — Free 차단 / Pro 통과 / Enterprise 통과

### B. PLC 어댑터 — Modbus TCP 인터페이스

- [ ] `ModbusTcpAdapter` 스켈레톤 (라이브러리 의존 없는 추상)
- [ ] holding register / coil / discrete input 매핑 표
- [ ] `ModbusMappingTable` ScriptableObject + JSON 직렬화
- [ ] 단위 테스트 (Mock TCP 시뮬레이션)
- [ ] 실 라이브러리(NModbus / Easy-Modbus) ADR 별도 — 라이선스 평가

### C. 시퀀스 편집기 Inspector

- [ ] `SequenceEditorWindow` EditorWindow
- [ ] 좌측 시퀀스 목록 + 우측 Step 편집
- [ ] 시간 막대 시각화 (드래그 미구현, Phase 4)
- [ ] Step 추가/삭제/액션 변경

### D. WebGL 빌드 평가

- [ ] WebGL 타깃 빌드 시도 (사용자 GUI 필요 시 ADR로만)
- [ ] glTFast WebGL 호환성 조사
- [ ] 메모리/네트워크 비용 평가 ADR

### E. 보안 검수

- [ ] `wiki/server.py` path traversal 검증 (재확인)
- [ ] BasicAuth 적용 누락 endpoint 점검
- [ ] 업로드 파일 크기 한도
- [ ] CORS / referer 검증
- [ ] 보안 검수 ADR

### F. 60fps 평가

- [ ] 8763 부품 + Sequence + PLC + Update tick 부하 추정 ADR
- [ ] Profiler 가이드 작성
- [ ] DOTS/ECS 도입 임계점 결정 (Phase 4 입력)

### G. 자동 검증

- [ ] Phase 3 통합 테스트 (FeatureGate + ModbusMapping)
- [ ] Unit Tests 누적 50+ PASS
- [ ] Unity batch 컴파일 9차 누적 클린

### H. 협업자 자료

- [ ] ADR-0007 Phase 3 완성 봉인
- [ ] README Phase 3 섹션
- [ ] PDF v3 재생성
- [ ] 영어 시연 시나리오 (BD 영어권 채널 대비)

## Phase 3 외 (사용자 PC GUI 영역)

- 시퀀스 편집기 사용성
- 실 PLC 장비 연결 + Modbus TCP 통신
- WebGL 실 빌드 검증
- DOTS 마이그레이션 (성능 측정 후 결정)
- 라이선스 키 발급 시스템 (서버 백엔드 필요, Phase 4)

## Phase 4 입력 (Phase 3 사용자 검증 통과 후)

- 라이선스 키 발급·검증 백엔드 (자체 호스팅 또는 LemonSqueezy 등)
- 노드 그래프 양방향 sync
- 첫 유료 고객 + 매출 발생
- 영어 마케팅 페이지 (Phase 2의 i18n 인프라 활용)
- 산업별 케이스 패키지 (스마트팩토리·자동차·반도체)

## 자율 진행 우선순위 (사용자 부재 중)

1. **A. 라이선스 기능 플래그** — 코드 + 단위 테스트 자율 가능
2. **B. ModbusTcpAdapter 스켈레톤** — 라이브러리 의존 없는 추상 자율 가능
3. **E. 보안 검수** — 코드 정적 분석 자율 가능
4. **F. 60fps 평가 ADR** — 추정 + 가이드 자율 가능
5. **D. WebGL 평가 ADR** — 웹 서칭 + 평가 자율 가능
6. **C. 시퀀스 편집기** — Editor UI 코드 자율 가능
7. **G. 자동 검증** — 컴파일 + 테스트 자동 가능

## 결정 이유

- 사용자 명시 (2026-05-08 자정 직후): "phase 3 자율 진행. 나는 이제 잔다... 밤새 자율진행"
- 자율 가능 영역만 Phase 3에 포함, 사용자 GUI 검증 영역은 Phase 4로
- A·B·E·F·D는 코드/문서로만 완결 — 사용자 GUI 불필요
- C는 EditorWindow 코드 자율 작성 + 컴파일 검증 가능

## 참고

- ADR-0001~0005 — 기존
- 사용자 야간 자율 진행 지시 — `wiki/journal/2026-05-08.md` 야간 섹션
