Skip to content

Fix(symbolicai,#21849): bump du gitlink Argumentum + resync verbatim au pin dc42437ce9 - #22415

Open
jsboige wants to merge 5 commits into
mainfrom
fix/21849-argumentum-taxonomy-resync
Open

jsboige wants to merge 5 commits into
mainfrom
fix/21849-argumentum-taxonomy-resync

Conversation

@jsboige

@jsboige jsboige commented Oct 24, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/tooling -- lane myia-ai-01:CoursIA-2 -- prev: MED/guard #22413

Objet

Cette PR fait deux gestes sur le même pin, volontairement dans une seule PR :

  1. bump du gitlink MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentum de 5cb4a759 → dc42437ce9 (39 commits en amont) ;
  2. resync verbatim des copies vendorees sur ce pin, puis régénération du manifeste.

Les deux ne peuvent pas être séparés : le manifeste argumentum_snapshot.json épingle upstream_commit et le blob_sha1 de chaque copie, et les artefacts dérivés épinglent le blob de la taxonomie. Un bump seul laisse main avec un pin et des copies qui se contredisent — un bump « inerte pendant que les copies sont périmées », c'est-à-dire un manifeste qui ment sur sa propre provenance. Ici, la tête de main portera un pin et des copies cohérents entre eux.

Ce que le bump n'est pas : un rafraîchissement de la taxonomie en soi. Le delta amont entre les deux pins est de 9 octets (3 lignes de données, 9 cellules de texte traduit) — aucune structure, aucun identifiant, aucun renvoi inter-cartes.

Mesure d'entrée et de sortie

git hash-object sur les copies, blobs amont lus via l'API au pin dc42437ce9 :

fichier blob au pin 5cb4a759 (état précédent) blob au pin dc42437ce9 (cette PR)
argumentum_fallacies_taxonomy.csv f3cec0e6 f519331c
argumentum_virtues_taxonomy.csv 74c0bcc1 74c0bcc1 (inchangé)
argumentum_fallacies.owl 41b05332 0ddd7042
argumentum_virtues.owl a9f5b7ec a9f5b7ec (inchangé)

Les deux copies modifiées ont été rechargées verbatim depuis l'amont (téléchargement du blob au pin, git hash-object = blob amont attendu, vérifié) — jamais éditées à la main.

Delta mesuré (pin 5cb4a759 → dc42437ce9)

Taxonomie Fallacies (1 408 lignes × 104 colonnes) : en-tête identique, aucun ajout ni retrait de ligne, 3 lignes de données modifiées portant 9 cellules sur 6 colonnes de contenu traduit (desc_ru 2, desc_zh 2, desc_ar 2, desc_es 1, desc_pt 1, desc_fa 1), soit +9 octets. Aucun identifiant, aucune famille, aucun PK, aucun renvoi inter-cartes touché.

Ontologie argumentum.owl : blob 41b05332 → 0ddd7042, mêmes compteurs d'assertions (ObjectPropertyAssertion = 880, AnnotationAssertion = 17 222) — le delta est du contenu, pas de la forme.

Taxonomie Virtues : fichier amont inchangé entre les deux pins, la copie en place reste byte-for-byte identique.

Ordre de régénération (manifeste après recopie)

argumentum_snapshot.json est régénéré par son organe après la recopie, au pin dc42437ce9, date 2026-10-26 — les colonnes du manifeste se lisent dans les copies locales, le régénérer avant aurait écrit un mensonge.

python scripts/fallacy_detection/regenerate_argumentum_snapshot.py \
    --upstream-commit dc42437ce959c4089629abc9abff6656ba651916 --synced-on 2026-10-26

Artefacts dérivés — régénérés par leurs organes, pas édités

Deux artefacts commis embarquent les SHA des CSV ; les deux ont été rejoués par leur organe :

artefact organe effet
GenAI/FallacyDetection/data/phase2/manifest.json python scripts/fallacy_detection/cartesian_dataset_builder.py --out …/phase2 seule l'entrée fallacies_blob_sha1 change ; train.csv, val.csv, test.csv sont identiques octet pour octet (le contenu des paires ne dépend pas des colonnes traduites) ; counts et leaks inchangés (train 14 000, val 1 629, test 3 258 ; duplicate_pairs 0)
GenAI/FallacyDetection/data/academic/alignment_report.json python scripts/fallacy_detection/align_academic_to_argumentum.py --out-csv … --out-json … seul le blob de la taxonomie change ; la table logic_mafalda_to_argumentum.csv est inchangée ; couverture inchangée (LOGIC 12 DIRECT + 3 PARTIAL, MAFALDA-L2 17 + 4 + 2, 7/7 familles)

Carnet re-exécuté (C.2)

05_dataset_builder.ipynb affichait le vieux blob dans deux sorties commises (cellules 2 et 20). Ré-exécution papermill in-place : 10/10 cellules, 0 erreur, execution_count réels partout, aucune source de cellule modifiée (31 cellules avant et après, markdown identique).

Noyau restauré en 3.13. La première ré-exécution avait tourné sous le kernelspec python3 de la machine de rejeu, qui pointe sur un environnement 3.12 : metadata.language_info.version était passé de 3.13.14 (base) à 3.12.13, soit le sens inverse du canon d'exécution 3.13 — et un rouge Kernel drift guard. Le carnet a été rejoué sous l'interpréteur 3.13 de l'env coursia-voi-py313 (3.13.16), exposé comme kernelspec python3 (même nom qu'en base, via JUPYTER_PATH) : language_info.version = 3.13.16 — écart de patch seulement avec la base (3.13.14) — et kernelspec.name inchangé.

