# 이슈 #12 — smoke 2차 gap fix evaluator - 일자: 2026-04-07 - 역할: Evaluator (독립 세션) - 관련 이슈: #12 - 평가 대상 커밋: `8784fec` - 결과: **PASS** ## 소요 시간 약 6분 ## Context 사용량 약 55k tokens (Opus 4.6 [1m]) ## 수행 내역 1. `dotnet build recordingtest.sln` → 0 warn / 0 err 2. `dotnet test recordingtest.sln --no-build` → 71 pass / 0 fail / 0 skip 3. Gap A: `UiaPathParser.cs`, `IUiaPathResolver.cs`, `UiaPlayerHost.cs` 직접 read — 분리된 파서/리졸버, FlaUI 어댑터, null-on-miss 확인 4. Gap B: `DragCollapser.cs` — `lastFocusPath`/`lastMousePath` 상태 + `FlushType` fallback 체인 확인 5. Gap C: `WindowFilter.cs`, `LowLevelHook.cs`, `Program.cs` — `SutProcessWindowFilter` 구현 + 마우스/키 분리 + Program 와이어링 확인 6. Gap D: `ScenarioWriter.cs` — 명시적 `UTF8Encoding(false)` 확인; 라운드트립 테스트의 BOM 바이트 단언 확인 7. `PlayerEngine.cs` `Thread.Sleep` grep → 0 8. `git diff HEAD~1 HEAD -- tests/...RecorderTests.cs` 로 신규 테스트 5개 모두 load-bearing 확인 9. `docs/contracts/smoke2-gap-fix.md` 부재 확인 — issue body 운영, evaluation 파일에 명시 ## 산출물 - `docs/contracts/smoke2-gap-fix.evaluation.md` (verdict + 회귀 트랩 표) - 본 히스토리 파일 ## 비고 - Sprint Contract 파일이 없는 follow-up 흐름이지만 4개 gap이 issue body에 명확히 정의되어 있어 평가 가능했음. - PROGRESS.md / 코드 수정은 evaluator scope 밖이라 손대지 않음.