# 2026-04-07 — sut-prober 평가 (Evaluator) - **이슈:** #3 (관련: #2 sut-prober 구현) - **역할:** Evaluator (독립 채점) - **소요 시간:** 약 10분 - **Context 사용량:** 약 35K 토큰 ## 작업 요약 - `docs/contracts/sut-prober.md` 계약 기반으로 Generator 산출물을 채점. - `dotnet build recordingtest.sln` → 경고 0 / 오류 0. - `dotnet run --project src/Recordingtest.SutProber -- --sut "EG-BIM Modeler" --out docs/sut-catalog` → exit 0, plugins 187 / json 16 / assemblies 17. - 두 번째 실행 후 `git diff` / `git status --porcelain` 모두 비어있음 — 결정성 통과. - SutProber 소스 grep: 모든 `File.Write*`/`Directory.Create` 호출이 `outDir`(`docs/sut-catalog`) 대상. SUT 폴더 쓰기 없음. - `plugins.json` 경로는 `EG-BIM Modeler/Plugins/...` 형태로 repo-root 상대, forward slash. - `assemblies.json`의 `HmEG.dll` `HasPdb=true` 확인. ## Verdict **pass** — 9개 DoD 항목 전부 pass. 평가서: `docs/contracts/sut-prober.evaluation.md`. ## 비고 / 후속 권고 - JSON 프로퍼티 케이스가 PascalCase (`SizeBytes` 등). 계약 문서 표기인 snake_case와 다르나 evaluator 브리핑이 "size_bytes or equivalent"를 허용하므로 통과 처리. 후속 작업으로 `JsonNamingPolicy.SnakeCaseLower` 적용 검토 권장. - `JsonConfigScanner`는 루트가 객체일 때만 키를 수집. `CategoryCommands.json`처럼 단일 배열을 감싼 객체는 `CategoryCommands[0]…` 식 합성 키가 보이는데, 이는 스캐너가 아닌 원본 JSON 구조 문제. DoD 위반 아님. - PROGRESS.md는 호출자가 갱신 (verdict=pass).