Root cause: Collector deletes pending file before Extension reads edit_step_indices. Fix: diffReviewMetadata Map caches step indices in Extension memory. Known issue added. Devlog entry 003.
1.5 KiB
1.5 KiB
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 바 유지됨.
근본 원인 체인:
- Extension이
writePendingApproval()로 diff_review pending 생성 (edit_step_indices=[86] 포함) - Collector가 Gateway에 전달 후 로컬 pending 파일을 삭제 (collector.py L259)
- Discord Accept 클릭 → Gateway → Collector가 response 파일 작성
- Extension의
processResponseFile이 pending 파일에서edit_step_indices읽으려 함 → 파일 이미 없음 trackedSteps=[]→AcknowledgeCascadeCodeEdit(steps=[])→ no-op
수정 (v0.3.13)
diffReviewMetadata인메모리 Map 추가 (extension.ts L57)writePendingApproval에서 diff_review pending 생성 시 메타데이터를 메모리에 캐시processResponseFile에서 메모리 먼저 조회, pending 파일은 fallbackmodifiedFiles변수를 Strategy 1/2 공유 스코프로 호이스팅
미완료
- AG 풀 재시작 후 3차 E2E 테스트 필요
[DIFF-REVIEW-CACHE]로그 확인[DIFF-REVIEW-RPC]steps 배열에 실제 인덱스 포함 확인- AG에서 diff review 바 사라지는지 확인