| name | triage_odoo_error |
| aliases | ["classify_odoo_error","diagnose_traceback","analyse_log_odoo"] |
| label | Triage erreur Odoo |
| label_en | Triage Odoo error |
| kind | tool |
| group | core |
| builtin | true |
| read_only | true |
| risk_level | low |
| description | Classer un message d'erreur ou un log Odoo dans la bonne catégorie de cause racine : bug code source Odoo standard, customisation Studio, module custom client, donnée incorrecte, ou problème de migration. Parse le traceback Python (frame innermost, classe d'exception, module, chemin de fichier), applique des règles déterministes puis propose la prochaine action (lire la source, interroger Odoo, vérifier les customisations Studio, etc.). À utiliser quand l'utilisateur colle un traceback, un log d'erreur Odoo, un message UserError/ValidationError, ou demande « d'où vient ce bug ». Ne pas utiliser pour générer du code de correction (utiliser source_read_odoo_file + l'agent developer après triage) ni pour analyser un comportement métier sans erreur technique. |
| description_en | Classify an Odoo error message or log into the right root-cause family: standard Odoo source-code bug, Studio customisation, custom client module, incorrect data, or migration issue. Parses the Python traceback (innermost frame, exception class, module, file path), applies deterministic rules, then proposes the next step (read source, query Odoo, check Studio customisations, etc.). Use when the user pastes a traceback, an Odoo error log, a UserError/ValidationError message, or asks 'where is this bug coming from'. Do not use to write a fix (use source_read_odoo_file + the developer agent after triage) or to analyse business behaviour without a technical error. |
| requirement | Aucun (analyse de texte). Si le verdict suggère une vérification live, une connexion Odoo aidera ensuite. |
| requirement_en | None (text analysis). If the verdict suggests a live check, an Odoo connection helps next. |
| version | 1.0.0 |
| author | Le Goff Benoît - Camptocamp SA |
| modes | ["assistant","migration"] |
| keywords | ["traceback","log d'erreur","log derreur","log error","stack trace","stacktrace","userError","user error","validationError","validation error","missingError","integrityError","psycopg","psycopg2","exception odoo","exception python","exception remonte","exception en prod","exception en production","cause racine","root cause","type d'erreur","categoriser l'erreur","categorise l'erreur","categoriser ce bug","peux-tu la classer","peux-tu le classer","does not exist","column does not","n'existe pas","doesn't exist","qu'est-ce qui cause","d'où vient ce bug","d'où vient cette erreur","what causes this","where does this error come from","diagnose error","diagnostiquer erreur","classer l'erreur","classer cette erreur","classifier l'erreur","triage","trier l'erreur","studio, custom, data","studio ou data","code ou data","data ou studio","bug studio","bug code source","bug data","bug donnée","bug donnee","data corruption","erreur upgrade","migration error","erreur de migration","column does not exist","relation does not exist","field does not exist on model"] |
| permissions | {"filesystem":"read","network":false,"scripts":true,"odoo":"none"} |
| code_path | skills/triage-odoo-error/scripts/handler.py |
| references_auto_load | [{"file":"triage_decision_tree.md","triggers":["traceback","stack trace","validation error","user error","psycopg"]},{"file":"migration_error_patterns.md","triggers":["migration","upgrade","column does not exist","field does not exist on model","ir.model.data"]}] |
| allow_implicit_invocation | true |