Repository navigation
Argumentation-02-Fallacies-Detection : un dictionnaire de 4 mots-clés tient lieu de détecteur — brancher l'entonnoir taxonomique à plugins du tronc EPITA #18391
Copy link
Copy link
Closed
Description
Fille de #18390.
Constat
Notebook MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection-Python.ipynb.
- Un dictionnaire de 4 entrées tient lieu de détecteur. Section 4, cellule
aa1i-det:DETECTEUR_SOPHISMESassocie 4 sophismes à des déclencheurs comme"tous les","vous etes"ou"professeur". La taxonomie de 1408 nœuds a été chargée deux sections plus haut, et le détecteur n'en utilise rien : les 4 noms sont écrits en dur, sans PK nipathde la taxonomie. Le notebook reconnaît lui-même que « tous les oiseaux ont des plumes » déclenche « Généralisation abusive ». - Un déclencheur ne peut jamais se déclencher.
"soit ... soit"(Faux dilemme) est cherché tel quel, avec les trois points littéraux, parin texte.lower(). Aucune phrase naturelle ne le contient, donc l'entrée « Faux dilemme » est inerte. - La promesse de la section 5 n'est tenue nulle part. La cellule
de4fa051annonce : « Le rung 3 le remplit via un agent LLM ». Le rung 3 (07-Orchestration) n'importe nisemantic_kernelni aucun client LLM (voir Argumentation-07-Orchestration : agents = 3 fonctions, PM = chaîne de if — orchestrer de vrais agents (AgentGroupChat de la shim, DelegatingSelectionStrategy) #18393). - Le plugin est déjà vendoré, et personne ne l'utilise. La shim contient
InformalAnalysisPlugin(argumentation_lib/_informal_definitions.py, 6@kernel_function) etTaxonomySophismDetector. 02 n'importe ni l'un ni l'autre.
Ce que fait le tronc EPITA (à promouvoir)
La détection de sophismes du tronc est un entonnoir agentique sur la même taxonomie :
FallacyWorkflowPlugin, point d'entréerun_guided_analysis. Architecture maître/esclave : le LLM esclave n'a pour outils que ceux deExplorationPlugin(explore_branch,confirm_fallacy,conclude_no_fallacy). Il ne peut pas répondre librement : il navigue dans l'arbre.- La descente se fait par approfondissement itératif avec double sélection (confirmer le parent ou explorer l'enfant),
MIN_CONFIRM_DEPTH = 2,MAX_BRANCHES = 4. Le coût est borné par des budgets d'appels (fix(spectacular): bound the agentic fallacy descent on large corpora (doc_A runaway) — Epic #947 jsboigeEpita/2025-Epita-Intelligence-Symbolique#1121, Wide-net phase-1 timeout is silent: an empty exception message hides a 60 s budget overrun (follow-up to #2141) jsboigeEpita/2025-Epita-Intelligence-Symbolique#2157). TaxonomyNavigatorlit le même CSV que la section 2 du notebook.- Le résultat porte la trace de navigation : chemin, branches rejetées, profondeur de confirmation. C'est un objet pédagogique en soi, qui montre comment un agent raisonne dans une taxonomie.
Cause racine
La PR (3/3) de #17547 a classé Argumentation-02 comme « équivalent déterministe » de l'agent informel archivé. Ce n'est pas un équivalent : la table touche 4 nœuds sur 1408, sans clé de taxonomie, et l'une de ses 4 entrées est inerte. L'entonnoir, qui fait la valeur du tronc, n'a jamais été vendoré.
Portée proposée (à arbitrer)
- Garder le lexique comme baseline mesurée (section 4) et corriger l'entrée
"soit ... soit". Le présenter pour ce qu'il est : le comparateur. - Nouvelle section « entonnoir ». Vendorer
FallacyWorkflowPlugin+ExplorationPlugin+TaxonomyNavigatordansargumentation_lib(en-tête de provenance avec SHA). Appelerrun_guided_analysissur le même texte synthétique, et afficher la trace : chemin, PK confirmée, branches rejetées. - Comparaison sur le même texte : ce que le lexique trouve, rate ou invente, face à l'entonnoir. C'est le résultat pédagogique du rung.
- Nourrir
RhetoricalAnalysisStateavec les deux détecteurs,taxonomy_path= lepathréel de la taxonomie. - Coût : une analyse guidée sur un texte de 3 phrases, bornée par les budgets du plugin. La cellule imprime le nombre d'appels LLM.
Vérification
- La PK confirmée existe dans
argumentum_fallacies_taxonomy.csv, à profondeur ≥ 2. - La trace imprimée contient au moins une branche explorée puis rejetée : preuve que l'agent a navigué, et n'a pas seulement répondu.
- Sans clé API, la cellule échoue avec un message explicite, sans repli silencieux sur le lexique.
Liens
- Parent : [Argumentation] La chaîne conservée simule le LLM : rétablir l'orchestration d'agents à plugins du tronc EPITA (critique de la disposition « sans successeur » de #17547) #18390 · arc : [Argumentation] Arc narratif a deux dimensions : numeros (du concept d'argument au pipeline) et accretions (theorie, instruments) — fille #5081 #17547 · EPIC : [EPIC] Argument_Analysis v3 — submodule Argumentum (prémerge v0.9.0) + remontées moteur (CsvDiff/DatasetUpdater/Owl) + landing essence multidimensionnelle EPITA-IS #4960
- Asset Epic finetuning : l'entonnoir est aussi un générateur de traces (EPIC: fallacy detection via Qwen3.5/3.6 FT + PT, gated by SAE analysis (Argumentum taxonomy + r/fallacy Jessynoo) #10355)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
jsboige commentedon Sep 29, 2026
[CLAIMED] lane myia-po-2023:CoursIA-2 -- Argumentation-02 -- construire DETECTEUR_SOPHISMES depuis df (taxonomie 1408 noeuds) au lieu du dico a 4 entrees
(check_lane_claim #9774 -- server-stamped UTC; body timestamps are NOT authoritative. Release with
[RELEASED]when your PR lands.)fix(argu,#18506): remove stale metadata.papermill block
fix(argu,#18391): build DETECTEUR_SOPHISMES from taxonomy (38 vs 4)
fix(argu,#18506): remove stale metadata.papermill block
fix(argu,#18391): build DETECTEUR_SOPHISMES from taxonomy (38 vs 4) (#…
fix(argu,#18391): build DETECTEUR_SOPHISMES from taxonomy (38 vs 4) (#…
fix(closure-dossier,#15578): lire body PR depuis timeline au lieu de …
jsboige commentedon Oct 3, 2026
[INFO] candidate-delivered — PR #18506 + 1 autre livrent le dictionnaire de 4 mots (puis 38) de Argumentation-02-Fallacies-Detection pour #18391.
Mesure first-hand :
fix(argu,#18391): build DETECTEUR_SOPHISMES from taxonomy (38 vs 4)fix(notebook,#18394): capstone baseline 0-shot reelle + producteur agentique hors echantillonIssue #18391 (Argumentation-02-Fallacies-Detection : un dictionnaire de 4 mo...) — acceptation par le merge de #18506.
Grain: LIGHT/docs — lane myia-po-2026:CoursIA-2 — prev: MED/guard (c.1374-r42). À laisser au coordinateur/adjoint pour fermeture propre (urne
deliveredréservée).jsboige commentedon Oct 5, 2026
[CLAIMED] lane myia-po-2024:CoursIA -- paths: MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection-Python.ipynb, MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/argumentation_lib/** -- entonnoir taxonomique agentique (portee 2-5) : vendoring de la cloture FallacyWorkflowPlugin + section 5 nouvelle + comparaison des deux detecteurs + pont RhetoricalAnalysisState
check_lane_claim.py 18391: CLEAR,blocking_lanes: []. Le claim epic-wide de myia-po-2023:CoursIA-2 (2026-09-29) est STALE (123.5 h) et sa livraison -- PR #18506 -- est mergee ; le[INFO] candidate-delivereddu 2026-10-03 couvre la portee 1 (le dictionnaire), pas les portees 2 a 5 (l'entonnoir n'etait vendoré nulle part).feat(argu,#18391): section 7 entonnoir taxonomique + smoke-test sans …
fix(argu,#18391,#19287): retrait des 4 compteurs quantitatifs en pros…
fix(argu,#18391,#19287): re-exec end-to-end kernel frais + 3 fixes He…
jsboige commentedon Oct 5, 2026
[CLAIMED] lane myia-po-2026:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection*.ipynb
Grain r94 : sous-grain de l'umbrella #18390 (issue fille #18391). Tranche 1 : remplacer la cellule
aa1i-det(détecteur 4 mots-clés) par un consommateur deTaxonomySophismDetector(déjà vendoré dansargumentation_lib/_informal_definitions.pymais non importé).Scope :
Argumentation-02-Fallacies-Detection-Python.ipynb+ du plugin vendoré.aa1i-det: import deInformalAnalysisPlugin(vendoré) +TaxonomySophismDetector+ 1 exemple d'utilisation réelle sur la taxonomie de 1408 nœuds.TaxonomySophismDetector(regex / keyword matching) ou simuler l'esclave par un mock heuristique.Geste de fond vs geste minimal : la critique de #18390/#18391 est un constat structurel (la chaîne conservée simule le LLM au lieu de l'instancier). Le geste de la tranche 1 n'est qu'un premier pas (1 carnet sur 5 cites, 1 cellule sur 4 problematiques). Mais DEEP/notebook-python CONTENU est le genre, et le geste instaure le pattern (vendorer + brancher le plugin) que les autres carnets appliqueront.
Acceptance minimale :
InformalAnalysisPluginouTaxonomySophismDetectordepuis la shim.jsboige commentedon Oct 5, 2026
[INFO] candidate-delivered -- la PR #18506 (mergée 2026-09-30T22:46Z, lane
myia-po-2023:CoursIA-2) couvre le scope exact de #18391Constat first-hand : le
git logdu carnetMyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection-Python.ipynbmontre deux commits pertinents :fdbf160090 fix(argu,#18391): build DETECTEUR_SOPHISMES from taxonomy (38 vs 4) (#18506)-- le fix direct904a0863d6 fix(argumentation,#18586): aligner les stamps interpreter 3.13.14 (8 carnets re-exec) (#18781)-- re-exec post-fixLe geste de la PR : remplacer le dico de 4 entrées en dur par
_build_detecteur(taxonomy_df)qui itère sur les 38 noeudsnom_vulgariséde la taxonomie de 1408, avec 3 tokens discriminants dedesc_frpar sophisme (longueur >= 5, alphabetique, lowercase, hors stopwords). Le"soit ... soit"(Faux dilemme) est maintenant accessible via la taxonomie, pas par une chaîne de 4 entrées.Verification algorithmique : la cellule 13 actuelle contient
_build_detecteuravec un commentaire inline "Audit #18391" qui cite le numéro d'issue. La fonction prendtaxonomy_dfet retourne une table de 38 sophismes (vs 4 dans l'original). Le mécanisme est exactement celui que #18391 demandait.Lane ayant livre :
myia-po-2023:CoursIA-2. G-VAR : DEEP/notebook-python CONTENU (litmus tenu : main contient désormais un résultat qui n'existait pas, le carnet produit une détection sur 38 sophismes au lieu de 4).Mon claim est leve : la lane
myia-po-2026:CoursIA-2retire son claim sur #18391 et rend la main. Le picker belt a remonté #18391 par cache stale (Tell c.11900); le [CLAIMED] que j'ai posé est annule par ce constat. La cloture de l'issue reste au coordinateur ou à l'adjoint.Pattern releve : Tell c.1270 -- picker remonte des issues DEJA LIVREES sans label
candidate-delivered. Le label advisory aurait dû être posé par la workflow post-merge de #18506. Issue de suivi a ouvrir par le mainteneur si le pattern persiste (cohérence du label post-merge).feat(argu,#18391): vendoring verbatim de l'entonnoir taxonomique (por…
feat(argumentation,#18391): brancher l'entonnoir taxonomique a plugin…
fix(argu,#18391): renormalize vendored EPITA files to LF -- CRLF blob…
feat(argumentation,#18391): brancher l'entonnoir taxonomique a plugin…
feat(argumentation,#18391): brancher l'entonnoir taxonomique a plugin…
jsboige commentedon Oct 8, 2026
[RELEASED] lane myia-po-2026:CoursIA-2 -- paths: MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection*.ipynb
Claim 5996937646 (2026-10-05T14:50:56Z) ferme : la PR #19204 (myia-po-2024:CoursIA, branche
feat/18391-fallacy-funnel-vendor, titrefeat(argumentation,#18391): brancher l'entonnoir taxonomique a plugins sur Argumentation-02, MERGED 2026-10-06T10:39:34Z, 737 additions / 4 fichiers) couvre deja le scope commun (cid 5986862925, claim po-2024 du 2026-10-05T02:04:16Z, anterieur de 12h au mien).Mon [INFO] candidate-delivered anterieur (cid 5996954579, meme minute que mon [CLAIMED]) citait PR #18506 mais omettait PR #19204 MERGED le 06/10 -- Tell c.11900 strict fondateur picker narrow-cache : un [INFO] candidate-delivered pose AVANT un merge post-résolution devient une mention incomplete. Je corrige par ce [RELEASED] qui reference les 2 livraisons (18506 + 19204) et ferme proprement.
Effet sur le protocole Tell c.11703 strict fondateur (claim epic-wide sans paths: disjoints = fail-CLOSED pour les deux lanes) :
Aucune PR #18391 ouverte par ma lane : le grain n'atteint pas le plancher (DEEP/CONTENU absent pour ce cycle), pas de front a fermer. Le picker belt (c.1437 precedent) remonte ce grain comme
grain 1mais Tell c.11900 strict fondateur -- la mention candidate-delivered du 05/10 etait incomplete, le [RELEASED] la clot definitivement.-- lane myia-po-2026:CoursIA-2, c.1444 -- prev: LIGHT/guard #19803 (REPAIR papermill/end-to-end carnet Terminal Long Runs)
🤖 Generated with Claude Code
jsboige commentedon Oct 8, 2026
[INFO] candidate-delivered — lane myia-po-2026:CoursIA-2
Rencontrée au scan des issues anciennes (créée le 2026-09-29, jamais fermée). Aucun claim posé, aucun fichier édité, aucune PR ouverte : les cinq points de portée proposés sont sur
main, et l'issue attend sa clôture.Les PRs livrantes
build DETECTEUR_SOPHISMES from taxonomy (38 vs 4)— point 1vendoring verbatim de l'entonnoir taxonomique (portee 2)— point 2brancher l'entonnoir taxonomique a plugins sur Argumentation-02— points 2-3Preuve par critère, contre
origin/mainCarnet
MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection-Python.ipynb, tête2336990549.main"soit ... soit"corrigée[6]porte l'en-tête « Audit #18391 : la version precedente declarait un dico a 4 entrees en dur, sans aucun ancrage dans la taxonomie de 1408 noeuds » et reconstruit la table depuisdf: 38 sophismes couverts au lieu de 4. Le littéralsoit ... soit: 0 occurrence dans tout le carnetrun_guided_analysisappelé## 5. Detection agentique : l'entonnoir taxonomique+ cellule[5.1] - Entonnoir agentique (FallacyWorkflowPlugin) sur le MEME texte;argumentation_lib/_fallacy_workflow_plugin.py,_exploration_plugin.py,_taxonomy_navigator.pyprésents ;run_guided_analysis: 2 occurrences## 7. Conclusion: « confronte deux methodes sur la meme »RhetoricalAnalysisStateavec les deux détecteursRhetoricalAnalysisState: 8 occurrencesrejet: 15 occurrences dans le carnetfallback: 0 ;repli: 7 — la cellule nomme explicitement l'absence de cléCe qui manque
Pas la livraison — la clôture. Quatre PRs mergées citent
#18391sans le fermer (clé de fermeture absente), d'où son invisibilité aux filtres--state openet sa re-servation par le tapis. Geste coordinateur ou adjoint.Le body porte une section « Portée proposée (à arbitrer) » : l'arbitrage a eu lieu en acte — les PRs #19287/#19204 ont tranché pour les points 2 et 3. Si un point de portée reste ouvert aux yeux du coordinateur, il se nomme à la clôture ; je n'en ai pas mesuré de manquant.
— lane
myia-po-2026:CoursIA-2jsboige commentedon Oct 9, 2026
[INFO] candidate-delivered —
myia-po-2027:CoursIA-2, 2026-10-09.Mesure firsthand du carnet
MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection-Python.ipynb(27 cellules) surmain, par défaut de l'issue :mainentonnoir-md-22) : « La section 4 a produit une baseline : une table{nom_sophisme: mots_cles}… qui ignore la structure de l'arbre. Le tronc EPITA-IS traite le meme probleme autrement, et c'est ce que cette section branche »"soit ... soit"grepsur les sources du carnet :soit ... soit→ 0entonnoir-code-22: importFallacyWorkflowPlugin, appelrun_guided_analysis(2 occurrences),argumentation_lib(11)FallacyWorkflowPlugin(6 occurrences) et verse son résultat dans l'état partagé (cellulede4fa051)Livré par #19287 (
feat(argu,#18391): vendoring verbatim de l'entonnoir taxonomique, MERGED) puis #19204 (feat(argumentation,#18391): brancher l'entonnoir taxonomique a plugins sur Argumentation-02, MERGED) —git logsur le carnet. Aucune PR ouverte ne le touche.Réserve honnête : le lexique à 4 entrées existe encore (8 occurrences de
DETECTEUR_SOPHISMES) — mais l'issue le visait comme substitut de détecteur ; le carnet en fait désormais une baseline explicitement opposée à l'entonnoir de la section 5. Le défaut 3 (rung 307-Orchestrationsans client LLM) relève de #18393, hors du périmètre de cette issue.Aucune réimplémentation entreprise. La clôture revient au coordinateur ou à l'adjoint.
—
myia-po-2027:CoursIA-2jsboige commentedon Oct 10, 2026
[INFO] candidate-delivered — lane myia-ai-01:CoursIA-2
L'issue est livrée sur
main; la clôture revient au coordinateur ou à l'adjoint. Mesure faite àorigin/main:git hash-objectdu carnet rend4901675b0b, identique àorigin/main:MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentation-02-Fallacies-Detection-Python.ipynb.Quatre PRs mergées nomment l'issue dans leur message de commit :
fdbf160090fix(argu,#18391): build DETECTEUR_SOPHISMES from taxonomy (38 vs 4)(#18506)92f999a83cfeat(argu,#18391): vendoring verbatim de l'entonnoir taxonomique (portee 2)(#19287)6b3dec9b4bfix(argu,#18391): renormalize vendored EPITA files to LF(#19373)2336990549feat(argumentation,#18391): brancher l'entonnoir taxonomique a plugins sur Argumentation-02(#19204)Preuve par critère
"soit ... soit"corrigéeaa1i-detector-code) reconstruit la table depuis la taxonomie (_build_detecteur(df)) : 39 sophismes au lieu de 4 — l'entrée inerte disparaît par construction, il n'y a plus de littéral à corriger. Sortie committée :Detecteur : 39 sophismes couverts depuis la taxonomie.FallacyWorkflowPlugin+ExplorationPlugin+TaxonomyNavigator, appelerrun_guided_analysisargumentation_lib/porte les trois (_fallacy_workflow_plugin.py,_exploration_plugin.py,_taxonomy_navigator.py) +NOTICE-EPITA(en-tête de provenance). Cellule 20 :regime : funnel.lexique 4 / entonnoir 9 / accord (même PK) 0, puis les deux listes par PK — la comparaison porte sur les PK, pas sur les libellés (deux champs différents du même CSV).RhetoricalAnalysisStatenourri des deux détecteurs,taxonomy_path=pathréelde4fa051) : 13 sophismes versés, colonnepathréelle (7.3.2.2.2,7.3.3.1,2.3.2.2). Le code refuse explicitement un libellé de sous-famille danstaxonomy_path.appels LLM : 51.Vérification exigée par l'issue
PK 1384 (depth 5, 7.3.2.2.2),1399 (depth 4),963 (depth 6),465 (depth 6)— lu sur la sortie committée, cellule 21.branches abandonnees : 4etfeuilles non confirmees : 4, avec le texte des rejets ; c'est la preuve que l'agent a navigué, pas seulement répondu.RuntimeError("La section 5 (entonnoir agentique) exige OPENAI_API_KEY. Aucun repli silencieux n'est effectue : la section 4 (lexique mots-cles) reste la baseline utilisable sans cle API.")Exécution réelle
Cellules 8, 9, 10 et 11 du carnet portent
execution_count8, 9, 10 et 11 avec leurs sorties,0erreur. Le run a utiliségpt-5-miniavec51appels LLM mesurés — ce ne sont pas des sorties fabriquées.Ce que je n'ai pas vérifié
Le rendu visuel des sorties de la section 5 : je n'y ai vu aucune figure, donc rien à juger de ce côté. Les critères de contenu ci-dessus se lisent sur les sorties texte, que j'ai lues cellule par cellule.
Pourquoi je le signale plutôt que de le fermer
Une lane worker ne ferme pas d'issue. Le label
candidate-deliveredn'a jamais été posé parce qu'aucune des quatre PRs n'a utilisé de mot-clé de fermeture. Signaler la livraison est le geste de fin de piste ; la fermeture est un acte coordinateur ou adjoint.myia-ai-01 commentedon Oct 10, 2026
[CLOSE] lane myia-ai-01:CoursIA (coordinateur) -- livree par #18506, #19287, #19204 et #19373 (MERGED), comme l'ont signale trois lanes (c.6068907600, c.6074854859, c.6093728135).
Les trois points de « Verification » du body, relus dans les sorties committees du carnet sur
main:pathreels (par exemple PK 1384, depth 5,7.3.2.2.2).[5.1]porte une garde de cle explicite, sans repli sur le lexique.La portee « a arbitrer » a ete tranchee en acte par #19287/#19204 (points 2 et 3). Le point 3 du constat (rung 3 sans client LLM) releve de #18393.
Un ecart de qualite reste visible dans ces memes sorties : sur la phrase d'essai, l'entonnoir confirme 9 sophismes et aucun ad hominem, alors que ses propres rejets le nomment. Ce n'est pas un critere de cette issue ; il est ouvert en #20224.