# DOM Observer 분석 + diff_review 수정 + 배포 - **시간**: 2026-03-16 13:25~14:20 - **Commit**: `` - **Vikunja**: #384 diff_review 원격 승인 테스트 → 진행중 ## 분석 결과 extension.ts 3,166줄 전체를 5개 기능 영역으로 분류: 1. AG 정보 추출 (SDK, 세션 모니터, step probe) ~700줄 2. 승인 실행 (RPC) ~200줄 3. 파일 기반 IPC (리팩토링 대상) ~500줄 4. DOM Observer 인프라 (제거 검토) ~1,100줄 5. 기타 유틸 ~200줄 **DOM Observer는 제거 가능하다** — RPC가 모든 승인을 커버하며, diff_review도 VS Code 명령으로 처리 가능. 단, diff_review 원격 실행이 먼저 동작해야 DOM 제거에 동의 가능 (사용자 요구). ## 결정 사항 - write 도구를 `code_edit` step_type으로 분리 (기존: `file_permission`에 혼재) - diff_review 핸들러를 2-strategy 방식으로 리팩토링: 1. `AcknowledgeCascadeCodeEdit` RPC (UI 조작 불필요) 2. `openReviewChanges` + 파일 포커스 + `agentAcceptAllInFile` (fallback) - pending에 `modified_files`(전체경로)와 `edit_step_indices`(step 번호) 포함 - diff_review pending 생성을 8초 지연 (AI 응답이 먼저 Discord 도착) ## 테스트 결과 (1차) - ✅ Discord에 Accept all / Reject all 버튼 표시 확인 - ❌ AcknowledgeCascadeCodeEdit RPC 미실행 — 소스 수정 후 컴파일+배포 누락 발견 - ❌ AI 응답이 승인 버튼보다 늦게 Discord에 도착 ## 수정 및 배포 - Extension 재컴파일+배포 (2-strategy diff_review 핸들러 포함) - diff_review pending 8초 지연 (`setTimeout`) 추가 - known-issues 2건 추가 (isDirty 실패, pending 순서) ## 미완료 - **AG 풀 재시작 후 2차 E2E 테스트** 필요 - AcknowledgeCascadeCodeEdit RPC 성공 확인 - AI 응답 → 승인 버튼 순서 확인 - DOM Observer 제거 리팩토링 → diff_review 동작 확인 후 진행