# diff_review steps=[] 근본 원인 분석 + v0.3.13 수정 - **시간**: 2026-03-16 15:18~16:06 - **Commit**: `00b9491` - **Vikunja**: #384 diff_review 원격 승인 테스트 → 진행중 ## 분석 결과 2차 E2E 테스트에서 `AcknowledgeCascadeCodeEdit(steps=[])` → `SUCCESS: {}` 반환 확인. RPC 자체는 성공하지만 빈 step 배열로 호출하면 no-op — AG의 diff review 바 유지됨. **근본 원인 체인:** 1. Extension이 `writePendingApproval()`로 diff_review pending 생성 (edit_step_indices=[86] 포함) 2. Collector가 Gateway에 전달 후 로컬 pending 파일을 삭제 (collector.py L259) 3. Discord Accept 클릭 → Gateway → Collector가 response 파일 작성 4. Extension의 `processResponseFile`이 pending 파일에서 `edit_step_indices` 읽으려 함 → **파일 이미 없음** 5. `trackedSteps=[]` → `AcknowledgeCascadeCodeEdit(steps=[])` → no-op ## 수정 (v0.3.13) - `diffReviewMetadata` 인메모리 Map 추가 (extension.ts L57) - `writePendingApproval`에서 diff_review pending 생성 시 메타데이터를 메모리에 캐시 - `processResponseFile`에서 메모리 먼저 조회, pending 파일은 fallback - `modifiedFiles` 변수를 Strategy 1/2 공유 스코프로 호이스팅 ## 미완료 - **AG 풀 재시작 후 3차 E2E 테스트** 필요 - `[DIFF-REVIEW-CACHE]` 로그 확인 - `[DIFF-REVIEW-RPC]` steps 배열에 실제 인덱스 포함 확인 - AG에서 diff review 바 사라지는지 확인