Files
recordingtest/CLAUDE.md
2026-04-09 16:06:47 +09:00

2.5 KiB

CLAUDE.md — recordingtest

세션 시작 (필수)

  1. PROGRESS.md 읽기 — 완료/진행 중/차단 현황
  2. PLAN.md 읽기 — 다음 할 일 우선순위 큐
  3. 작업 선택 → PROGRESS.md "In progress" 표시
  4. 완료 시: PROGRESS.md Done 이동 + PLAN.md 갱신 + docs/history/YYYY-MM-DD_{작업명}.md 작성 (소요시간·Context 사용량 필수, 누락 시 커밋 차단)

작업 사이클 — Planner / Generator / Evaluator

비자명한 작업은 반드시 3단계:

  1. /contract <name>docs/contracts/<name>.md (Goal, DoD, Interfaces, Risks)
  2. Generator — DoD만 충족, 스코프 이탈 금지
  3. /evaluate <name>docs/contracts/<name>.evaluation.mdpass여야만 PROGRESS.md Done 이동

Generator와 Evaluator는 같은 세션이 겸하지 않는다.

컨텍스트가 차면 요약 말고 파일에 상태를 쏟고 새 세션으로 리셋.

프로젝트

recordingtest — WPF 3D 편집기(EG-BIM Modeler, HmEG 엔진, MEF 플러그인)에 대한 입력 회귀 테스트 자동화 도구.

전략: 입력 레코딩 → 리플레이 → 결과물을 *.approved.* 베이스라인과 diff (ApprovalTests 패턴).

코드 계층 (의무)

3개 계층, 단방향 의존:

App-specific (Sut/EgBim/)  →  HmEG-aware (Hmeg/)  →  Generic (src/ 직속)
계층 참조 가능 위치 네임스페이스
Generic .NET BCL, FlaUI, Win32, YAML만 src/ Recordingtest.*
HmEG-aware Generic + HmEG.dll만 src/Hmeg/ Recordingtest.Hmeg.*
App-specific Generic + HmEG-aware + 앱 어셈블리 src/Sut/<App>/ Recordingtest.Sut.<App>.*

역참조 금지. Recordingtest.Architecture.Tests 가 의존 그래프를 자동 검증한다.

계층 이동·신규 SUT 추가 시 /contract 필수. 폴더 레이아웃: docs/architecture.md

설계 규칙

  • 고정 sleep 금지 — UIA 이벤트/property change 대기
  • 좌표만 저장 금지 — UIA element path + 상대 offset 필수 기록
  • 새 필드 추가 시 정규화 규칙 동시 등록
  • SUT in-process 코드는 WPF UI thread에서 실행
  • 베이스라인 명명: *.approved.* / *.received.*
  • 실패 아티팩트: 스크린샷 + UIA 트리 + sidecar JSON + diff를 한 폴더에

저장소