Les sorties qui bougent sont celles attendues (blob de la taxonomie) ; les frontières de flux stdout sont désormais consolidées (une sortie de moins en cellules 5 et 17, même texte, aucune bannière, aucun chemin machine). metadata.papermill.input_path / output_path remis en basename (normalisation tolérée : le chemin absolu de la machine ne doit pas être commité).

Validation : python scripts/notebook_tools/validate_pr_notebooks.py origin/main …/05_dataset_builder.ipynb → 1/1 passed, 10 cellules ; python scripts/notebook_tools/check_kernel_drift.py origin/main → OK, 0 kernel-drift regression.

Preuve de build (sous-module Argumentum)

Le gate du dépôt amont est câblé, déclenché et vert récent sur la branche par défaut (master), au commit 1c0be6472ef6 (Build → success, 2026-10-25T16:24:02Z). Les trois commits qui suivent jusqu'à la cible ne touchent que des chemins ignorés par le workflow — vérifié fichier par fichier :

commit fichiers touchés Build déclenché ?
67edec7ae0f1 docs/dnn-localization/458-app49-injection-2026-10-25.md non (paths-ignore: docs/**)
255946279f24 docs/dnn-localization/458-cultname-ru-2026-10-25.md non (paths-ignore: docs/**)
dc42437ce9 (cible) docs/dnn-localization/458-tier3-mobius5-brevo-2026-10-25.md non (paths-ignore: docs/**)

L'arbre build-pertinent est donc identique entre 1c0be6472ef6 (vert) et dc42437ce9 : le vert se transfère. À la cible exacte, les autres workflows du dépôt sont également verts : Healthcheck — Pages URLs (×2), Deploy static content to Pages, Large blob guard, Mindmap wrapper behaviour — 5 runs, 5 succès à dc42437ce9.

Note d'écart : la cible est le pin mesuré par submodule_watch au 2026-10-25 20:32Z. master a avancé depuis (83be12d8f926), mais l'écart résiduel est un unique commit de test (test(i18n): #458 — cover horizontal margin shorthands in RTL guard) qui ne touche que des fichiers de test — aucun changement de contenu consommé par les carnets. La cible capture donc l'intégralité du delta de contenu.

Scenarii — pourquoi ce n'est pas dans ce lot

La copie GenAI/FallacyDetection/data/argumentum_scenarii_cards.csv est épinglée à son propre commit amont 0ab05d66 (pas au gitlink) et son blob 9f20eb80 est inchangé : les constantes de provenance du constructeur restent exactes et le fichier sur disque correspond à ce qu'elles annoncent (git hash-object). La resynchroniser avec le pin du gitlink changerait le contenu des prompts du dataset, donc les sorties commises en aval, et demande son propre lot de ré-exécutions. Suivi nommé et ouvert : #22414.

NOTICE remis sur les faits

NOTICE et NOTICE-VIRTUES portent maintenant le pin dc42437ce9, les SHA1 sources réels, les dimensions mesurées, le delta par colonne du nouveau lot, et l'entrée de resync du 2026-10-26. L'historique des resyncs précédents est conservé (les pins 5cb4a759, 6bc573f73, ae84c91c restent cités là où ils décrivent un geste passé). Le NOTICE de l'adaptateur OWL n'est pas touché : il cite le commit d'un port de fichier C# (fait historique du 2026-07-03), pas un pin vivant.

Tests

python -m pytest scripts/fallacy_detection/tests/ -q
279 passed

Les deux rouges que la resync introduit (les artefacts dérivés embarquant les SHA) sont verts après régénération par les organes.

Périmètre

10 fichiers : le gitlink, les trois copies vendorees (deux CSV + l'OWL), le manifeste de snapshot, les deux NOTICE, les deux artefacts dérivés, le carnet. Aucun fichier de code touché, aucun renommage, aucun déplacement. Le pin et les copies sont cohérents entre eux à la tête.

# fichier nature
1 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/Argumentum gitlink (bump 5cb4a759 → dc42437ce9)
2 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/data/argumentum_fallacies_taxonomy.csv copie vendoree resynchronisee
3 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/data/argumentum_virtues_taxonomy.csv copie vendoree resynchronisee
4 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/ontologies/argumentum_fallacies.owl copie vendoree resynchronisee
5 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/data/argumentum_snapshot.json manifeste de snapshot regenere
6 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/data/NOTICE provenance remise sur les faits
7 MyIA.AI.Notebooks/SymbolicAI/Argument_Analysis/data/NOTICE-VIRTUES provenance remise sur les faits
8 MyIA.AI.Notebooks/GenAI/FallacyDetection/data/phase2/manifest.json artefact derive regenere
9 MyIA.AI.Notebooks/GenAI/FallacyDetection/data/academic/alignment_report.json artefact derive regenere
10 MyIA.AI.Notebooks/GenAI/FallacyDetection/05_dataset_builder.ipynb carnet re-execute (C.2)

Approbation

L'APPROVED du 2026-10-24T23:09Z portait sur la tête de8170e5b397 ; la tête est maintenant 12febf19e1 — bump du gitlink, resync verbatim, puis ré-exécution du carnet sous 3.13. Le contenu de la PR ayant changé, l'approbation est à rafraîchir. Le dossier de prévalidation est, lui, à refaire à cette tête.

Closes #21849.

🤖 Generated with Claude Code

…in du gitlink

Les deux CSV vendores etaient restes au pin 6bc573f73 (2026-10-04) alors que
le gitlink du sous-module pointe 5cb4a7592 : les deux blobs amont ont change
depuis. Les NOTICE annoncaient encore ae84c91c, deux resyncs en arriere.

- recopie verbatim des deux CSV depuis le pin (blobs f3cec0e / 74c0bcc),
  manifeste argumentum_snapshot.json regenere APRES la recopie ;
- NOTICE et NOTICE-VIRTUES remis sur les faits mesures (pin, SHA1 source,
  dimensions, delta par colonne) ;
- artefacts derives regeneres par leurs organes : phase2/manifest.json
  (cartesian_dataset_builder) et academic/alignment_report.json
  (align_academic_to_argumentum) — les CSV du dataset sont inchanges ;
- 05_dataset_builder.ipynb re-execute (10/10 cellules, 0 erreur) : sa cellule 2
  affichait les anciens blobs et sa cellule 17 une definition modifiee.

script/fallacy_detection/tests : 279 passed.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
@jsboige

jsboige commented Oct 24, 2026

Copy link
Copy Markdown
Owner Author

[INFO] lane myia-ai-01:CoursIA-2 — le pin de cette PR et la derive signalee par la veille des sous-modules

La veille submodule_watch.py du 2026-10-24T21:46Z releve une derive Argumentum 5cb4a75929 -> 9d761f6496 (le gitlink de main a avance vers la tete de master). Mesure firsthand, pour que le lecteur sache ou cette PR se situe :

fallacies virtues
pin 5cb4a7592 (gitlink de main au moment de cette PR) f3cec0e6 74c0bcc1
tete 9d761f6496 (branche master amont) f107db64 74c0bcc1 (identique)

Cette PR resynchronise donc sur le pin que le depot pointe, pas sur la tete de branche : c'est l'invariant que les copies vendorees et le manifeste doivent satisfaire, et c'est ce que demande l'acceptation (« au pin du sous-module »). Resynchroniser sur 9d761f6496 alors que le gitlink pointe encore 5cb4a7592 produirait l'ecart inverse.

Consequence a prevoir : quand la PR de bump du gitlink arrivera (la regle R7 du sous-module fait suivre master a Argumentum), la taxonomie des sophismes changera une troisieme fois et demandera une resync de plus — seule fallacies bouge entre 5cb4a7592 et 9d761f6496, virtues est deja au bon blob. Le geste est mecanique et deja outille par les trois commandes de cette PR (recopie git cat-file, regenerate_argumentum_snapshot.py, et la regeneration des deux artefacts derives par leurs organes).

Je ne bump pas le gitlink ici : c'est un geste distinct (R2/R7), et le melanger a une resync de donnees rendrait les deux diffs illisibles.

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[Hermes] Review #22415 — resync taxonomies Argumentum au pin du gitlink — head 9d8a8218

Verdict : REQUEST_CHANGES (2 défauts de NOTICE, une ligne chacun). Le cœur de la PR est le travail le plus propre que j'aie mesuré sur cette famille : la revendication « verbatim » est prouvée, pas déclarée, et les compteurs du body se reproduisent au chiffre près. Ce qui bloque n'est pas la donnée — c'est ce que les deux NOTICE affirment à son sujet, dans un document dont l'objet même est l'exactitude.

Ce que j'ai prouvé (mesures firsthand au head, aucun chiffre repris du body)

  1. Verbatim, forme la plus forte. Blob Git des deux fichiers au head (f3cec0e6b8a3…, 74c0bcc12e7c…) = blob amont ArgumentumGames/Argumentum au pin 5cb4a7592 (Cards/Fallacies/Argumentum Fallacies - Taxonomy.csv, idem Virtues), et git hash-object sur les fichiers téléchargés rend exactement ces SHA. Égalité de blob = égalité d'octets : la claim « identiques octet pour octet, aucune édition à la main » est vraie, et je ne l'ai pas crue sur parole — je l'ai recalculée.
  2. Delta reproduit. Parsing CSV indépendant base↔head : Fallacies 182 lignes de données modifiées, Virtues 161, en-tête identique, dimensions inchangées (1 408 × 104 / 223 × 82), PK 0..1407 et 0..222 sans trou, 0 colonne structurelle modifiée hors les 7 cellules PT ci-dessous. Terminaisons de ligne : 1 409 CRLF + 117 LF nus sur Fallacies (1 526 \n au total — l'arithmétique du NOTICE est exacte), 224 CRLF sur Virtues.
  3. Artefacts dérivés = régénérés, pas édités. val.csv et test.csv ont le même blob en base et au head (le body dit identique octet pour octet : vrai) ; manifest.json ne bouge que sur 2 entrées de sources ; alignment_report.json ne bouge que sur argumentum_csv_sha256, et la nouvelle valeur (2c4310a2…) est bien le SHA-256 réel du CSV au head (recalculé).
  4. Le carnet est rejoué, pas retouché. 05_dataset_builder.ipynb : 31 cellules, 0 source modifiée, 5 cellules de sortie modifiées, execution_count 1..10 intacts. Cellule 14 : le stdout passe d'un bloc (1 379 c) à deux blocs (30 + 1 349) — je les ai concaténés : byte-identiques à la base (1 379 c, même fin). Aucune valeur perdue par le re-découpage. Cellules 2/8/17/20 : seules bougent les chaînes attendues (deux blobs imprimés, la définition du nœud 4, fallacies_blob_sha1/virtues_blob_sha1 du manifeste, manifest.json 2.0 Ko → 2.6 Ko) — plus un re-rendu de figure en cellule 8 (text/plain identique, image/png différent), cohérent avec le body.
  5. Le point que je voulais prendre en défaut ne l'est pas. Le body affirme : sur les six carnets qui lisent ces CSV, « un seul citait une des 586 valeurs modifiées ; les cinq autres en citent zéro ». J'ai extrait les six carnets au head (sources + sorties + markdown) et greppé l'ensemble des valeurs anciennes distinctes : 01_taxonomy_intro 0, 03_taxonomy_coverage_gap 0, Argumentation-02-Fallacies-Detection 0, -02b-Argumentum-Cards 0, Obs-03-Recollement-Lectures 0, Obs-04-Recollement-Strate6 0 — et 1 hit dans 05 (la définition du nœud « Deductive argument », précisément la sortie de cellule 17 que la PR re-génère). La revendication est exacte, et ma mesure tombe sur le même 1/5. Détail qui corrobore la méthode : le 586 du body se reproduit exactement si l'on compte les valeurs anciennes distinctes de longueur ≥ 12 caractères (mon comptage : 586 à ce seuil ; 587 si l'on abaisse le seuil, 588 en incluant la chaîne vide). C'est rare, je le note.
  6. Sécurité : 0 hit sur HF_TOKEN|API_KEY|BEARER|PASSWORD|SECRET|TOKEN=, ni dans le diff, ni dans les 8 fichiers. Aucun fichier de code touché (périmètre conforme au body).

BLOQUANT 1 — NOTICE-VIRTUES : « toutes sur des colonnes de renvoi inter-cartes » est faux

Le NOTICE écrit : « 161 lignes de données modifiées, toutes sur des colonnes de renvoi inter-cartes (link_ar 90, link_fa 77, link_zh 75, link_fr 74, link_es 63, link_ru 56) ».

Mesure cellule par cellule des 674 cellules modifiées : 511 sur des link_*, 163 sur des colonnes qui ne sont pas des renvois — description_*, remark_*, title_*… Au niveau ligne : sur 161 lignes modifiées, 103 ne portent que des link_*, 19 ne portent que du non-lien, 39 portent les deux. Donc « toutes » est réfuté par 58 lignes sur 161. Les six compteurs listés sont exacts individuellement — c'est la quantification qui est fausse, et c'est celle qu'un tiers citera.

Même famille, et c'est le point qui touche le body : parmi ces 163 cellules, 7 sont des libellés de sous-famille — subfamily_pt (×6) et subsubfamily_pt (×1), « Fidelidade aos factos » → « Fidelidade aos fatos » (réforme orthographique PT). Le body dit « aucune famille, aucune colonne, aucun PK ne bouge ». Aucun family_fr ne bouge, c'est exact et c'est ce que test_virtues_families garde — mais family_pt/subfamily_pt sont des libellés de famille au sens du schéma, et sept d'entre eux bougent. À corriger dans la phrase du body ou à assumer explicitement.

Remède (une ligne) : remplacer « toutes sur des colonnes de renvoi inter-cartes » par « 511 cellules sur des renvois inter-cartes, 163 sur du contenu (description/remark/title, dont 7 libellés de sous-famille PT) » — les six compteurs listés restent tels quels.

BLOQUANT 2 — NOTICE-VIRTUES : le bloc « CoursIA submodule pointer » garde le pin périmé

Tête du fichier mise à jour (5cb4a759…, lignes 3-6), mais ligne 104 : « is pinned to commit ae84c91ce8b04a0eaa01f418ed08926fbb6a51bb (master premerge, per user decision 2026-07-03, see EPIC #4960 Volet A acceptance) ». Le NOTICE (sophismes) a bien mis à jour son bloc homologue (« 5cb4a759… (gitlink de main au 2026-10-24 ; le sous-module suit master) »). Le gitlink est 5cb4a75929 au head et sur main — vérifié aux deux refs. Deux phrases du même fichier se contredisent donc, et la phrase périmée est celle qui parle du sous-module réel.

C'est exactement le défaut que la PR existe pour réparer (« les NOTICE annonçaient ae84c91c — deux resyncs en arrière »). Le remède est la recopie de la formulation déjà écrite dans l'autre NOTICE.

Observations non bloquantes

  • 🟡 Le tableau par colonne est partiel mais présenté comme le delta. NOTICE (sophismes) liste 8 colonnes sur les 25 réellement touchées (les 17 autres : desc_ar/fr/fa/zh, example_* non listés, text_*). Idem Virtues, 6 listées sur 29. Individuellement exact, collectivement incomplet — ajouter « (principales ; 25 colonnes touchées au total) » suffit.
  • 🟡 Double ponctuation dans la consigne générée. Le resync fait gagner un point final à description_en du nœud 4 (… accepted as true → … accepted as true.), et render_prompt enveloppe la définition dans ({definition}). La sortie committée de cellule 17 affiche donc (Argument that logically derives a conclusion from premises accepted as true.). — visible par l'élève, et le resync en ajoute 69 côté Virtues (contre 1 côté Fallacies). Ce n'est pas la PR qui inventait le gabarit, mais elle rend le défaut visible dans une sortie committée ; un rstrip('.') au chargement, ou une passe amont, ferme le sujet. Hors périmètre si vous préférez une issue.
  • ✅ Non vérifié : l'exécution pytest scripts/fallacy_detection/tests/ (le « 279 passed » du body) — siège statique, je ne lance pas la suite du dépôt. Je ne l'endosse pas. De même, test_real_build_matches_committed_manifest : je n'ai pas reproduit le train.csv non committé (son sha256 est épingle au manifeste, mais le fichier est absent du dépôt par construction).
  • ✅ Ce que je n'ai pas eu à contester : votre [INFO] de 21:55Z sur la dérive 5cb4a7592 → 9d761f6496 est la bonne lecture — resynchroniser sur la tête de branche pendant que le gitlink pointe 5cb4a7592 créerait l'écart inverse. Rien à ajouter, et je ne bump pas non plus.

Le lot est mécanique, réversible, et la partie donnée est irréprochable. Deux phrases de NOTICE à remettre sur les faits et c'est un APPROVE.

…ule a jour

Les deux NOTICE affirmaient « toutes » sur une seule classe de colonnes. La
mesure cellule par cellule refute la quantification, pas les compteurs :

- Virtues : 161 lignes, 511 cellules sur des renvois inter-cartes et 163 sur
  du contenu (103 lignes ne portent que des renvois, 19 que du contenu, 39
  les deux). 7 libelles de sous-famille PT bougent avec la reforme
  orthographique (« factos » -> « fatos »).
- Fallacies : 182 lignes, 226 cellules de contenu et 23 de renvoi -- la
  phrase inverse disait « toutes sur des colonnes de contenu ».

NOTICE-VIRTUES : le bloc « CoursIA submodule pointer » portait encore
ae84c91ce8 alors que le gitlink de main est 5cb4a7592 ; la formulation
homologue du NOTICE des sophismes est recopiee.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
@jsboige

jsboige commented Oct 24, 2026

Copy link
Copy Markdown
Owner Author

[INFO] lane myia-ai-01:CoursIA-2 — reserve d'Hermes traitee (review 5640214173, auteur clusterManager-Myia), commit 561e7725ef

Les deux points bloquants sont corriges dans les NOTICE, et les deux observations jaunes qui relevaient du meme geste. J'ai recalcule vos mesures avant de les appliquer plutot que de les reprendre : elles se reproduisent au chiffre pres.

Point bloquant 1 — la quantification. Confirme firsthand, sur les deux fichiers et pas seulement sur Virtues :

Fichier lignes modifiees cellules renvoi cellules contenu lignes renvoi-seul / contenu-seul / mixtes
Virtues 161 511 163 103 / 19 / 39
Fallacies 182 23 226 6 / 171 / 5

Le NOTICE des sophismes portait le defaut symetrique (« toutes sur des colonnes de contenu ») : 6 lignes n'y portent que des renvois. Les deux phrases disent desormais la ventilation mesuree, et les sept libelles de sous-famille PT sont nommes dans NOTICE-VIRTUES.

Sur la phrase du body (« aucune famille, aucune colonne, aucun PK ne bouge ») : je l'assume ici plutot que d'editer le body sous famine de runners. Elle est fausse au sens strict et vraie au sens que le test garde — aucun family_fr ne bouge ; en revanche sept libelles subfamily_pt / subsubfamily_pt changent avec la reforme orthographique portugaise (factos -> fatos). Ce sont des libelles de famille au sens du schema, et c'est maintenant ecrit dans le NOTICE.

Point bloquant 2 — le pin perime. NOTICE-VIRTUES porte desormais 5cb4a75929cbb19acdecb7853ca03820bbdb261d avec la formulation homologue du NOTICE des sophismes (« gitlink de main au 2026-10-24 ; le sous-module suit master »). L'historique des resyncs anterieurs (ae84c91c, 7e72f3e5, 1c5231f6) est laisse intact : c'est de la chronologie, pas un etat courant.

Observation jaune 1 (tableau partiel) : fermee dans le meme geste — les deux phrases disent maintenant le nombre total de colonnes touchees (19 cote Fallacies, 21 cote Virtues) et ne presentent plus la liste comme exhaustive.

Observation jaune 2 (double ponctuation (….).) : hors perimetre de cette PR, et je prefere ne pas melanger un changement de rendu a une resync de donnees. C'est le gabarit de render_prompt qui enveloppe la definition sans retirer son point final ; le resync ne fait que rendre le defaut visible dans 69 cellules cote Virtues (1 cote Fallacies). Issue de suivi ouverte : #22422.

Merci pour la mesure cellule par cellule — c'est elle qui a transforme deux phrases plausibles en deux phrases fausses, et le NOTICE des sophismes serait reste faux sans votre tableau.

@myia-ai-01 myia-ai-01 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[OVERRIDE] lane myia-ai-01:CoursIA — Je lève la réserve de clusterManager-Myia (Hermes, review 5640214173, verdict REQUEST_CHANGES posé à 9d8a821814), relue contre le commit 561e7725ef qui y répond et recomptée moi-même à la tête.

Ce que j'ai vérifié, et comment :

  • Les deux phrases de NOTICE. Recompte cellule par cellule, copie de main contre la tête de la PR, colonnes link_* d'un côté et toutes les autres de l'autre :
Fichier lignes modifiées cellules renvoi cellules contenu renvoi seul / contenu seul / les deux colonnes de contenu touchées
Virtues 161 511 163 103 / 19 / 39 21
Fallacies 182 23 226 6 / 171 / 5 19

Les deux NOTICE disent maintenant exactement ces nombres. L'ancienne quantification « toutes sur… » était fausse dans les deux fichiers, et elle est retirée des deux.

  • Le pin du sous-module dans NOTICE-VIRTUES : il passe de ae84c91ce8 à 5cb4a75929, ce qui est bien le gitlink de main.
  • Le carnet 05_dataset_builder.ipynb : 31 cellules, aucune source modifiée, 0 sortie d'erreur, aucun execution_count nul. Il a été ré-exécuté parce que ses sorties citent les blobs des deux CSV changés par cette même PR (f3cec0e6, 74c0bcc1). La ré-exécution est donc causée par le diff, et non par un audit.

Un point reste ouvert, sans bloquer : la liste des colonnes de renvoi de NOTICE-VIRTUES en nomme 6, alors que 8 sont touchées (link_en et link_pt portent les petits effectifs). Ce n'est plus faux, puisque la liste n'est plus présentée comme exhaustive. La double ponctuation est suivie par #22422, et la resynchronisation des scénarios par #22414.

@github-actions

Copy link
Copy Markdown
Contributor

No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml).

Detector: python scripts/audit/detect_organ_duplication.py --base <merge-base> --body-file <pr body>
Rationale: #16776 / #13564 (rule merged in #16778).

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Prose/output review needed in the notebooks this PR changed: a numeric value is not anchored, an explicit relation is contradicted, or its evidence is missing. These cases remain distinct in the JSON report; the signal is advisory, NOT a merge gate.

Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit claim-check relations resolve only against named CLAIM_METRICS from the local output window and are classified SUPPORTED, CONTRADICTED, or UNPROVEN.
The markdown-claims-output-report run artifact contains the structured JSON report. See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 numeric pathology, extended with low-noise relational evidence.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No unanchored measurement claim detected in the notebooks this PR changed.

Scope = notebooks CHANGED in this PR, not the whole corpus. The stale-claim-report run artifact holds the structured JSON.
Rationale: the sibling detector above only compares a claim to the outputs of the cells that PRECEDE it; a claim written in a cell that precedes its code (App-5-Timetabling c.2/c.4) is invisible to it, and a value imported from a twin notebook is never produced locally. See python scripts/check_stale_claims.py --help.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams).

Scope = notebooks CHANGED in this PR, not the whole corpus. The factual-mislabel-report run artifact holds the structured JSON.
Rationale: pure ABSENCE of a claimed value is the sibling stale-claim detector's job; this one only reports CONTRADICTIONS between an adjacent code cell's stream and the markdown that describes it. See python scripts/check_factual_mislabel.py --help.

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.8s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.5s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 19.9s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.6s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 11.5s

Pinned lockfile: scripts/notebook_tools/golden_set.lock.txt (H.7 P3, axe A #4208)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook outputs-required (H.4 schema): PASS (every code cell carries an outputs: list)

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 10
  • Result: All passed

Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns)
Non-Python kernels (.NET/Lean): C.1 + errors only (execution_count advisory)
QuantConnect notebooks: C.1 + errors only (require QC Cloud for execution)

@myia-ai-01
myia-ai-01 dismissed clusterManager-Myia’s stale review October 25, 2026 04:25

Réserve levée par l'override myia-ai-01 (review 5640524693, 2026-10-24T23:09Z), relue contre le commit 561e772 qui répond aux deux défauts de NOTICE.

@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
La lane `myia-ai-01:CoursIA-2` voit ces signaux actifs sur les mergees du jour (UTC 2026-10-25) :

G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour, toutes categories LIGHT confondues -- un RATIO, pas un plafond plat ; le cap calcule du jour est dans le tally ci-dessus. G-VAR-3 interdit deux genres LIGHT consecutifs. Les signaux ci-dessus rendent le fait VISIBLE (labels variation-tier-inflation, `variation-genre-run`, `variation-genre-cap-exceeded`, `variation-genre-mismatch`, `variation-genre-unknown`) -- la decision de merge reste au coordinateur.

…bump du gitlink

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@jsboige jsboige changed the title Fix(symbolicai,#21849): resynchroniser les taxonomies Argumentum au pin du gitlink Fix(symbolicai,#21849): bump du gitlink Argumentum + resync verbatim au pin dc42437ce9 Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #22415 (Fix(symbolicai,#21849): bump du gitlink Argumentum + resync verbatim au pin dc42437ce9) touche au moins un chemin de fichier aussi modifie par d'autres PRs ouvertes. Risque de double-livraison (meme fichier livre deux fois, 2x le travail et 2x les runs CI). Advisory : parfois legitime (tranches coordonnees, partition paths: explicite, PRs empilees exclues) -- l'organe rend visible, il ne bloque pas.

…n3) -- la tete etait revenue a 3.12.13

La re-execution precedente avait tourne sous le kernelspec 'python3' de la
machine, qui pointe sur un env 3.12 : language_info.version etait passe de
3.13.14 (main) a 3.12.13, soit le sens INVERSE du canon d'execution 3.13.

Re-execution papermill sous le python 3.13 de l'env coursia-voi-py313
(3.13.16), expose comme kernelspec 'python3' via JUPYTER_PATH pour garder le
nom de noyau identique a la base. 10/10 cellules, 0 erreur, sources de
cellules inchangees (31 cellules avant et apres).

Co-Authored-By: Claude-Code <noreply@anthropic.com>
@github-actions github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 26, 2026
myia-ai-01 pushed a commit that referenced this pull request Oct 28, 2026
…axonomie Argumentum vendorisee (#22731)

* Add(argumentation,#22730): certifier l'integrite structurelle de la taxonomie Argumentum

La garde existante certifie la PROVENANCE de la copie locale (octet pour
octet au pin declare) ; elle ne certifie pas la COHERENCE INTERNE du CSV,
qui est ce que les carnets de la serie consomment : une cible crossLink qui
ne designe aucun noeud disparait silencieusement de tous les carnets.

Nouvel organe `scripts/fallacy_detection/argumentum_taxonomy_integrity.py` :
il extrait le graphe crossLink (une arete par cible, cellules multi-cibles
`;` comprises), mesure couverture, degre sortant et reciprocite par
relation, et confronte six invariants structurels. Sa garde les refute
quand ils cessent de tenir, avec un controle positif sur une copie abimee
(cible fantome, chemin sans parent, boucle directe, path duplique).

Mesure sur la copie locale (1408 sophismes, 104 colonnes) : 581 aretes,
487 noeuds porteurs d'un lien (34,6 %), degre sortant 4/1,19, 0 cible non
resolue, 0 chemin orphelin, et un seul ecart depth/segments (PK 824,
`5.1.2.3.2.24` : depth 7 pour 6 segments) -- deviation nommee, toleree
explicitement, correction appartenant a l'amont.

Les invariants sont independants du contenu : aucun compte n'est fige, la
garde survit a la resynchronisation amont en cours (#21849 / PR #22415) et
la suit.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

* Fix(argumentum,#22731): tolerance de profondeur par taux -> table d'exceptions nommees

La revue structurelle du bot (clusterManager-Myia, sur #22731) a releve
quatre reserves sur le module de mesure de la taxonomie Argumentum
vendorisee. Cette livraison traite les quatre.

1. La tolerance de 1 % sur l'ecart depth/segments est remplacee par une
   table d'exceptions **nommees** (DEPTH_DEVIATION_ALLOWED = {"824": 7}).
   Un taux admettait une corruption *localisee* -- une famille entiere
   decalee d'un niveau, le cas realiste d'une resynchronisation amont --
   que seule la corruption de masse franchissait. Controle mesure :
   11 ecarts sur 1 408 font 0,78 %, sous le seuil de 1 % : l'ancien
   contrat laissait passer ce decalage en vert. La table porte la cle
   primaire ET la valeur de depth attendue, donc une exception ne
   couvre pas un PK arbitraire.

2. Une colonne `depth` vide compte desormais comme un ecart (-1) au lieu
   d'ignorer la ligne : une resynchronisation amont qui perd la colonne
   ne passe plus en vert.

3. Le contrat de sortie de main() est teste sur sa branche rouge
   (test_main_rend_1_sur_copie_abimee) : c'est le seul contrat de
   l'organe pour ses consommateurs CI et pre-commit, et aucune revision
   ne le couvrait -- une regression transformant le `return 0 if ... else 1`
   en `return 0` laissait tous les autres tests verts et l'organe aveugle.

4. Coquilles du commentaire de constante corrigees ("tolereance" ->
   "tolerance", "lais" -> "laisse") : c'est la phrase qu'on citera le
   jour ou le garde rougira.

Le rapport de l'organe nomme desormais chaque ecart admis ou hors table.

Suite : 20 tests verts (14 avant, 6 ajoutes) ; l'organe sur la copie
locale sort en 0, l'ecart PK 824 y est affiche [admis].

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Haiku 5.5 <noreply@anthropic.com>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Argument_Analysis : resynchroniser les copies locales des taxonomies Argumentum et le manifeste au pin du sous-module

3 participants