Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

scan exits 1 in human output but 0 with --json when every patch query returns nothing

Fermée Adaptée aux débutants
#1,062 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@mikolalysenko y travaille déjà.

Depuis le 9/10/2026.

  • #1298 par @mikolalysenko — fusionnée
  • #1369 par @mikolalysenko — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
85/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
rust
Domaine
cli

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:triaged arch-audit bug priority:p3

[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

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de SocketDev/socket-patch

Toutes les issues de SocketDev/socket-patch

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.