github / github/copilot-cli

Rubber duck reviews leave no verifiable record: independence and findings are unauditable after the session

Ouverte
#4,621 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

area:agents area:sessions
Langage dominant
Shell
Étoiles
11.2k
Forks
1.9k
Merge moyen
14 h 16 min
PR mergées (30 j)
6

Description

Describe the feature or problem you'd like to solve

Rubber duck reviews leave no verifiable record. The critique, the model that produced it, and what the session did with each finding all die with the session. #4380 and #4432 show why this matters: the independence guarantee (complementary family) can fail silently, and today the only way users can even detect that is by hand-extracting evidence from process logs and events.jsonl. The review's most valuable properties, who reviewed whom and what remained unresolved, are currently unauditable after the fact.

Proposed solution

Persist a small structured record per rubber duck invocation, next to the session or exportable to the repo: orchestrator model and family, reviewer model and family, how the reviewer was selected (complementary, inherited, explicitly overridden, and by whom), a hash of the review prompt, and the findings with their disposition (addressed, dismissed, left open).

Benefits: silent independence failures like #4380 and #4432 become visible in the record instead of requiring log forensics; teams can sample reviews after merge; and what the review left OPEN (unverified assumptions, accepted tradeoffs) survives as provenance instead of dying in the terminal.

Example prompts or workflows
  1. After a rubber duck pass, /rubber-duck export writes the review record to a file the user can commit alongside the change.
  2. A team samples merged PRs weekly and checks the records: which reviews ran cross-family, which findings were dismissed without evidence.
  3. CI warns when a PR's rubber duck record shows reviewer and orchestrator from the same family (the #4380 case, caught at review time instead of never).
  4. An auditor asks "what did the review leave open?" and gets an artifact, not a chat scrollback.
Additional context

Open disclosure: I maintain disensor (https://github.com/NicolasRocchia/disensor, MIT), a provider-neutral CLI and Action that formalizes exactly this record for adversarial review rounds (schema residue/v0.4: reviewer family and declared independence, prompt hash, findings with terminal states, residue declaration, CI gate). The method behind it is documented with data from 91 review events (DOI 10.5281/zenodo.21633495). Happy for any part of the schema to serve as reference or prior art; the point of this request is that the review record should exist, whoever implements it.

Guide de contribution

Ouvrir le guide de contribution

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.

Piste de recherche

Commencez par retracer les invocations de rubber-duck et examiner les journaux de processus ainsi que les éléments de preuve de events.jsonl mentionnés dans l’issue. Définissez comment chaque invocation enregistre les modèles, la raison de la sélection, le hash du prompt, les constatations et les dispositions, puis examinez comment /rubber-duck export doit produire l’artefact. C’est terminé lorsque l’enregistrement persiste après la session et permet de vérifier l’indépendance et les constatations non résolues.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
shell
Domaine
cli, observability
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Active
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

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