scan exits 1 in human output but 0 with --json when every patch query returns nothing
Les mainteneurs répondent en général sous 1 jour
@mikolalysenko y travaille déjà.
Depuis le 9/10/2026.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 85/100
Piste de recherche
Commencez par examiner la vérification du code de sortie fetched == 0 dans crates/socket-patch-cli/src/commands/scan/mod.rs, vers la ligne 2734, ainsi que la logique équivalente dans vendor_flow.rs et hosted.rs. Déplacez ensuite cette vérification dans la fonction partagée discover_selected et supprimez les copies locales aux branches. Ajoutez un test de parité qui exécute les modes de scan humain et JSON avec un fixture où toutes les requêtes de patch ne renvoient aucun résultat, vérifiez que les codes de sortie et la sortie d’aperçu correspondent, puis exécutez la suite de tests de scan existante pour confirmer l’absence de régressions.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
[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
- Langage dominant
- Rust
- Étoiles
- 8
- Forks
- 0
- Merge moyen
- 19 h 21 min
- PR mergées (30 j)
- 421
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de SocketDev/socket-patch
-
agent:triaged bug bughunt pm:npm priority:p3
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
SocketDev/socket-patch#1072 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Hosted gem `rollback` / `remove` strips the `DEPENDENCIES` `!` of a gem the user declared inside a `source "https://rubygems.org" do` block, so every frozen install fails after the unwindPeut-être pris @mikolalysenko l’a pris aujourd’hui. Ouverteagent:triaged bug bughunt pm:bundler priority:p1
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
SocketDev/socket-patch#1056 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged bug bughunt pm:bundler priority:p1
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
SocketDev/socket-patch#896 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged bug bughunt pm:yarn-berry priority:p1
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
SocketDev/socket-patch#783 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
agent:triaged bug bughunt pm:cargo priority:p2
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
SocketDev/socket-patch#651 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de SocketDev/socket-patch
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
rescript-lang/rescript#8765 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
farion1231/cc-switch#8072 ·
Les mainteneurs répondent en général sous 1 jour
-
Python 3.15 supportPeut-être pris @amnesiaof l’a pris aujourd’hui. OuverteL: python L: python:uv
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dependabot/dependabot-core#16524 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Migration link in chromadb/config.py error message returns 404Peut-être pris @Imad2702 l’a pris aujourd’hui. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
chroma-core/chroma#7879 ·
Les mainteneurs répondent en général sous 1 jour