# Retry Auto-Approve 흐름 복구 및 Observer 고도화 - **시간**: 2026-04-18 09:20~23:50 - **Commit**: `pending` - **Vikunja**: 신규 생성 예정 ## 결정 사항 ### 1. `_from_ws` 마커 기반 response 파일 보존 - **문제**: WS 응답 핸들러가 response 파일 작성 → processResponseFile이 300ms 후 삭제 → Observer pollResponseGroup 실패 - **선택**: response 파일에 `_from_ws: true` 마커 추가, processResponseFile에서 스킵 - **이유**: pending 파일 생성을 추가하는 것보다 단순하고, WS 핸들러에서 이미 tryApprovalStrategies를 실행하므로 중복 실행 방지도 함께 해결 ### 2. 형제(sibling) DOM 탐색 - **문제**: "Always run" 버튼의 조상(parentElement) 탐색으로는 `pre.font-mono` 도달 불가 (footer.parentElement가 null) - **선택**: 각 depth에서 `node.parentElement.children`을 순회하여 형제 요소의 code 블록 탐색 - **이유**: AG Native DOM 구조에서 명령어는 footer의 형제 요소에 있으므로 조상 탐색만으로는 구조적으로 불가 ### 3. Thinking 블록 필터링 - **문제**: AI의 내부 사고 과정이 Discord에 릴레이됨 - **선택**: `max-h-[200px]` 조상 확인으로 thinking 블록 식별 - **이유**: thinking 블록은 접힌 상태에서 max-height가 200px로 제한되는 특징이 있음 ## 시행착오 1. depth 5→10 증가만으로 해결 시도 → 실패 (조상이 아닌 형제에 명령어가 있었음) 2. Observer HTML 변경 후 Reload Window만 실행 → 실패 (AG 2번 재시작 필요) 3. response 파일이 삭제되는 원인을 clickTrigger 타이밍으로 오인 → 실제는 processResponseFile의 isDomObserver 판별 실패 ## 미완료 - [ ] 명령어 컨텍스트 추출 타이밍 이슈 (DOM 렌더링 전 scan 시 추출 실패) - [ ] Observer pollResponseGroup이 시작되지 않는 케이스 (POST /pending 이전에 trigger-click 소비)