Files
recordingtest/docs/history/2026-04-07_이슈3-sut-prober-evaluator.md
minsung e3d2ff6c77 Orchestrate P1 evaluations and update progress (#3, #4, #5)
- sut-prober evaluation (pass)
- diff-reporter evaluation (pass with 1 partial follow-up)
- normalizer evaluations v1 (fail) + v2 (pass)
- PROGRESS.md Done rows for #3, #4, #5 + Follow-ups
- PLAN.md P0 reduced to hook verification

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 14:20:55 +09:00

1.6 KiB

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.jsonHmEG.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).