You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Recollement_Lectures (strate 6) : la clé de jointure annoncée (Latin ↔ localname) n'est pas celle mesurée (FR normalisé) ; Exercices 2-3 exigent un OWL \ CSV vide ; « 18 284 triplets AIF » = le total des annotations, pas des triplets AIF #18945
1. La prose de §3 annonce une jointure « Latin ↔ localname » que le carnet n'implémente pas — et ne peut pas implémenter
Cellule 2a2d97a4 (§3, clôture) :
« La clé de jointure est Latin côté CSV ↔ localname(iri) côté OWL — c'est précisément le terrain de l'incompatibilité : le Latin du CSV est un nom technique camelCase latinis (semanticAmbiguity), déjà aligné sur l'OWL localname par convention Argumentum. Si l'alignement est parfait, on devrait s'attendre à une intersection quasi-totale. La cellule suivante mesure précisément cet écart. »
Mesuré, sur les substances mêmes du carnet :
la colonne Latin est remplie pour 25 / 1 408 lignes (1,8 % — sortie committée de la cellule 23695336), avec de vrais noms latins (AdHominem, AdPopulum, AdCoelum…), pas des localnames camelCase ; la valeur d'exemple semanticAmbiguity est un localname OWL, pas une valeur de la colonne ;
le commentaire de code de la cellule 23695336 le dit lui-même : « Ce n'est pas une clé de jointure universelle » ;
la jointure réellement exécutée (cellule 2b4872f5) est FR normalisé ↔ FR normalisé (_norm(e["fr"]) des deux côtés), et son commentaire l'écrit : « Clé de jointure : label FR normalisé » ;
« la cellule suivante mesure précisément cet écart [Latin ↔ localname] » : la cellule suivante mesure autre chose (FR ↔ FR). L'écart Latin ↔ localname n'est mesuré nulle part.
Accessoire : le compte « 24 » est écrit trois fois (commentaire « ~24 » de 23695336, commentaire « (24/1408) » de 23695336, impression codée en dur « (24/1408 peuplé) » de 2b4872f5) alors que la sortie committée juste au-dessus dit 25.
2. §5 contredit la sortie qu'il commente
Cellule 0bca61c3 : « la jointure sémantique donne 1 293 intersection / 1 313 OWL distincts / 1 313 CSV distincts ». La sortie committée de la cellule 2b4872f5 imprimée juste au-dessus : « Lecture OWL (FR distincts) : 1,293 ». L'arithmétique interne de la même phrase est impossible : si l'intersection vaut 1 293 et « OWL \ CSV : 0 » (imprimé deux lignes plus bas dans la même section), alors les OWL distincts valent 1 293. La prose fabrique 20 OWL-only qui n'existent pas.
3. Les exercices sont insatisfaisables sur les substances mesurées
Cellule cf8e75da (§7) :
Exercice 2 : « choisir deux localnames précis (au moins un dans OWL \ CSV, au moins un dans CSV \ OWL) » — l'ensemble OWL \ CSV est vide (0, mesuré, sortie committée). L'exercice exige un élément d'un ensemble vide.
Exercice 3 : « chaque sophisme de OWL \ CSV est un nœud » — l'ensemble de nœuds est vide ; le graphe demandé n'a aucun nœud.
Exercice 1 : l'indice dit « utiliser localname comme clé » — le CSV n'a pas de colonne localname (le Latin n'en est pas un, cf. §1 du présent constat) ; et la restriction par Famille suppose une famille côté OWL que la lecture OWL ne porte pas (cellule ec8fd5c1 : « pas de Famille directe »).
4. « 18 284 triplets AIF » : le chiffre du chapeau existe, mais ce n'est pas des triplets AIF
La cellule 30d3e335 l'écrit deux fois (chapeau et titre du §2 : « parseur regex tolerant, 18 284 triplets »). Aucune sortie du carnet ne l'imprime. Mesuré :
compte (fichier OWL intégral)
état d'écriture (a93a08e21, 10/07)
HEAD
total <AnnotationAssertion>
18 284
18 388
dont concept→concept (le « AA-resource » du carnet)
7 773
7 825
dont triplets touchant aif
110
162
dont prédicat aifAttackedNode
93
145
18 284 est donc le total des annotations de l'ontologie — dominées par type/inScheme/narrower/broader/mirrors/isRelatedTo/leverages (SKOS + crossLink) : étiqueter ce total « triplets AIF » est faux d'un facteur ~166 sur le compte AIF réel (93 aifAttackedNode à l'état d'écriture). Le chiffre est exact, sa nature ne l'est pas — et il est déjà périmé à HEAD (18 388).
5. Sorties figées à l'état d'écriture : les deux substances ont été resynchronisées deux fois depuis, sans ré-exécution
Chronologie mesurée (gh api commits?path=, clone local shallow) :
Rejeu intégral mesuré aux deux états (les 12 cellules de code committées concaténées, substances exactes récupérées par rev) :
à l'état d'écriture : toutes les valeurs des sorties committées sont reproduites (preuve code ↔ sorties, cf. crédits) ;
à HEAD : le verdict central est inchangé — 1 293 / 1 313 / 98,5 % / 20 témoins / témoin Accroche PK 944 identiques — mais quatre valeurs committées sont périmées : AA-resource 7 773 → 7 825, CSV 102 → 104 colonnes, OWL 5 904 124 → 6 791 708 o (96 770 → 107 895 lignes), CSV 4 069 575 → 4 144 860 o.
Prose périmée en conséquence : 9aabf87c/806ba8a1 « ~6 MB, 96 770 lignes » ; 962e6354 (titre §3) « 1 408 lignes × 102 colonnes » ; 53b43e33 « 102 colonnes, moins d'un Mo » — ce dernier était déjà faux à l'écriture : la cellule be535365 imprime 4 069 575 octets juste au-dessus.
6. Le graphe de transformations promet 4 relations, la sortie en produit exactement 1
La cellule 221f875a (§6) présente les 4 relations exploite / répond / répare / neutralise avec exemples canoniques. La sortie committée de 9912d273 : OWL \ CSV = ∅ → categorize_owl n'est jamais appelée (ses 4 branches sont du code mort sur les substances committées) ; les 20 CSV-only sont tous étiquetés repond ; « Dont neutralise : 0 ». Puis :
§8 (778de865) renvoie à « les AIF attack de l'OWL (§7 OWL-only) » — §7 est la section Exercices, et l'ensemble OWL-only est vide ;
C.4 §2 (« Honnêteté méthodologique — claim grounded ») narre « un sophisme documenté dans l'OWL via prefLabel FR/EN mais absent du CSV canonique … OWL régénéré plus récemment ou avec plus de concepts » — la direction mesurée est l'inverse (0 OWL-only, 20 CSV-only ; la cellule ecbbdf6e écrit correctement « retard de régénération de l'OWL depuis le CSV ») ;
C.4 §1 répète « heuristique de jointure (colonne Latin) » — la clé réelle est le FR normalisé (cf. §1 du présent constat).
7. Prémisses rdflib / owlready2 non tracées
9aabf87c/806ba8a1 : « rdflib échoue au parse ; owlready2 charge mais expose 0 classe ». Aucun traceback committé. NON MESURÉ sur ce siège : rdflib et owlready2 tous deux absents (ModuleNotFoundError ×2) et l'installation sortait du périmètre (audit lecture seule). Le fichier est XML bien formé (22 141 enfants à la racine, mesuré dans #18873).
Ce qui est vérifié et tient (crédits)
Sorties ↔ code à l'état d'écriture : exact. Rejeu des 12 cellules de code committées contre les substances exactes de l'état d'écriture (OWL a93a08e21 et CSV bd54d76d2 récupérés par rev) : chaque valeur substantive des sorties committées est reproduite — 5 904 124 / 96 770 lignes / 1 513 classes / 10 ObjectProperty / 2 816 prefLabel / 7 773 AA-resource / 1 509 → 1 406 / 4 069 575 / 1 408×102 / 25 Latin / 1 313 / 1 293 / 98,5 % / 1,5 % / 5 familles (8-6-2-2-2) / témoin Accroche PK 944 / repond×20 / neutralise 0. Seuls les chronométrages varient.
Le verdict central est robuste au vieillissement — mesuré, pas supposé. Ré-exécution intégrale à HEAD : intersection 1 293, taux 98,5 %, les 20 témoins dans le même ordre alphabétique (accroche → PK 944) sont inchangés malgré deux resynchronisations de chaque substance. C'est, des carnets de recollement audités jusqu'ici, le seul dont la conclusion phare survit à l'état courant.
« 8 langues » exact : text_{ar,en,es,fa,fr,pt,ru,zh} — 8 colonnes, aux deux états du CSV.
Le témoin est démontré en sortie (« Verifie dans OWL (pour preuve) : True ») et sa direction (CSV-only) est correctement interprétée par ecbbdf6e, qui nomme les deux hypothèses (retard de régénération / marge de génération) — c'est la C.4 §2 qui la renverse, pas la cellule de mesure.
Stubs C.1 conformes (3 × print("Exercice a completer"), aucun raise).
Cause racine
La prose a été écrite pour un plan A — jointure Latin ↔ localname, « intersection quasi-totale attendue », témoin OWL-only narré dans l'honnêteté méthodologique, exercices bâtis sur les deux côtés de la différence — ; le code a livré un plan B (jointure par FR normalisé, témoin CSV-only, OWL \ CSV vide). La prose du plan A n'a jamais été relue après la mesure : la cellule qui annonce la jointure Latin précède immédiatement celle qui code la jointure FR, et les trois occurrences du compte « 24 » n'ont jamais été réconciliées avec le « 25 » imprimé au-dessus. S'y ajoute le défaut déjà connu de la série (#18656, #18658, #18825) : sorties jamais ré-exécutées après les resynchronisations des substances — avec ici une nuance mesurée : la conclusion centrale y survit.
Portée proposée (à arbitrer)
2a2d97a4 réécrite sur la jointure réelle (FR normalisé ; Latin = 25/1 408 noms latins réels, non camelCase) ; « 24 » corrigé en 25 aux trois occurrences (dont l'impression codée en dur de 2b4872f5).
0bca61c3 corrigée : 1 293 / 1 293 / 1 313.
53b43e33 : « moins d'un Mo » → ~4 Mo (déjà faux à l'écriture) ; « 102 colonnes » rafraîchi après ré-exécution.
30d3e335 : « 18 284 triplets AIF » → « 18 284 annotations (dont 93 aifAttackedNode) » — ou re-mesure et impression du vrai compte AIF.
Exercices 2 et 3 rendus satisfaisables (p. ex. Ex 2 : un témoin CSV-only et un élément de l'intersection à labels divergents ; Ex 3 : nœuds = CSV \ OWL, arêtes depuis categorize_csv) ; indice Ex 1 reformulé (le CSV n'a pas de localname).
C.4 §1/§2 (778de865) réécrites dans la direction mesurée (CSV-only, jointure FR).
Ré-exécution complète du carnet à l'état HEAD des substances ; le millésime « commit courant 2026-08 » suivra.
Vérification (rejouable)
# Substances à l'état d'écriture (clone local shallow : passer par l'API, pas par le log local)
gh api -H "Accept: application/vnd.github.raw" \
"repos/jsboige/CoursIA/contents/MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/data/argumentum_fallacies_taxonomy.csv?ref=bd54d76d2"> csv_ecriture.csv
# OWL : blob à ref=a93a08e21 (5 904 124 o, inchangé 10/07 -> 29/08)# Rejeu : concaténer les 12 cellules de code du carnet, cwd = un répertoire contenant# ontologies/argumentum_fallacies.owl + data/argumentum_fallacies_taxonomy.csv, exécuter.# -> à l'état d'écriture : toutes les valeurs committées reproduites ;# à HEAD : seul delta substantif = 6 791 708 / 107 895 / 7 825 / 4 144 860 / x104.# Le compte « 18 284 » :
python -c "import re; t=open('<owl>',encoding='utf-8').read(); print(len(re.findall(r'<AnnotationAssertion>', t)))"# etat d'ecriture : 18284 ; HEAD : 18388# La couverture Latin (25, pas 24) :# python -c "import pandas as pd; df=pd.read_csv('csv_ecriture.csv',encoding='utf-8-sig'); print(df['Latin'].notna().sum())"
[CLAIMED] lane myia-po-2026:CoursIA -- Recollement_Lectures strate 6 : reconciler la cle de jointure annoncee (Latin<->localname) avec la mesure reelle (FR normalise), corriger les Exercices 2-3 (OWL vide \ CSV vide) et le compte 18 284 (annotations vs triplets AIF) -- paths: MyIA.AI.Notebooks/SymbolicAI/SemanticWeb/Recollement_Lectures.ipynb
Fille de #18390.
Constat
1. La prose de §3 annonce une jointure « Latin ↔ localname » que le carnet n'implémente pas — et ne peut pas implémenter
Cellule
2a2d97a4(§3, clôture) :Mesuré, sur les substances mêmes du carnet :
Latinest remplie pour 25 / 1 408 lignes (1,8 % — sortie committée de la cellule23695336), avec de vrais noms latins (AdHominem,AdPopulum,AdCoelum…), pas des localnames camelCase ; la valeur d'exemplesemanticAmbiguityest un localname OWL, pas une valeur de la colonne ;23695336le dit lui-même : « Ce n'est pas une clé de jointure universelle » ;2b4872f5) est FR normalisé ↔ FR normalisé (_norm(e["fr"])des deux côtés), et son commentaire l'écrit : « Clé de jointure : label FR normalisé » ;Accessoire : le compte « 24 » est écrit trois fois (commentaire « ~24 » de
23695336, commentaire « (24/1408) » de23695336, impression codée en dur « (24/1408 peuplé) » de2b4872f5) alors que la sortie committée juste au-dessus dit 25.2. §5 contredit la sortie qu'il commente
Cellule
0bca61c3: « la jointure sémantique donne 1 293 intersection / 1 313 OWL distincts / 1 313 CSV distincts ». La sortie committée de la cellule2b4872f5imprimée juste au-dessus : « Lecture OWL (FR distincts) : 1,293 ». L'arithmétique interne de la même phrase est impossible : si l'intersection vaut 1 293 et « OWL \ CSV : 0 » (imprimé deux lignes plus bas dans la même section), alors les OWL distincts valent 1 293. La prose fabrique 20 OWL-only qui n'existent pas.3. Les exercices sont insatisfaisables sur les substances mesurées
Cellule
cf8e75da(§7) :localnamecomme clé » — le CSV n'a pas de colonne localname (le Latin n'en est pas un, cf. §1 du présent constat) ; et la restriction parFamillesuppose une famille côté OWL que la lecture OWL ne porte pas (celluleec8fd5c1: « pas de Famille directe »).4. « 18 284 triplets AIF » : le chiffre du chapeau existe, mais ce n'est pas des triplets AIF
La cellule
30d3e335l'écrit deux fois (chapeau et titre du §2 : « parseur regex tolerant, 18 284 triplets »). Aucune sortie du carnet ne l'imprime. Mesuré :a93a08e21, 10/07)<AnnotationAssertion>aifaifAttackedNode18 284 est donc le total des annotations de l'ontologie — dominées par
type/inScheme/narrower/broader/mirrors/isRelatedTo/leverages(SKOS + crossLink) : étiqueter ce total « triplets AIF » est faux d'un facteur ~166 sur le compte AIF réel (93aifAttackedNodeà l'état d'écriture). Le chiffre est exact, sa nature ne l'est pas — et il est déjà périmé à HEAD (18 388).5. Sorties figées à l'état d'écriture : les deux substances ont été resynchronisées deux fois depuis, sans ré-exécution
Chronologie mesurée (
gh api commits?path=, clone local shallow) :bd54d76d2— CSVa93a08e21— OWL3d7db7378(#12227 → PR #12290)5df176913(#13554) — resync les deux84d020040(#14578) — resync CSV02f2c6307(#16270) — titresf8d9ec235/47b7c0e26(#17547) — renamesRejeu intégral mesuré aux deux états (les 12 cellules de code committées concaténées, substances exactes récupérées par rev) :
AccrochePK 944 identiques — mais quatre valeurs committées sont périmées : AA-resource 7 773 → 7 825, CSV 102 → 104 colonnes, OWL 5 904 124 → 6 791 708 o (96 770 → 107 895 lignes), CSV 4 069 575 → 4 144 860 o.Prose périmée en conséquence :
9aabf87c/806ba8a1« ~6 MB, 96 770 lignes » ;962e6354(titre §3) « 1 408 lignes × 102 colonnes » ;53b43e33« 102 colonnes, moins d'un Mo » — ce dernier était déjà faux à l'écriture : la cellulebe535365imprime 4 069 575 octets juste au-dessus.6. Le graphe de transformations promet 4 relations, la sortie en produit exactement 1
La cellule
221f875a(§6) présente les 4 relationsexploite / répond / répare / neutraliseavec exemples canoniques. La sortie committée de9912d273: OWL \ CSV = ∅ →categorize_owln'est jamais appelée (ses 4 branches sont du code mort sur les substances committées) ; les 20 CSV-only sont tous étiquetésrepond; « Dont neutralise : 0 ». Puis :778de865) renvoie à « les AIF attack de l'OWL (§7 OWL-only) » — §7 est la section Exercices, et l'ensemble OWL-only est vide ;ecbbdf6eécrit correctement « retard de régénération de l'OWL depuis le CSV ») ;Latin) » — la clé réelle est le FR normalisé (cf. §1 du présent constat).7. Prémisses rdflib / owlready2 non tracées
9aabf87c/806ba8a1: « rdflib échoue au parse ; owlready2 charge mais expose 0 classe ». Aucuntracebackcommitté. NON MESURÉ sur ce siège :rdflibetowlready2tous deux absents (ModuleNotFoundError×2) et l'installation sortait du périmètre (audit lecture seule). Le fichier est XML bien formé (22 141 enfants à la racine, mesuré dans #18873).Ce qui est vérifié et tient (crédits)
a93a08e21et CSVbd54d76d2récupérés par rev) : chaque valeur substantive des sorties committées est reproduite — 5 904 124 / 96 770 lignes / 1 513 classes / 10 ObjectProperty / 2 816 prefLabel / 7 773 AA-resource / 1 509 → 1 406 / 4 069 575 / 1 408×102 / 25 Latin / 1 313 / 1 293 / 98,5 % / 1,5 % / 5 familles (8-6-2-2-2) / témoinAccrochePK 944 /repond×20 / neutralise 0. Seuls les chronométrages varient.accroche→ PK 944) sont inchangés malgré deux resynchronisations de chaque substance. C'est, des carnets de recollement audités jusqu'ici, le seul dont la conclusion phare survit à l'état courant.f123e075cite le carnet frère AIF (1 509 / 10 / 2 816 / 7 773) ; les deux carnets impriment exactement ces nombres sur la même substance (vérifié, cf. Ontology_AIF : prose §3 contradictoire en HEAD (table 7 773/« NamedIndividual disparu » vs sorties 7 825/4 244) et couches §5/§5.1 figées au 30/08 (mirrors 720→4 à l'épingle) #18825).text_{ar,en,es,fa,fr,pt,ru,zh}— 8 colonnes, aux deux états du CSV.ecbbdf6e, qui nomme les deux hypothèses (retard de régénération / marge de génération) — c'est la C.4 §2 qui la renverse, pas la cellule de mesure.print("Exercice a completer"), aucunraise).Cause racine
La prose a été écrite pour un plan A — jointure Latin ↔ localname, « intersection quasi-totale attendue », témoin OWL-only narré dans l'honnêteté méthodologique, exercices bâtis sur les deux côtés de la différence — ; le code a livré un plan B (jointure par FR normalisé, témoin CSV-only, OWL \ CSV vide). La prose du plan A n'a jamais été relue après la mesure : la cellule qui annonce la jointure Latin précède immédiatement celle qui code la jointure FR, et les trois occurrences du compte « 24 » n'ont jamais été réconciliées avec le « 25 » imprimé au-dessus. S'y ajoute le défaut déjà connu de la série (#18656, #18658, #18825) : sorties jamais ré-exécutées après les resynchronisations des substances — avec ici une nuance mesurée : la conclusion centrale y survit.
Portée proposée (à arbitrer)
2a2d97a4réécrite sur la jointure réelle (FR normalisé ; Latin = 25/1 408 noms latins réels, non camelCase) ; « 24 » corrigé en 25 aux trois occurrences (dont l'impression codée en dur de2b4872f5).0bca61c3corrigée : 1 293 / 1 293 / 1 313.53b43e33: « moins d'un Mo » → ~4 Mo (déjà faux à l'écriture) ; « 102 colonnes » rafraîchi après ré-exécution.30d3e335: « 18 284 triplets AIF » → « 18 284 annotations (dont 93 aifAttackedNode) » — ou re-mesure et impression du vrai compte AIF.categorize_csv) ; indice Ex 1 reformulé (le CSV n'a pas de localname).778de865) réécrites dans la direction mesurée (CSV-only, jointure FR).Vérification (rejouable)
Liens
3d7db7378) · retouches sans ré-exécution : fix(argument-analysis,#14950): normalize published headings, lot 2 (12 notebooks hors Agentic) #16270 (titres, 17/09), [Argumentation] Arc narratif a deux dimensions : numeros (du concept d'argument au pipeline) et accretions (theorie, instruments) — fille #5081 #17547 (renames, 24-25/09)a93a08e21(10/07) · resync feat(symbolicai): resync taxonomies Argumentum verbatim + garde d'intégrité (7 semaines de dérive silencieuse) #13554 (30/08, les deux) · resync CSV chore(argument,#4960): resync taxonomies verbatim au pin ae84c91c #14578 (04/09)