# PROGRESS.md — recordingtest > 에이전트 간 공유 메모리. 세션 시작 시 PLAN.md와 함께 반드시 읽을 것. > 작업 상태만 기록한다. 결정의 근거는 `docs/history/`, 전략은 `CLAUDE.md` / 메모리 참조. **저장소**: https://gitea.hmac.kr/kimminsung/recordingtest **SUT**: `EG-BIM Modeler/` (git 제외, 로컬 동봉) **현재 이슈**: #2 컨텍스트 엔지니어링 & AI 개발환경 셋업 --- ## Done | 날짜 | 항목 | 산출물 | |------|------|--------| | 2026-04-07 | 히스토리 훅 설정 | `docs/history/2026-04-07_히스토리-훅-설정.md` | | 2026-04-07 | 이슈 #2 리서치 & 에이전트 분해 | 메모리 `project_recordingtest_plan.md` | | 2026-04-07 | 구현 고려사항 정리 (8개 카테고리) | 히스토리 | | 2026-04-07 | Golden-file 회귀 전략 채택 | 메모리 `project_recordingtest_strategy.md` | | 2026-04-07 | CLAUDE.md 초안 + §0 협업 규칙 | `CLAUDE.md` | | 2026-04-07 | SUT(EG-BIM Modeler) 정적 분석 | 메모리 `project_sut_egbim_modeler.md` | | 2026-04-07 | `.claude/` agents·commands·skills·hooks 셋업 | `.claude/` | | 2026-04-07 | Harness design 채택 (Planner/Generator/Evaluator) | CLAUDE.md §0.1, `.claude/agents/planner.md`, `evaluator.md` | | 2026-04-07 | SUT 폴더 `.gitignore` | `.gitignore` | | 2026-04-07 | 초기 Sprint Contracts 5건 작성 | `docs/contracts/*.md` | | 2026-04-07 | SUT 카탈로그 v0 (정적) | `docs/sut-catalog/catalog.md`, `plugins.md` | | 2026-04-07 | 솔루션 스캐폴드(sut-prober PoC 타깃) | `recordingtest.sln`, `src/Recordingtest.SutProber/` | | 2026-04-07 | sut-prober PoC 구현 (Generator) | `src/Recordingtest.SutProber/`, `docs/sut-catalog/{plugins,json-configs,assemblies}.json` | | 2026-04-07 | sut-prober PoC Evaluator pass (#3) | `docs/contracts/sut-prober.evaluation.md` | | 2026-04-07 | diff-reporter PoC + Evaluator pass (#5) | `src/Recordingtest.DiffReporter*/`, `docs/contracts/diff-reporter.evaluation.md` | | 2026-04-07 | normalizer PoC + Evaluator pass v2 (#4) — sidecar log, explicit coverage mapping, 6 rules | `src/Recordingtest.Normalizer/`, `docs/contracts/normalizer.evaluation.md` | | 2026-04-07 | player PoC + Evaluator pass (#7) — 6 tests, no fixed sleeps, fake host | `src/Recordingtest.Player/`, `docs/contracts/player.evaluation.md` | | 2026-04-07 | recorder PoC + Evaluator pass v2 (#6) — drag state machine, focus events, ts/raw_coord | `src/Recordingtest.Recorder/`, `docs/contracts/recorder.evaluation.md` | | 2026-04-07 | test-runner PoC + Evaluator pass (#8) — 5-module E2E 파이프라인, 6 tests, DI | `src/Recordingtest.Runner/`, `docs/contracts/test-runner.evaluation.md` | | 2026-04-07 | engine-bridge PoC v1 + Evaluator pass (#9) — 정적 분석, HmEG 내부 후보 8000+, API 초안 | `src/Recordingtest.EngineBridge*/`, `docs/engine-catalog/`, `docs/engine-bridge-probe-design.md` | | 2026-04-07 | engine-bridge v2 + Evaluator pass (#10) — MEF plugin masquerade, HttpListener, HmEgHttpSnapshot, 11 tests | `src/Recordingtest.EgPlugin/`, `src/Recordingtest.EngineBridge.Client/`, `docs/guides/engine-bridge-deploy.md` | | 2026-04-07 | 라이브 SUT smoke test 가이드 작성 | `docs/guides/smoke-test.md` | | 2026-04-07 | Smoke test 1회차 — integration gap 4개 발견 (recorder target null, VK 코드, player enum, null guard) | `scenarios/box-create.yaml` | | 2026-04-07 | Smoke gap fix + Evaluator pass (#11) — STAThread, KeyTranslator, 60 tests, regression trap 검증 | commit `139fbbc` | | 2026-04-07 | Smoke test 1회차 — recorder PID attach + UIA target 정상 (box-v4), player 재생 부분 실패 | `docs/history/2026-04-07_smoke-1회차-결과.md`, scenarios/box-v4*.yaml | | 2026-04-07 | Smoke 2차 gap fix + Evaluator pass (#12) — full-path resolver, type target inheritance, window filter, UTF-8 BOM-less, 71 tests | commit `8784fec` | | 2026-04-07 | sut-prober snake_case + scaffolding review 1회차 | commit `0f0324e` | | 2026-04-07 | normalizer follow-ups + Evaluator pass — float epsilon 구성화 + JSON-path 마스크 스코핑, 77 tests | commit `eeee3c2` | ## In progress _(없음 — Smoke 2회차 라이브 검증 대기)_ ## In progress _(없음)_ ## Follow-ups - [x] ~~sut-prober JSON naming snake_case~~ — commit `0f0324e` - [x] ~~normalizer: mask_volatile_settings JSON-path 스코핑~~ — commit `eeee3c2` - [x] ~~normalizer: float epsilon 구성화~~ — commit `eeee3c2` - [ ] diff-reporter: 실제 `diff-triager` 에이전트 통합 테스트. non-blocking. - [ ] recorder/player: **라이브 SUT 수동 smoke test** — 60 FPS / 10회 중 9회 reliability DoD는 샌드박스 unit test 불가, 실제 환경에서 검증 필요. - [ ] player: `wait_for` UIA 이벤트 매핑 강화 (현재 host passthrough). - [ ] player: `UiaPlayerHost` uia_path resolver가 마지막 `@AutomationId`만 사용 — 전체 ancestor chain 지원 필요. - [ ] recorder: IME 조합 키 처리 (contract risks). ## Blocked _(없음)_ ## Recent regression runs _(러너 미구현 — /regress 사용 불가)_ ## Scaffolding review - 마지막 감사: 2026-04-07 (초기 셋업) - 다음 감사 권장: PoC 3개 완료 후