synchronize 최적화 disabled 이슈
Chưa có ai nhận issue này.
- Ngôn ngữ chính
- JavaScript
- Star
- 2
- Fork
- 2
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
배경
#7 에서 synchronize 이벤트가 오면 변경된 파일만 재분석하도록 tagPatterns()(handlers/tag-patterns.js)에 changedFilenames 파라미터를 추가했습니다. 값이 주어지면 해당 파일만 분석해 OpenAI 호출과 subrequest 사용량을 줄입니다.
문제
changedFilenames를 실제로 계산해서 넘기는 코드는 handlers/webhooks.js:336(getChangedFilenames 호출)뿐인데, 이 경로는 INTERNAL_SECRET/WORKER_URL이 없을 때만 타는 in-process 폴백입니다(윗 분기에서 env.INTERNAL_SECRET && env.WORKER_URL로 필터링 하는데 이는 항상 설정되어있는 것으로 추정됩니다(prod이므로)).
운영은 WORKER_URL이 항상 설정돼 있어 /internal/tag-patterns dispatch 경로(webhooks.js:300)만 탑니다. 이 경로의 페이로드에는 getChangedFilenames 호출이 없고, 이를 받는 internal-dispatch.js의 handleTagPatterns()도 tagPatterns()를 7개 인자로만 호출해 changedFilenames가 기본값 null(전체 분석)로 고정됩니다.
영향
- synchronize마다 변경 안 된 파일까지 전부 재분석 → OpenAI 토큰 낭비
tag-patterns.js상단 주석의 subrequest 한도(50) cliff(솔루션 파일 12~13개)에 다시 걸릴 위험 증가- #7이 클로즈됐지만 운영에서는 사실상 미적용 상태
제안
webhooks.jshandlePullRequestEvent: synchronize 시 dispatch 페이로드 구성 전에getChangedFilenames호출 → payload에 포함internal-dispatch.jshandleTagPatterns: payload에서changedFilenames꺼내tagPatterns()8번째 인자로 전달
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Hướng nghiên cứu
Đọc handlePullRequestEvent trong handlers/webhooks.js, đặc biệt là payload dispatch của synchronize, sau đó kiểm tra handleTagPatterns trong internal-dispatch.js và tagPatterns trong handlers/tag-patterns.js. Theo dõi cách changedFilenames cần đi qua worker path, và xác nhận rằng các sự kiện synchronize chỉ phân tích những tệp đã thay đổi thay vì toàn bộ tập hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- javascript
- Lĩnh vực
- backend
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Ít trao đổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 72/100