# 2026-04-07 이슈 #12 — Smoke 2차 gap fix 오케스트레이션 - **이슈**: #12 (smoke 1회차 후속 4-gap fix) - **소요 시간**: ~15분 (Generator ~6분 + Evaluator ~2분 + orchestrator 마무리) - **Context 사용량**: ~400k tokens (orchestrator 누적) ## 사이클 1. Smoke 1회차 발견 4-gap 이슈화 (#12 open) 2. Generator 백그라운드 → commit `8784fec` (60 → 71 tests) 3. Evaluator 백그라운드 → **pass** (4/4 gap pass + regression trap 검증) 4. PROGRESS 갱신, 이슈 close, commit + push ## 수정 요약 - **Gap A**: `UiaPathParser` + `UiaPathResolver` + `IUiaTreeNode` 새 추상화. 기존 last-AutomationId 휴리스틱 제거. ancestor chain 따라 descend하며 id→name→class 우선. - **Gap B**: `DragCollapser`에 `lastFocusPath`/`lastMousePath` 추가. `FlushType` fallback chain 적용. - **Gap C**: `SutProcessWindowFilter` + P/Invoke `WindowFromPoint`/`GetForegroundWindow`. `Program.cs`가 attached pid로 wire. - **Gap D**: `ScenarioWriter`가 UTF-8 BOM-less 명시. 한글 round-trip 테스트 + BOM 부재 assertion. ## 비용 Generator ~92k + Evaluator ~58k + Orchestrator ~15k = **~165k** ## 다음 단계 **Smoke 2회차** — 실제 EG-BIM Modeler에서 짧은 Box 시나리오 재검증. 기대: - click이 정확한 element 잡음 - type "BOX"/"10" 실제로 입력됨 - SUT 외 이벤트 필터됨 - Box가 화면에 실제로 그려짐 사용자 라이브 환경 필요.