scan exits 1 in human output but 0 with --json when every patch query returns nothing
Maintainer thường phản hồi trong vòng 1 ngày
Một pull request liên quan đã được merge.
- #1298 của @mikolalysenko — đã merge
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 85/100
Hướng nghiên cứu
Bắt đầu bằng cách kiểm tra điều kiện mã thoát fetched == 0 trong crates/socket-patch-cli/src/commands/scan/mod.rs quanh dòng 2734 và logic tương đương trong vendor_flow.rs và hosted.rs. Sau đó, chuyển điều kiện kiểm tra đó vào hàm dùng chung discover_selected và xóa các bản sao cục bộ trong từng nhánh. Thêm một bài kiểm tra tính tương đương chạy cả chế độ quét dành cho người dùng và chế độ JSON với một fixture trong đó mọi truy vấn bản vá đều không trả về kết quả, xác minh mã thoát và đầu ra xem trước khớp nhau, rồi chạy bộ kiểm thử quét hiện có để xác nhận không có hồi quy.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
[agent] Filed by the October 7 architecture audit campaign (core). Register: arch-audit register.
Kind: bug. Source: audit B54 (Part 2.2 / C11 drift), register C70.
Problem: run_scan's human arm treats Ok(discovered) with fetched == 0 as a fetch failure and exits 1 (scan/mod.rs#L2734). The JSON arms (agent apply, vendored run_vendor_json_path, report-only) accept the same result and exit 0 with an empty block. discover_selected returns Err only when every query fails. The vendored --dry-run GC preview and the hosted prune argument (args.prune || args.sync vs the policy-gated prune) also differ between the arms.
Symptoms: earlier bugs from the same fork: #424 (fixed), #732 (fixed), #744 (open). Impact: a CI job using scan --json and a developer running scan against the same API state get different exit codes and different previews; every fix has to land twice.
Proposed change: move the fetched == 0 rule (and the prune flag) into discover_selected/one shared decision, so both arms read it; delete the arm-local checks.
Size and scope: commands/scan/mod.rs, vendor_flow.rs, hosted.rs; under 100 lines. The full split is #843/#844 (C11).
Acceptance criteria:
- A parity test runs each mode × {json, human} over one fixture where every successful query returns no patches, and compares exit codes and actions.
- Existing scan suites stay green.
Dependencies: none; eases #844.
Generated by Claude Code
- Ngôn ngữ chính
- Rust
- Star
- 8
- Fork
- 1
- Merge trung bình
- 16 giờ 35 phút
- Pull request đã merge (30 ngày)
- 574
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc 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.
Issue khác của SocketDev/socket-patch
-
agent:triaged bug bughunt pm:bundler priority:p1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
SocketDev/socket-patch#1573 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent:triaged bug bughunt pm:poetry priority:p1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 80/100
SocketDev/socket-patch#1547 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent:triaged bug bughunt pm:npm priority:p3 ux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
SocketDev/socket-patch#1072 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
agent:triaged bug bughunt pm:yarn-berry priority:p1
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
SocketDev/socket-patch#783 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Vendored cargo warns cargo_multi_version_old_cargo ("declares no rust-version") when the root package inherits rust-version from [workspace.package]Có thể đã có người làm @mikolalysenko đã nhận 3 ngày trước. Đang mởagent:triaged bug bughunt pm:cargo priority:p2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 84/100
SocketDev/socket-patch#651 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của SocketDev/socket-patch
Issue tương tự
-
documentation good first issue
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 72/100
sujithputta02/Esapay#13 ·
-
needs triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
topgrade-rs/topgrade#2419 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
review-bot
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
midagedev/bloomery#318 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area/infra good first issue type/bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 60/100
cristim/AztecCraft#92 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Standalone Unix updater reports success when curl fails (`curl | sh` masks the exit status); Windows path is unaffectedCó thể đã có người làm @akhil9tiet đã nhận hôm nay. Đang mởbug CLI windows-os
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openai/codex#54465 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày