2.5 KiB
2.5 KiB
CLAUDE.md — recordingtest
세션 시작 (필수)
- PROGRESS.md 읽기 — 완료/진행 중/차단 현황
- PLAN.md 읽기 — 다음 할 일 우선순위 큐
- 작업 선택 → PROGRESS.md "In progress" 표시
- 완료 시: PROGRESS.md Done 이동 + PLAN.md 갱신 +
docs/history/YYYY-MM-DD_{작업명}.md작성 (소요시간·Context 사용량 필수, 누락 시 커밋 차단)
작업 사이클 — Planner / Generator / Evaluator
비자명한 작업은 반드시 3단계:
/contract <name>→docs/contracts/<name>.md(Goal, DoD, Interfaces, Risks)- Generator — DoD만 충족, 스코프 이탈 금지
/evaluate <name>→docs/contracts/<name>.evaluation.md— pass여야만 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를 한 폴더에
저장소
- Origin: https://gitea.hmac.kr/kimminsung/recordingtest (이슈 트래커 동일)
- 커밋·PR에 이슈 번호(#N) 참조
- 기술 결정 근거:
docs/history/+ Claude 메모리