Skip to content

chore(agents): add prod-bug-investigator + test-quality-auditor - #254

Merged
thierryvm merged 1 commit into
mainfrom
chore/agents-debug-testquality
Jul 25, 2026
Merged

chore(agents): add prod-bug-investigator + test-quality-auditor#254
thierryvm merged 1 commit into
mainfrom
chore/agents-debug-testquality

Conversation

@thierryvm

@thierryvm thierryvm commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Deux manques que le bug locale du 25/07 a rendus évidents.

prod-bug-investigator (Opus)

Rien ne possédait l'analyse de cause racine d'un bug en cours. Le bug locale/session a reçu un diagnostic plausible, cohérent — et faux (SW cachant du HTML sur réseau instable). Une release a été dépensée sur la mauvaise moitié du problème.

L'agent impose la preuve avant l'hypothèse : chaque affirmation étiquetée MEASURED / READ IN CODE / INFERRED / UNVERIFIED, le mécanisme doit expliquer l'intermittence, et l'agent doit énoncer son propre falsifieur. Il diagnostique, il n'implémente jamais.

Déjà rentabilisé : premier lancement → cause racine du bug locale établie, reproduite sur la prod (un prefetch RSC réécrit NEXT_LOCALE=en en silence), avec 8 hypothèses éliminées et documentées.

test-quality-auditor (Sonnet)

test-runner dit si les tests passent, jamais ce qu'ils valent. Le spec couvrant exactement le chemin cassé — e2e/i18n/locale-switcher.spec.ts:180 « soft navigation picks up the new locale » — est sur un test.skip inconditionnel. Suite verte, couverture nulle sur ce comportement. Un spec de sécurité (énumération d'utilisateurs, e2e/auth.spec.ts:40) est skippé aussi.

L'agent flague les specs désactivées en silence, les .only oubliés, les assertions qui ne peuvent pas échouer, et les fix livrés sans test de non-régression.

Modèles

