Communitygithub.com

wangnan0916/runtime-debug-toolkit

Kit d’agent pour le traçage runtime piloté par les logs et le débogage basé sur les preuves.

Qu'est-ce que runtime-debug-toolkit ?

Ce kit d'outils de débogage est conçu pour les agents IA (tels que Claude Code, Cursor ou Codex) afin de mener un débogage structuré et basé sur des preuves dans des applications logicielles. Il automatise la boucle de raisonnement classique 'analyser → hypothétiser → tracer → prouver → corriger → vérifier', en utilisant une instrumentation de logs et des points de contrôle interactifs. L'outil prend en charge le débogage collaboratif en s'intégrant à différentes plateformes de codage (Codex, etc.) et en nécessitant Node.js 24 ou une version ultérieure pour l'instrumentation. L'utilisateur initialise le mode de débogage en invoquant `$debug-mode` ou en demandant un débogage instrumenté, et le flux de travail gère la collecte de preuves (via des fichiers de logs), les demandes de reproduction utilisateur (via l'entrée native `request_user_input` ou un sélecteur personnalisé), et le nettoyage automatique des sondes de débogage après la correction. L'objectif principal est de transformer le débogage ad hoc en un processus systématique, piloté par les logs et vérifié par l'utilisateur, minimisant les allers-retours et garantissant que chaque correction est étayée par des preuves.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add wangnan0916/runtime-debug-toolkit

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Mode Débogage

Démarrez une session uniquement lorsque l'utilisateur actuel invoque $debug-mode, dit "mode débogage", ou demande un débogage instrumenté. Reprenez dès qu'une session de débogage active existe, y compris après les réponses de l'utilisateur ou la compaction du contexte. La session devient active lorsque l'Étape 3 arme le serveur. Elle se termine uniquement après le nettoyage de l'Étape 8 ou un abandon explicite. Si aucune de ces conditions ne s'applique, arrêtez avant analyse, collecte ou instrumentation.

Ce workflow s'appuie sur le workflow frère trace-mode. Il étend les preuves de localisation via la correction, la vérification et le nettoyage. Les scripts frères nécessitent Node.js 24 ou une version ultérieure.

Exécutez cette boucle de preuves :

analyser le code -> hypothétiser -> tracer avec trace-mode -> prouver -> corriger -> vérifier -> nettoyer

Travaillez de manière autonome via l'instrumentation. La première interaction utilisateur planifiée est le point de contrôle de reproduction. La reproduction et la vérification sont des portes.

Invariant des points de contrôle : chaque tentative manuelle de reproduction ou de vérification nécessite un point de contrôle frais. La seule disponibilité des outils sélectionne son chemin : lorsque le request_user_input natif de Codex est listé, vous DEVEZ l'appeler ; sinon, appelez le sélecteur Pi lorsqu'il est listé ; utilisez le modèle en texte brut exact uniquement après qu'aucun chemin interactif ne peut s'exécuter. L'appel d'outil natif est le point de contrôle ; un commentaire ou une réponse finale ne peut pas le remplacer. Une annulation native laisse la porte en attente, et un résultat précédent n'autorise que sa tentative en cours.

1. Analyser le Chemin du Code

Commencez le travail préparatoire dans le dépôt à partir du symptôme rapporté. Lisez les points d'entrée, gestionnaires, transitions d'état, logs existants et modifications récentes pertinents. Cartographiez les chemins candidats depuis le déclencheur de l'utilisateur jusqu'au résultat observé. Rédigez une Fiche de Bug :

  • Symptôme et comportement attendu
  • Déclencheur, route, commande, entrée ou fixture connu
  • Chemin d'exécution candidat et limites contestées
  • Environnement, fréquence, modifications et preuves pertinents
  • Critère d'acceptation observable

Enregistrez les faits indisponibles comme inconnu. Résolvez les inconnues conséquentes par la lecture du code ou des sondes d'exécution discriminantes.

Terminé lorsque : un chemin candidat relie le déclencheur au symptôme, et chaque branche contestée a une limite de sonde nommée.

2. Construire la Matrice d'Hypothèses

Rédigez deux à cinq hypothèses classées avant d'ajouter des sondes. Ancrez la matrice dans l'analyse du code et les preuves disponibles. Utilisez cette forme :

