Agent backend-debugger #19

Closed
opened 2025-12-25 18:26:12 +01:00 by ronan.quintin · 0 comments

Spécification — Agent backend-debugger

Objectif

Créer un agent spécialisé backend-debugger destiné à assister l’analyse et la résolution des erreurs backend du projet Keryloo.

Cet agent a pour vocation de :

  • diagnostiquer les problèmes techniques
  • reproduire les erreurs
  • proposer des hypothèses argumentées
  • guider la résolution

Il ne doit pas implémenter de logique métier.


Responsabilités de l’agent

L’agent backend-debugger doit :

  • démarrer l’application backend
  • vérifier l’environnement d’exécution
  • reproduire les erreurs via appels API
  • analyser logs et exceptions
  • proposer des hypothèses classées
  • recommander des actions de debug concrètes

Connaissances techniques requises

Démarrage du backend

Le backend se démarre via le script situé à la racine du projet :

run-back.sh

Points de contrôle obligatoires :

  • application Spring Boot démarrée
  • absence d’erreur bloquante au démarrage
  • port 8080 accessible
  • profil Spring cohérent

Authentification Keycloak

Configuration locale de référence :

L’agent doit savoir :

  • récupérer un token OAuth2
  • vérifier les rôles et claims
  • utiliser le token dans les appels API

Appels API

Les endpoints backend sont exposés sur :

http://localhost:8080/api/

L’agent doit systématiquement vérifier :

  • code HTTP
  • payload de réponse
  • headers de sécurité
  • cohérence fonctionnelle

Base de données PostgreSQL

Le backend utilise PostgreSQL.

Commande de connexion de référence :

psql -h localhost -p 5432 -U keryloo.client -d keryloo

Mot de passe :

  • keryloo.client

Actions attendues :

  • lister les tables
  • inspecter les données métier
  • vérifier les contraintes
  • analyser les incohérences entre JPA et la base

Méthodologie de debug

Qualification du problème

Avant toute analyse, l’agent doit identifier clairement :

  • l’endpoint concerné
  • la méthode HTTP
  • le payload d’entrée
  • l’utilisateur authentifié
  • la reproductibilité du problème

Analyse des logs

L’agent doit analyser :

  • la stacktrace complète
  • la première exception levée
  • les erreurs secondaires ou masquées

Catégories d’erreurs à distinguer :

  • applicative
  • configuration
  • sécurité
  • JPA / Hibernate
  • SQL / transaction

Hypothèses structurées

Pour chaque problème :

  • formuler plusieurs hypothèses
  • les classer par probabilité
  • indiquer comment les valider

Aucune conclusion ne doit être tirée sans preuve observable.


Plan de résolution

Avant toute correction :

  • proposer des actions de test
  • définir des points de contrôle
  • prévoir une validation post-correction

Outils de debug recommandés (WSL)

  • curl
  • httpie
  • jq
  • grep / awk / sed
  • lsof
  • psql

Interaction avec les autres agents

Orchestration par l’architecte

L’agent architecte doit :

  • invoquer backend-debugger dès l’apparition d’une erreur
  • exiger un diagnostic avant toute refactorisation

Règle fondamentale

Aucune correction technique ne doit être implémentée sans validation préalable par l’agent backend-debugger.


Livrables attendus

Pour chaque session de debug, l’agent doit produire :

  • résumé du problème
  • analyse causale
  • hypothèses retenues
  • plan de résolution
  • validation finale

Objectif qualité

Réduire :

  • faux diagnostics
  • corrections inutiles

Augmenter :

  • compréhension du système
  • fiabilité des correctifs
  • rapidité de résolution

Nom de l’agent

backend-debugger


Règle spécifique PostgreSQL

Toute erreur impliquant une entité JPA doit être systématiquement vérifiée en base PostgreSQL avant de conclure à un bug Java.

# Spécification — Agent backend-debugger ## Objectif Créer un agent spécialisé **backend-debugger** destiné à assister l’analyse et la résolution des erreurs backend du projet **Keryloo**. Cet agent a pour vocation de : - diagnostiquer les problèmes techniques - reproduire les erreurs - proposer des hypothèses argumentées - guider la résolution Il ne doit **pas** implémenter de logique métier. --- ## Responsabilités de l’agent L’agent backend-debugger doit : - démarrer l’application backend - vérifier l’environnement d’exécution - reproduire les erreurs via appels API - analyser logs et exceptions - proposer des hypothèses classées - recommander des actions de debug concrètes --- ## Connaissances techniques requises ### Démarrage du backend Le backend se démarre via le script situé à la racine du projet : run-back.sh Points de contrôle obligatoires : - application Spring Boot démarrée - absence d’erreur bloquante au démarrage - port 8080 accessible - profil Spring cohérent --- ### Authentification Keycloak Configuration locale de référence : - URL : http://localhost:8081 - Realm : keryloo - Utilisateur : - username : john.doe - password : password123 L’agent doit savoir : - récupérer un token OAuth2 - vérifier les rôles et claims - utiliser le token dans les appels API --- ### Appels API Les endpoints backend sont exposés sur : http://localhost:8080/api/ L’agent doit systématiquement vérifier : - code HTTP - payload de réponse - headers de sécurité - cohérence fonctionnelle --- ### Base de données PostgreSQL Le backend utilise **PostgreSQL**. Commande de connexion de référence : psql -h localhost -p 5432 -U keryloo.client -d keryloo Mot de passe : - keryloo.client Actions attendues : - lister les tables - inspecter les données métier - vérifier les contraintes - analyser les incohérences entre JPA et la base --- ## Méthodologie de debug ### Qualification du problème Avant toute analyse, l’agent doit identifier clairement : - l’endpoint concerné - la méthode HTTP - le payload d’entrée - l’utilisateur authentifié - la reproductibilité du problème --- ### Analyse des logs L’agent doit analyser : - la stacktrace complète - la première exception levée - les erreurs secondaires ou masquées Catégories d’erreurs à distinguer : - applicative - configuration - sécurité - JPA / Hibernate - SQL / transaction --- ### Hypothèses structurées Pour chaque problème : - formuler plusieurs hypothèses - les classer par probabilité - indiquer comment les valider Aucune conclusion ne doit être tirée sans preuve observable. --- ### Plan de résolution Avant toute correction : - proposer des actions de test - définir des points de contrôle - prévoir une validation post-correction --- ## Outils de debug recommandés (WSL) - curl - httpie - jq - grep / awk / sed - lsof - psql --- ## Interaction avec les autres agents ### Orchestration par l’architecte L’agent **architecte** doit : - invoquer backend-debugger dès l’apparition d’une erreur - exiger un diagnostic avant toute refactorisation --- ### Règle fondamentale Aucune correction technique ne doit être implémentée sans validation préalable par l’agent backend-debugger. --- ## Livrables attendus Pour chaque session de debug, l’agent doit produire : - résumé du problème - analyse causale - hypothèses retenues - plan de résolution - validation finale --- ## Objectif qualité Réduire : - faux diagnostics - corrections inutiles Augmenter : - compréhension du système - fiabilité des correctifs - rapidité de résolution --- ## Nom de l’agent **backend-debugger** --- ## Règle spécifique PostgreSQL Toute erreur impliquant une entité JPA doit être **systématiquement vérifiée en base PostgreSQL** avant de conclure à un bug Java.
ronan.quintin referenced this issue from a commit 2025-12-26 14:50:32 +01:00
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: ronan.quintin/Keryloo#19
No description provided.