Vérification faite : les 16 agents déclarent tous un modèle, aucun Haiku, tous en alias (sonnet/opus) → Sonnet 5 / Opus 5 automatiquement. Épingler des versions serait une régression (cf. #246).

Enregistrés dans CLAUDE.md + docs/ROADMAP.md.

🤖 Generated with Claude Code

Summary by Sourcery

Ajout de deux nouveaux agents QA axés sur l’analyse des causes premières des bugs en production et sur la qualité de la suite de tests, et documentation de leur rôle et de leur utilisation dans le pilier des agents QA.

Nouvelles fonctionnalités :

  • Introduction de l’agent prod-bug-investigator pour établir des causes premières étayées par des preuves pour les bugs en production et à l’exécution.
  • Introduction de l’agent test-quality-auditor pour évaluer si les tests démontrent réellement les comportements et permettraient de détecter des régressions.

Améliorations :

  • Mise à jour de CLAUDE.md et ROADMAP.md pour refléter un total de 16 agents QA et pour documenter les déclencheurs et responsabilités des nouveaux agents de diagnostic et de qualité des tests.

Documentation :

  • Documentation des agents prod-bug-investigator et test-quality-auditor, incluant leur objectif, les pièges, la méthodologie et la sortie attendue, dans des spécifications d’agent dédiées et des tableaux de feuille de route.

Tests :

  • Clarification des attentes en matière de couverture de tests, de tests de non-régression et d’identification des spécifications désactivées ou vacues via l’agent test-quality-auditor.
Original summary in English

Summary by Sourcery

Add two new QA agents focused on production bug root-cause analysis and test suite quality, and document their role and usage in the QA agents pillar.

New Features:

  • Introduce the prod-bug-investigator agent to establish evidence-backed root causes for production and runtime bugs.
  • Introduce the test-quality-auditor agent to assess whether tests meaningfully prove behaviours and would catch regressions.

Enhancements:

  • Update CLAUDE.md and ROADMAP.md to reflect a total of 16 QA agents and to document triggers and responsibilities for the new diagnostic and test-quality agents.

Documentation:

  • Document the prod-bug-investigator and test-quality-auditor agents, including purpose, traps, methodology, and expected output, in dedicated agent specs and roadmap tables.

Tests:

  • Clarify expectations for test coverage, non-regression tests, and identification of disabled or vacuous specs via the test-quality-auditor agent.

Two gaps the 2026-07-25 locale bug made obvious.

prod-bug-investigator (opus) — nothing owned root-cause analysis of a live bug.
The locale/session bug got a plausible, internally consistent, WRONG diagnosis
(SW caching HTML on flaky network) and a release was spent on the wrong half.
The agent enforces evidence before hypothesis: every claim is labelled MEASURED /
READ IN CODE / INFERRED / UNVERIFIED, the mechanism must explain the
intermittence, and it must state its own falsifier. It diagnoses, never fixes.

test-quality-auditor (sonnet) — test-runner reports whether tests pass, never
what they are worth. The spec covering the exact broken path,
e2e/i18n/locale-switcher.spec.ts:180 'soft navigation picks up the new locale',
sits on an unconditional test.skip. Green suite, zero coverage of that behaviour.
An auth security spec (user enumeration, e2e/auth.spec.ts:40) is skipped too.
The agent flags silently disabled specs, .only, assertions that cannot fail, and
fixes shipped without a regression test.

Both registered in CLAUDE.md + docs/ROADMAP.md (16 agents).
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@vercel

vercel Bot commented Jul 25, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
ankora Ready Ready Preview, Comment Jul 25, 2026 12:33pm

@github-actions github-actions Bot added status:review-needed Ready for review type:chore Maintenance (deps, CI, tooling) labels Jul 25, 2026
@sourcery-ai

sourcery-ai Bot commented Jul 25, 2026

Copy link
Copy Markdown
Contributor

🧙 Sourcery a terminé la revue de votre pull request !


Conseils et commandes

Interagir avec Sourcery

  • Lancer une nouvelle revue : Commentez @sourcery-ai review sur la pull request.
  • Continuer les discussions : Répondez directement aux commentaires de revue de Sourcery.
  • Générer un ticket GitHub à partir d’un commentaire de revue : Demandez à Sourcery de créer un
    ticket à partir d’un commentaire de revue en y répondant. Vous pouvez également répondre à un
    commentaire de revue avec @sourcery-ai issue pour créer un ticket à partir de celui-ci.
  • Générer un titre de pull request : Écrivez @sourcery-ai n’importe où dans le titre de la pull
    request pour générer un titre à tout moment. Vous pouvez aussi commenter
    @sourcery-ai title sur la pull request pour (re)générer le titre à tout moment.
  • Générer un résumé de pull request : Écrivez @sourcery-ai summary n’importe où dans
    le corps de la pull request pour générer un résumé de PR à tout moment, exactement à l’endroit
    souhaité. Vous pouvez également commenter @sourcery-ai summary sur la pull request pour
    (re)générer le résumé à tout moment.
  • Générer le guide du relecteur : Commentez @sourcery-ai guide sur la pull
    request pour (re)générer le guide du relecteur à tout moment.
  • Résoudre tous les commentaires Sourcery : Commentez @sourcery-ai resolve sur la
    pull request pour résoudre tous les commentaires Sourcery. Utile si vous avez déjà
    traité tous les commentaires et ne souhaitez plus les voir.
  • Rejeter toutes les revues Sourcery : Commentez @sourcery-ai dismiss sur la
    pull request pour rejeter toutes les revues Sourcery existantes. Particulièrement utile si vous
    voulez repartir de zéro avec une nouvelle revue – n’oubliez pas de commenter
    @sourcery-ai review pour lancer une nouvelle revue !

Personnaliser votre expérience

Accédez à votre tableau de bord pour :

  • Activer ou désactiver des fonctionnalités de revue comme le résumé de pull request
    généré par Sourcery, le guide du relecteur, et d’autres.
  • Changer la langue de revue.
  • Ajouter, supprimer ou modifier des instructions de revue personnalisées.
  • Ajuster d’autres paramètres de revue.

Obtenir de l’aide

Original review guide in English

🧙 Sourcery has finished reviewing your pull request!


Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Salut - j'ai laissé quelques retours de haut niveau :

  • Dans test-quality-auditor, les seuils de couverture codés en dur et les listes de chemins critiques (par exemple src/lib/domain/**, Server Actions) devraient être recoupés avec la configuration de couverture actuelle et la structure des répertoires afin d’éviter que l’agent n’applique des contrats obsolètes ou incohérents.
  • Les instructions de prod-bug-investigator font référence à des commandes, des variables d’environnement et des chemins spécifiques (par exemple npm run e2e:auth, E2E_PROD_SERVER=1, src/proxy.ts) ; envisagez de les aligner sur une source de vérité unique ou d’ajouter de brèves mises en garde dans le texte de l’agent afin qu’il reste correct si ces commandes ou ces chemins changent.
Prompt pour les agents IA
Veuillez traiter les commentaires de cette revue de code :

## Commentaires généraux
- Dans `test-quality-auditor`, les seuils de couverture codés en dur et les listes de chemins critiques (par exemple `src/lib/domain/**`, Server Actions) devraient être recoupés avec la configuration de couverture actuelle et la structure des répertoires afin d’éviter que l’agent n’applique des contrats obsolètes ou incohérents.
- Les instructions de `prod-bug-investigator` font référence à des commandes, des variables d’environnement et des chemins spécifiques (par exemple `npm run e2e:auth`, `E2E_PROD_SERVER=1`, `src/proxy.ts`) ; envisagez de les aligner sur une source de vérité unique ou d’ajouter de brèves mises en garde dans le texte de l’agent afin qu’il reste correct si ces commandes ou ces chemins changent.

Sourcery est gratuit pour l’open source - si vous trouvez nos revues utiles, merci d’envisager de les partager ✨
Aidez-moi à être plus utile ! Merci de cliquer sur 👍 ou 👎 pour chaque commentaire et j’utiliserai vos retours pour améliorer vos revues.
Original comment in English

Hey - I've left some high level feedback:

  • In test-quality-auditor, the hard-coded coverage thresholds and critical path lists (e.g. src/lib/domain/**, Server Actions) should be cross-checked against the current coverage configuration and directory layout to avoid the agent enforcing outdated or mismatched contracts.
  • The prod-bug-investigator instructions reference specific commands, env vars, and paths (e.g. npm run e2e:auth, E2E_PROD_SERVER=1, src/proxy.ts); consider aligning these with a single source of truth or adding brief guards in the agent text so it remains correct if those commands or paths change.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `test-quality-auditor`, the hard-coded coverage thresholds and critical path lists (e.g. `src/lib/domain/**`, Server Actions) should be cross-checked against the current coverage configuration and directory layout to avoid the agent enforcing outdated or mismatched contracts.
- The `prod-bug-investigator` instructions reference specific commands, env vars, and paths (e.g. `npm run e2e:auth`, `E2E_PROD_SERVER=1`, `src/proxy.ts`); consider aligning these with a single source of truth or adding brief guards in the agent text so it remains correct if those commands or paths change.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@thierryvm
thierryvm merged commit c6489e4 into main Jul 25, 2026
6 checks passed
@thierryvm
thierryvm deleted the chore/agents-debug-testquality branch July 25, 2026 13:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

status:review-needed Ready for review type:chore Maintenance (deps, CI, tooling)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant