# v0.1.218 — 33rd Stable Seal (QA Cleanup 시리즈)

**날짜**: 2026-05-17
**범위**: v0.1.215 ~ v0.1.218 4 사이클
**누적 정리**: ~280 라인 (Factory00Bootstrap.cs + SearchWidgetViewModel.cs + SettingsPanelViewModel.cs)

## 사용자 명시 AC

> "QA는 빌드안에 포함시키지 말고 빼라"

production 빌드에 포함된 모든 QA 디버그 코드 일괄 제거. 외부 자동화는 `capture-unity-1920.sh` + PostMessage 키보드 패턴(qa-test-by-repro.md §1.2)으로 일원화.

## 사이클별 변경

### v0.1.215 — 디버그 키 + autoTypeSearch + Debug* 4 메서드 제거 (~150 라인)
- F6/F7/F8/F10/Insert 디버그 키 가드 + `Time.frameCount == 600` 자동 진단
- `autoTypeSearch` + `-qa` CLI + `-gizmo-rotate` CLI
- `DebugSplitterDelta` / `DebugAxisDragSimulate` / `DebugSimulateDragSelectInViewport` / `DebugSimulateDragSelectOverPanel` 메서드 4종
- `_autoDiagFired` / `_autoSearchTriggered` / `_autoSearchTimer` / `_gizmoStartRotate` 필드

### v0.1.216 — WASD 토스트 + MouseDown Log + SearchVM 진단 인프라 (~60 라인)
- WASD 진단 토스트 블록 (24-redesign-13)
- MouseDown 진단 Debug.Log (24hh)
- SearchVM `FocusInCount` / `FocusOutCount` / `EscKeyCount` / `MouseDownCount` / `OnDiagnostic` 카운터·콜백·Debug.Log

### v0.1.217 — SettingsVM 진단 인프라 cascade (~50 라인)
- SettingsVM `GearMouseDownCount` / `GearClickedCount` / `EscEventCount` / `ToggleCallCount` / `OnDiagnostic` 카운터·콜백·Debug.Log
- [설정] MouseDownEvent / PointerDownEvent 진단 콜백
- NEXTFRAME panel layout schedule 진단 블록
- Toggle SKIP/FAIL OnDiagnostic.Invoke
- 해상도 변경 OnDiagnostic
- Bootstrap `_settingsVM.OnDiagnostic` wire + SearchVM NavigationMoveEvent Debug.Log

### v0.1.218 — tombstone 주석 + Open/Close Debug.Log (~30 라인)
- tombstone 주석 13건 (Bootstrap 9 / SearchVM 2 / SettingsVM 2) — `deprecated-spec-marking.md` 룰 준수
- SettingsVM.Open() / Close() Debug.Log 매 panel toggle 발화 제거
- 24-redesign-12 부모 chain 주석 묶음 제거

## critic 결과 (4 라운드 cascade)

| 사이클 | 판정 | 결함 |
|---|---|---|
| v0.1.215 | CONDITIONAL | 중대 3 (WASD 토스트 / MouseDown Log / SearchVM 진단) |
| v0.1.216 | CONDITIONAL | 중대 2 (SettingsVM cascade / NavigationMoveEvent Log) |
| v0.1.217 | CONDITIONAL | 중대 2 (tombstone 주석 / Open/Close Log) |
| v0.1.218 | **PASS** | 치명 0 / 중대 0 / 중간 2 (BindLitToggle/BindResolutionDropdown Init 경로 Log — 다음 사이클 deferred) |

## 보존 (production lifecycle)

- F9 키 캡처 (사용자 수동 export)
- `-capture-now / -capture-delay / -capture-exit / -qa-out` CLI 4종 (capture-unity-1920.sh 의존)
- `qaCaptureDir` 필드
- F12 InterfaceEmulation 데모 (production feature)
- SettingsVM.Init() Debug.Log `Init 완료` (1회 lifecycle)
- SettingsVM.Toggle() Debug.LogWarning `Toggle FAIL panel=null` (production warn safety)

## 외부 자동화 영향

- **capture-unity-1920.sh** — CLI 4종 그대로 동작. 영향 0
- **build-and-publish.sh / publish-build-auto.sh** — F-키 / `-qa` 사용 안 함. 영향 0
- **PostMessage 키보드 자동화** (qa-test-by-repro.md §1.2) — F1~F5 / F9 / F11 / F12 그대로
- **사용자 수동 사용** — F9 캡처 / F11 collapse / F12 데모 그대로

## 다음 사이클 큐

- v0.1.219+ Model P2.2 Add Servo (ServoAxisActuator 부착)
- v0.1.220+ Model P2.3 Add Pneumatic / Add Rotary
- v0.1.221+ Review P4 충돌 검사 (Physics.OverlapBox)
- task #39 InspectorVM / MotorTableVM 분리 (Bootstrap 슬림화 — 향후 -500~700 라인 추가 감축 가능)
- 다음 Log cleanup 사이클에서 BindLitToggle / BindResolutionDropdown Init 경로 Log 처리

## 외부 URL

- 다운로드 (stable): https://os-file-server.tail2b816d.ts.net/downloads/factory00-windows-x64-v0.1.218-qa-cleanup-stable.zip
- 다운로드 (cycle): https://os-file-server.tail2b816d.ts.net/downloads/factory00-windows-x64-v0.1.218.zip
- 갤러리: https://os-file-server.tail2b816d.ts.net/latest-builds.html#v0.1.218