H1 <cause courte>
Prédiction : <état runtime, chemin ou timing>
Sonner : <noms d'événements et emplacements dans le code>
CONFIRMÉE lorsque : <condition d'enregistrement spécifique>
REJETÉE lorsque : <condition d'enregistrement spécifique>

Une hypothèse sans prédiction concrète nécessite plus de lecture de code. Préférez les sondes qui séparent plusieurs hypothèses.

Terminé lorsque : chaque hypothèse a des conditions falsifiables et une sonde planifiée distinctive.

3. Tracer via le Mode Trace

Lisez la compétence frère trace-mode. Utilisez ses étapes de planification des événements, de démarrage du serveur et d'instrumentation avec la Fiche de Bug. Lisez references/probes.md pour l'extension des événements de débogage. Revenez ici avant son point de contrôle de trace autonome.

Ce workflow est l'appelant. Le workflow trace-mode doit remettre les sondes actives et les cinq valeurs du serveur.

Terminé lorsque : chaque hypothèse a une sonde active et les cinq valeurs du serveur sont connues.

4. Franchir la Porte de Reproduction

Lisez references/checkpoints.md avant de présenter le point de contrôle pré-correction. Exécutez le protocole pré-correction via le chemin de point de contrôle sélectionné ci-dessus. Ensuite, attendez et acheminez son résultat via la table d'état. Chaque nouvelle tentative repasse par cette porte avec un nouvel appel interactif.

Terminé lorsque : un résultat valide A, B ou C a été acheminé par phase.

5. Prouver la Cause

Après le A pré-correction, lisez les enregistrements de session en cours dans LOG_FILE avant de modifier le code du produit. Confirmez que chaque sonde attendue est présente, puis inspectez les enregistrements dans l'ordre du fichier et comparez les valeurs pertinentes avec chaque prédiction d'hypothèse. Classez chaque hypothèse comme CONFIRMÉE, REJETÉE ou NON CONCLUSIVE. Rédigez le rapport de preuves :

H1 <cause courte>
Statut : CONFIRMÉE
Preuves : <événements et valeurs spécifiques>

H2 <cause courte>
Statut : REJETÉE
Preuves : <événements et valeurs spécifiques>

Acceptation : <une phrase observable>
Action suivante : <plus petite correction pour la cause confirmée>

L'absence de sondes attendues bloque la confirmation. Revenez à l'Étape 2 lorsque chaque résultat est rejeté ou non concluant.

Terminé lorsque : les enregistrements de l'exécution en cours confirment une cause explicative, avec un critère d'acceptation observable.

6. Effectuer la Correction Basée sur les Preuves

Apportez la plus petite modification qui adresse la cause confirmée. Gardez chaque sonde active. Changez les événements en runId: "post-fix". Ajoutez un test de régression ciblé lorsque le comportement est automatisable.

Terminé lorsque : chaque modification du produit remonte à la cause, et les preuves post-correction sont prêtes.

7. Franchir la Porte de Vérification

Présentez le point de contrôle post-correction depuis references/checkpoints.md via le chemin sélectionné. Ensuite, attendez et acheminez son résultat via la table d'état. Chaque tentative de vérification ultérieure nécessite un autre appel interactif.

Terminé lorsque : l'utilisateur renvoie le B post-correction pour le critère d'acceptation énoncé.

8. Nettoyer Mécaniquement

Supprimez chaque paire marquée LOG_SERVER_PROBE <session_id>. Recherchez l'ID de session, LOG_SERVER_PROBE et les deux formes de région. Supprimez les helpers copiés et toute instrumentation temporaire. Supprimez LOG_FILE sauf si l'utilisateur demande de conserver les preuves. Laissez le serveur partagé en cours d'exécution sauf si l'utilisateur demande son arrêt. Exécutez les vérifications pertinentes et inspectez le diff final.

Terminé lorsque : les recherches de marqueurs et de sessions retournent zéro correspondance dans le dépôt, les vérifications passent, et seules les modifications du produit subsistent.

Branche Exceptionnelle

Lisez references/troubleshooting.md uniquement lorsque la collecte, la reproduction ou la livraison échoue.

Skills associés