camera-restore: - IEngineStateProvider.SetCamera 반사 쓰기 (HmegDirectStateProvider) - POST /camera/restore (BridgeHttpServer, StateRouter) - Recorder --sidecar-url + camera_snapshot 캡처 - UiaPlayerHost.TryRestoreCamera, PlayerEngine 재생 전 복원 - 149 tests LauncherUI (#15): - Sidecar URL 체크박스 + 입력란 (녹화/재생 모두 연동) - 재생 속도 슬라이더 (0.25x~4.0x, 기본 1.0x) - 빌드 타임스탬프 타이틀바 표시 - 녹화 완료 후 RecordNameBox 초기화 - UiAnalysisWindow 추가 PlayerEngine (#15): - CancellationToken 지원 (중단 버튼 동작) - Focus 스텝 early return (no-op, issue #11) - Type/Drag unresolvable UIA path fallback - SpeedMultiplier 옵션 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
PLAN.md — recordingtest
다음에 할 일의 우선순위 큐. 에이전트는 상단부터 집어든다. 비자명한 항목은
/contract <name>→docs/contracts/<name>.md로 Sprint Contract 먼저 작성.
P0 — 지금 바로
(없음 — 훅 동작 확인 완료: jq 설치 ✓, SessionStart/Stop 훅 실 동작 확인 ✓)
P1 — 다음 통합 단계
- camera-restore 라이브 검증 ⚠️ 사람 필요 — EgPlugin 재배포 후 새 시나리오 녹화 →
camera_snapshot필드 확인 → 재생 시 카메라 복원 로그 확인. - Runner sidecar 라이브 검증 ⚠️ 사람 필요 — Runner 실행 →
engine-state.received.json생성 확인 → 베이스라인 승격 → diff pass 확인.dotnet run --project src\Recordingtest.Runner -- --scenarios scenarios --baselines baselines --out artifacts\runner-out normalizer: engine-state 정규화 규칙— 완료 (engine-state.yaml: normalize_paths + mask_guids + sort_array_elements + round_floats(2자리) + sort_json_keys, commit190cc6e)recorder Gap I-1— deferred.
Follow-ups (non-blocking)
- sut-prober snake_case JSON —
JsonNamingPolicy.SnakeCaseLower적용. Evaluator가 pass 처리했지만 contract 엄격 준수를 위해 권장.
P2 — 통합
- test-runner — 시나리오 일괄 실행 + 실패 triage
- 의존: recorder + player + normalizer + diff-reporter 전부
- engine-bridge 탐색 — HmEG PDB 리플렉션으로 카메라/선택 상태 접근 가능 여부 확인
- Sprint Contract 필요
- AutomationPeer PR 전략 PoC — SUT fork에 AI로 AutomationPeer 자동 부착 샘플
P3 — 상시
- Scaffolding review (PoC 3개마다)
- .claude/ 비계 감사 — 기사 원칙: 불필요한 비계 제거
- history 파일 누락 체크 — Stop hook이 경고
규칙
- 항목을 집을 때 PROGRESS.md의 "In progress"에 기록하고 본인(에이전트명/세션) 명시.
- 비자명한 P0/P1/P2 항목은 반드시 Sprint Contract 먼저.
- Generator와 Evaluator는 같은 세션이 겸하지 않는다.
- 완료 시: evaluator pass → PROGRESS.md Done 이동 → PLAN.md 제거 → history 작성 →
/handoff.