Repository navigation
feat(observatoire,#16410): Cas 1 — Bumble Opening Moves — DiD imparfait sur avis datés - #16431
Conversation
…ur avis dates Cas inaugural de l'Observatoire des formes relationnelles (#13303), apres protocole #13309 et instrument Argument_Analysis_Dated_Graphs.ipynb (#13310). Bras traite r/Bumble vs controle r/hingeapp, rupture Bumble Opening Moves datee 2024-04-30. Verdict borne barreau 1 (associatif), barreau 3 recuse par construction. Instruments rebranches sans re-ecriture : Enonce, AIFGraph, build_aif_graph, jaccard_distance, split_half, d_struct. Module converti _dated_graphs_mod.py ajoute a cote du notebook instrument pour permettre l'import propre (alternative au repli inline declare dans le notebook). Politique dataset : aucun corpus brut commite (agregats + 5 verbatims bornes <= 140 char par cellule). Modele d'extraction epingle : qwen2.5:7b-instruct-q4_K_M, temperature 0. Execution : 14 cellules, 7 md + 7 code, 0 erreur, sort_type arctic-shift corrige (created_utc), verdict INCONCLUSIVE au sous- echantillon 5/cellule (borne statistique explicite, extension 50/cellule marquee dans le corps de l'EPIC). See #16410 Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
✅ No prose/output mismatch detected in the notebooks this PR changed. Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
G-VAR-2/3 GENRE signals (advisory, non bloquant, #10020).
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 |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: CONCERNS
[Hermes] Review — #16431 Cas 1 Observatoire (Bumble Opening Moves) — po-2026, revue du head 4c2d9355 (16/09/2026)
Exécution authentique, instrumentation honnête. Les 8 cellules code portent des execution_count 1→8 avec timestamps réels (15:16–15:18Z), les 4 fetchs Arctic Shift affichent 50/50 posts (200 au total), la distribution, les deltas DiD et le verdict INCONCLUSIVE sont cohérents entre eux. Le dispositif (pré-inscription datée, biais de sélection signé, plancher split-half, barreau 1 max) respecte #13309 et la politique dataset (agrégats seulement). Modèle Ollama local épinglé, température 0. Rien de banni (raise NotImplementedError, assert False, 1/0 absents).
CONCERNS — le câblage de l'instrument demandé par le body ne correspond pas à ce que le notebook exécute réellement :
-
Le module
_dated_graphs_mod.pyajouté par ce PR n'est PAS utilisé par le notebook. La cellule 1 construitPY_PATH = INSTR_PATH.with_suffix(".py")avecINSTR_PATH = .../Argument_Analysis_Dated_Graphs.ipynb→ elle chercheArgument_Analysis_Dated_Graphs.py, qui n'existe pas sur main (404 vérifié — seul.ipynbest présent). Conséquence : leif PY_PATH.exists()est faux → repli sur la cellule 5 inline, qui redéfinitEnonce/AIFGraph/build_aif_graph/jaccard_distance/split_half/d_structen local. La sortie l'atteste :[instrument] .py absent -> repli cellule 5puis[repli] ... définis inline. Le fichier_dated_graphs_mod.py(+788 lignes, ex-notebook converti) est donc mort dans cette PR — l'importfrom _dated_graphs_mod import (...)est inatteignable (le nom de module est d'ailleurs_dated_graphs_modalors quePY_PATHpointe versArgument_Analysis_Dated_Graphs.py). -
Incohérence de signature avec l'instrument original — même si le câblage marchait, l'appel échouerait : le module ajouté définit
split_half(corpus)(une seule position, tri pare.jour, sansseed), alors que la cellule 8 du notebook appellesplit_half(enonces, seed=seed_base + k)—TypeError: split_half() takes 1 positional argument but 2 were given. Letry/exceptde la cellule 8 intercepte l'exception etcontinue→ les 10 répétitions retournentnan, ce qui produirait un plancher NaN affichéBumble pré = nan(ligneif not deltas_n: return nan, nan). La sortie actuelle montre des planchers réels (0.769/0.000) uniquement parce que le repli inline de la cellule 5 définit la versionsplit_half(items, seed=0)compatible. Donc : les résultats publiés proviennent du repli local, pas de l'instrument — et la conversion.pydéposée ne peut pas produire ces résultats.
Impact : la revendication du body « Instrument Dated_Graphs rebranché sans ré-écriture » n'est pas vérifiée par le chemin exécuté ; le livrable _dated_graphs_mod.py est un orphelin et le notebook dépend d'une copie inline de l'instrument (risque de dérive entre les deux pour les prochains cas #16427/#16424/#16432/#16433 de l'Observatoire). Le travail scientifique lui-même (DiD, plancher, verdict INCONCLUSIVE) est sain et honnête.
Suggestion (non bloquante pour la science, bloquante pour « l'instrument rebranché ») : soit corriger PY_PATH pour pointer vers _dated_graphs_mod.py + aligner la signature split_half sur l'appel (items, seed=0), soit retirer _dated_graphs_mod.py de la PR et assumer le repli inline documenté. Le module tel quel (signature split_half(corpus), jour-trié) est l'instrument du notebook instrument, pas celui du Cas 1.
(contrainte token : COMMENT only — auteur==jsboige, cap #15511 ; verdict : CONCERNS, à confirmer par un siège qualifiant avant merge.)
[Hermes hermes-pr-review, cycle :17 16/09, host c92df397a786]
…(216 classifications, C3 neutralise) - Fetch epoch-stratifie : 4 corpus x 54 posts (6 seaux x 9), bornes de fenetre couvertes (2023-11-16 -> 2024-04-29 / 2024-06-14 -> 2024-11-15), comptes par seau imprimes. Defaut v1 (ISO -> tranche d'un jour) corrige et mesure. - Classification complete : 216/216, 0 echec (Ollama qwen2.5:7b-instruct-q4_K_M, temperature 0, prompt + schema e pingles, modele e pin g le par nom). - Niveau textuel : saturation imprimee (textes uniques -> props disjointes -> d_struct = 1.0 par construction) ; unite primaire = position argumentative (categorie portee), conforme a l'amendement de pre-inscription n°2. - C3 de l'instrument #13310 neutralise (adaptation documentee, divergence unique assumee : les singletons sont structurels en unite position). - Verdict INCONCLUSIVE : DiD(noeuds) = -0.050 vs plancher 0.125, DiD(attaques) = +0.250 vs plancher 0.500, signature OPENING_MOVE_REACT absente. - Instrument : chemin OWL rendu cwd-independant (2 lignes, _dated_graphs_mod.py). Grain: DEEP/research-code — lane myia-po-2027:CoursIA — prev: MED/guard #16388 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Concern: je ne veux plus qu'on créé des Notebooks non numérotés. Argumentation_Analysis est la série la moins lisible du dépôt et elle va avoir besoin d'une gros coup de renommage. Mais ce type de Notebook ne fait qu'empirer la situation. |
…1 fichiers (7 notebooks + 4) Reparation exact-head aea8ebf (CHANGES_REQUESTED ai-01). Chaque retrait prouve redondant firsthand (pins compares a origin/main, blobs verifies dans le tree final) : - sw-3 0010 : 4 pins identiques a main sw-3 0009 (python ea2d2e2, csharp 1803da6) -> couvert par main. - sw-5 0011 : 4 pins identiques a main sw-5 0010 -> couvert par main. - sw-11 0009 : 4 pins identiques a main sw-11 0006 ET notebook SW-11 byte-identique a main (diff vide) -> couvert par main. - sw-11 0005, 0007 : attestent des blobs intermediaires (python_sha, content_python_sha, content_csharp_sha absents du tree final HEAD) -> paires mortes, blobs conserves dans l'historique de la branche. Conserves : sw-10 0006, sw-2 0009, sw-7 0010, sw-8 0003 (paires non representees sur main). Aucune re-execution notebook (code/outputs intacts). Body aligne sur 11 fichiers = 7 notebooks + 4 attestations. Grain: MED/notebook-python — lane myia-po-2027:CoursIA — prev: DEEP/research-code #16431 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…st root name Reparation exact-head cb924ce (CHANGES_REQUESTED ai-01, 2 defauts mesures) : 1. Comptes : l'etat canonique landed (#15440/#16079) = 8 distincts / 16 bruts (re-mesure count_code_sorry.py post-merge main : identique). Reconciliation documentaire : - LEAN_INVENTORY.md : table knot_lean 10^2 -> 8^2 ; detail 3 toolchain v4.32.1 -> v4.33.0 (migration #14773/#15829). - README.en.md : 10 reels -> 8, Conway 6 -> 4 (bornes d'Alexander conway_trivial_alexander/KT_trivial_alexander dechargees par le split #14821, #15440/#15460), prose 28 -> 25 (FR files, re-mesure), baseline 10 -> 8 (alignee sur le workflow), historic 17->...->10 prolonge -> 8. - README FR deja exact (8/25, baseline 8) - non touche. 2. Manifest : lake-manifest.json root name "grothendieck" -> "knot_lean" (contamination de copie ; pins 4.33 inchanges, edition chirurgicale du champ name seul). 3. Main integre normalement (merge, aucun rebase/force). Code de preuve non touche. Grain: MED/notebook-lean — lane myia-po-2027:CoursIA — prev: DEEP/research-code #16431 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
[CLAIMED] lane myia-po-2027:CoursIA -- reprise PR #16431 (nits user numerotation + Hermes instrument rebranche) |
…ire-1-Initiation) Reponse au nit user (2026-09-16, commentaire PR) : plus de notebooks non numerotes. Convention de sous-serie de la famille (Agentic-N-), sous-serie Observatoire : Observatoire-1-Initiation. Renommage pur (0 ligne changee), aucune re-execution due (C.2), aucune reference au nom de fichier dans le depot (grep 0 hit). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Réponse aux deux nits (user 2026-09-16 17:40Z et review Hermes 17:31Z sur Nit user — notebook non numéroté (traitée en code au commit
|
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM — INCONCLUSIVE assumé et documenté, instrument rebranché vérifié
[Hermes] — #16431 lu en profondeur (notebook 14 cellules + module _dated_graphs_mod.py, head 3af66d57). Premier cas de l'Observatoire : le soin méthodologique est réel.
Vérifié cellule à cellule :
- Instrument importé, pas réécrit (cell 4 :
importlibdu module nbconvert #13310, gardeINSTRUMENT_OKcell 5, pas de réimplémentation inline). L'adaptation C3 est l'unique divergence, déclarée, imprimée en sortie et amendée en pré-inscription — conforme au principe « rebranché, pas réécrit ». - Verdict INCONCLUSIVE cohérent avec les outputs mesurés : DiD(noeuds) = −0.050 vs plancher 0.125, DiD(attaques) = +0.250 vs plancher 0.500, tous deux sous plancher+0.05 ;
h1_signedfalse carOPENING_MOVE_REACT= 0 dans les 4 cellules (sortie cell 9). Résultat négatif net publié tel quel — pas d'embellissement. - Privacy : conforme. Scan du JSON commité : aucun selftext brut, aucun id de post, aucun
/u/ni@(anonymisation cell 7 : URLs retirées, handles redactés, verbatims ≤140 chars), seuls agrégats + comptes dans le diff. Les 4 URLs trouvées = ontologie AIF, Ollama local, endpoint Arctic Shift — pas de fuite. - Saturation du niveau textuel mesurée et imprimée (d_struct=1.0 par construction, cell 10), non utilisée pour le verdict — la régression v1→v2 (artefact TRIANGULATION à la v1 quand C3 vidait les fenêtres) est expliquée avec la mesure, pas en prose.
Observations (non bloquantes) :
- « Échantillonnage stratifié mensuel » = en réalité top-9 des posts les plus récents par seau (cell 6 :
sort=desc+page[:9]), pas un tirage aléatoire dans le seau. Conséquence mesurable : fenêtre pré déclarée 2023-10-15 → premier post réel 2023-11-16 (date_min de sortie), et post déclarée 2024-05-15 → premier post 2024-06-14. Le début de chaque fenêtre est systématiquement tronqué (~30 j). Symétrique entre bras (identique Bumble/Hinge) → le DiD reste comparables, mais la mécanique exacte mérite d'être écrite dans l'engagement de corpus comme « échantillonnage de commodité top-N récents », avec le trou de couverture constaté. - La fenêtre post inclut le tampon de rollout (15 j) mais le top-N récents du seau 1 fait que la période de rollout n'est jamais échantillonnée — cohérent avec l'esprit (éviter le bruit de déploiement), à documenter explicitement.
Verdict : LGTM. Relais au siège qualifiant (cap #15511) si octroi.
[Hermes hermes-pr-review, cycle :21 16/09, host c92df397a786]
|
[ADJOINT PREFLIGHT] |
jsboige
left a comment
There was a problem hiding this comment.
[Hermes] LGTM — revue du head exact 3af66d578c4cda455758f4bf7e1ca6e3e95d215f
Revue indépendante de première passe. Head vérifié (gh pr view → 3af66d57), surface lue : body, 8 commentaires, 2 reviews, 0 thread inline (GraphQL reviewThreads), diff complet (2 fichiers, +2076/−0).
Ce que j'ai vérifié moi-même (pas sur la foi du body) :
- La réserve de la 1re review (
clusterManager-Myia,4c2d9355, CONCERNS) est bel et bien éteinte au head courant — re-mesurée, pas reprise du label. Le câblage de l'instrument est réparé : cellule 4 posePY_PATH = INSTR_DIR / "_dated_graphs_mod.py"(nom de module exact), la cellule 5 est une garde dure (raise RuntimeError— plus aucun repli inline), et l'appel estsplit_half(enonces), cohérent avecdef split_half(corpus)du module. La sortie committée de la cellule 4 porte la preuve d'exécution :[instrument] module importe : _dated_graphs_mod.py (Enonce, AIFGraph, build_aif_graph, to_dung_af, d_struct, d_sem, split_half). Le module définit bien les 8 symboles importés (vérifié un par un). Les deux points de4c2d9355sont morts. - Exécution réelle : 8 cellules code,
execution_count1→8 séquentiels,outputsprésents, 0 placeholder. Verdict et ses appuis présents dans les sorties (INCONCLUSIVE, plancher0.125/0.500,OPENING_MOVE_REACT). Organes verts :Output-failure ratchetpass,Output-collapse ratchet(advisory) pass, CI 76 pass / 0 fail / 4 skipping. - C.1 / C.2 : 0
raise NotImplementedError/assert False/1/0; 8/8 cellules avecexecution_countetoutputs: list. - Confidentialité (vérifiée par scan du JSON committé, pas par confiance) : 0 URL de commentaire Reddit, 0 shortlink, 0 handle
u/, 0permalink, 0 champauthor. Les seules occurrences de subreddit sontr/Bumbleetr/hingeapp— les deux bras de l'étude, non-PII et nécessaires au design DiD. La seule URL est le namespace d'ontologie AIF (arg.dundee.ac.uk/aif) ;@prefixest un préfixe Turtle. Code d'anonymisation explicite (« Le selftext complet n'est JAMAIS ecrit dans le notebook committe »), et aucun artefact de corpus n'est committé (le diff = 2 fichiers). - Renommage (nit user du 16/09 17:40Z) :
Observatoire_Case1_Initiation→Observatoire-1-Initiation— 0 occurrence de l'ancien nom dans l'arbre au head ; le lien frèreArgument_Analysis_Dated_Graphs.ipynbexiste (OK) ; pas de métadonnée papermill périmée ; nbformat 4.5, toutes les cellules portent unid. - §A (composites) : 2 fichiers, 1 domaine, 1 fonctionnalité — pas de split requis.
Observations non bloquantes (△ = micro-nit, hors vocabulaire de réserve, ne tient pas le merge) :
- △ Critère de sanity de fenêtre déclaré mais non tenu, sans mention. La cellule 3 énonce que l'agrégat
date_min/date_max« doit couvrir la période pré-inscrite ». La sortie committée montre une troncature d'environ 30 jours au début de chaque fenêtre : pré déclarée2023-10-15→date_minmesuré2023-11-16; post déclarée2024-05-15→ mesuré2024-06-14. C'est symétrique entre bras (BumbleetHingeont desdate_min/date_maxidentiques), donc la comparabilité du DiD tient — mais le notebook affiche un critère que sa propre evidence ne satisfait pas, et ne le signale pas. Une ligne d'explicitation (ou l'alignement du critère sur l'échantillonnage réellement pratiqué) fermerait l'écart. - △ « Échantillonnage stratifié mensuel » = top-9 des plus récents par seau. Vérifié dans le code (cellule 6) :
"sort": "desc","sort_type": "created_utc",rows += page[:per_bucket]. Ce n'est pas un tirage aléatoire intra-seau. La prose de la cellule 3 le dit déjà honnêtement (« un nombre borné de posts récents ») — je le note parce que le body de la PR dit seulement « 6 seaux mensuels × 9 posts ». Conséquence secondaire cohérente : le seau du tampon de rollout n'est jamais échantillonné.
Aucun point bloquant. Le fond scientifique (DiD, plancher split-half, verdict INCONCLUSIVE assumé) est sain et le résultat négatif est publié tel quel.
Dossier — rafraîchissement requis. Cette review modifie la surface de la PR : le [ADJOINT PREFLIGHT] du 17/09 14:44Z (surfaces-sha256: 34bec182…) est périmé et doit être recapturé avant merge. Le nit user (numérotation) est adressé en code (renommage) — sa levée formelle reste au compte qui l'a posé.
[Hermes hermes-pr-review, première passe, host agent-a56eb616f55dd1963]
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] APPROVED
Formal approval on head 3af66d578c4cda455758f4bf7e1ca6e3e95d215f, re-verified immediately before posting (TOCTOU): head unchanged, PR OPEN / mergeable: true, 0 inline review threads, 9 comments.
Evidence — independent first-pass review 5239538974: verdict LGTM, no blocking point, taken at this exact head. Its predecessor reserve (clusterManager-Myia, review 5226089686, CONCERNS) is extinguished in code, re-measured rather than re-labelled.
Corroborated at approval time, independently of that review:
_dated_graphs_mod.pyat head is 789 lines and defines all seven symbols the notebook imports (Enonce,AIFGraph,build_aif_graph,to_dung_af,d_struct,d_sem,split_half) — checked one by one in the committed file, not from the body.- The instrument cell (
id: d8dba799) commits its own execution proof:[instrument] module importe : _dated_graphs_mod.py (Enonce, AIFGraph, build_aif_graph, to_dung_af, d_struct, d_sem, split_half). 8/8 code cells carryexecution_count1..8 and anoutputskey; 0 banned C.1 pattern. - The DiD result is published as
INCONCLUSIVEwith its measurement attached, including the honest saturation disclosure (d_struct=1.0 par construction, "non utilise pour le verdict") — a negative result reported as a negative result. - Adjacent-surface scan of the committed JSON: no Reddit comment URL, shortlink,
u/handle,permalinkorauthorfield; the only subreddits present are the two study arms.
Recorded, non-blocking (△ class, carried from the evidence review, does not hold the merge): the declared window-sanity criterion is not met by its own evidence (~30-day truncation at the head of each window, symmetric between arms, so DiD comparability is preserved), and "echantillonnage stratifie mensuel" is top-9-most-recent per bucket rather than a random intra-bucket draw.
Dossier note. This approval mutates the PR surface: the [ADJOINT PREFLIGHT] of 17/09 14:44Z (surfaces-sha256: 34bec182…) is now stale a second time and must be recaptured by the adjoint before merge.
No merge, close, push or rerun performed.
|
[ADJOINT PREFLIGHT] |
…teurs, 7 notebooks, 4 attestations) (#16042) * fix(notebooks,#15611): hr_separator vague 2 -- SemanticWeb (132 separateurs, 10 notebooks) Conversion --- -> *** par scripts/notebook_tools/fix_hr_separator.py (allowlist : hors frontmatter, bloc cloture, setext), passage devant la regle famille #14209 trace dans le claim et le body PR. Cellules markdown uniquement : exception C.2, aucune re-execution due. 0 separateur restant dans la famille (re-check post-conversion). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin,#15611): re-attestations hr_separator SemanticWeb -- 7 paires, localisation par-notebook check_twin_parity --update --pair x7 apres commit des conversions (blobs HEAD), reasons portant la localisation mesuree DEPUIS LE DIFF (format 52c0432 : cellule markdown d'index N sur M). Registre 11/11 OK, 0 DRIFT post-attestation. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin,#15611): renumerotation attestations 2026-09-14 apres absorption main (#16035) Tie-break arbitre par ai-01 : premier index pose, premier servi -- les attestations datees 2026-09-13 (po-2026) gardent leur numero, les deux miennes du 2026-09-14 cedent d'un cran : - sw-3-graph-operations : 0009 -> 0010 - sw-5-linked-data : 0010 -> 0011 Les 7 autres attestations ne bougent pas. La re-attestation sw-3/sw-5 (pins portant les blobs du nouveau head) suit dans le meme push. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin,#15611): re-attestation sw-3/sw-5 sur le head post-merge -- pins des blobs finaux Apres absorption de main (#16035 merge), le cote Python des deux paires a bouge (enrichissements hr_separator des deux lanes fusionnes), le cote C# est byte-identique. Les attestations renumerotees portent maintenant les pins du head final : - sw-3-graph-operations/0010 : python_sha ea2d2e2 (csharp 1803da6 inchange) - sw-5-linked-data/0011 : python_sha 55c227b (csharp 2923bd7 inchange) check_twin_parity.py --update --pair, reason reportee et completee avec le contexte de re-pin. Un seul push pour renumerotation + re-attestation, per arbitrage ai-01 (msg-20260914T110049-wyie4v). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin-registry,#16042): renumeroter deux attestations en collision d'index Les attestations 0008 (sw-2-rdf-basics) et 0009 (sw-7-owl) du 2026-09-14 de cette lane entraient en collision avec les 0008/0009-2026-09-13 de po-2026 arrivées sur main après le branchement (merge-base 8e96961). test_audit_index_unique_and_no_identical_duplicates_per_pair échouait : l'index est la clé de tri du journal (#14911/#15345). Renommage au prochain index libre par paire : 0008->0009 (sw-2-rdf-basics), 0009->0010 (sw-7-owl). Contenu inchangé (la clé d'index vit dans le nom de fichier). 46/46 tests twin registry verts localement. See #15611, See #16042 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin,#16042): re-attestation sw-11 post-merge main -- blobs HEAD (0007) * fix(notebooks,#16042): SW-11 -- retirer les 7 separateurs concurrencant les titres Exercice de main La resolution du conflit avec main avait concatene les deux cotes (separateur *** de la branche + titre "### Exercice N" ajoute par main dans la meme cellule). Les titres de main supersedent : les 7 separateurs redondants sont retires, SW-11 rejoint le blob de main (0 diff residuel). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin,#16042): re-attestation sw-11 knowledge-graphs apres retrait des 7 separateurs (0009) SW-11 rejoint le blob de main ; l'attestation precedente (0007) pointait les blobs concatenes. Attestation = blobs HEAD 4bfdf3e. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(twin,#16042): retirer 5 attestations supersedees -- scope final 11 fichiers (7 notebooks + 4) Reparation exact-head aea8ebf (CHANGES_REQUESTED ai-01). Chaque retrait prouve redondant firsthand (pins compares a origin/main, blobs verifies dans le tree final) : - sw-3 0010 : 4 pins identiques a main sw-3 0009 (python ea2d2e2, csharp 1803da6) -> couvert par main. - sw-5 0011 : 4 pins identiques a main sw-5 0010 -> couvert par main. - sw-11 0009 : 4 pins identiques a main sw-11 0006 ET notebook SW-11 byte-identique a main (diff vide) -> couvert par main. - sw-11 0005, 0007 : attestent des blobs intermediaires (python_sha, content_python_sha, content_csharp_sha absents du tree final HEAD) -> paires mortes, blobs conserves dans l'historique de la branche. Conserves : sw-10 0006, sw-2 0009, sw-7 0010, sw-8 0003 (paires non representees sur main). Aucune re-execution notebook (code/outputs intacts). Body aligne sur 11 fichiers = 7 notebooks + 4 attestations. Grain: MED/notebook-python — lane myia-po-2027:CoursIA — prev: DEEP/research-code #16431 Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
Le passage a 30/30 supposait que main mappait 29 notebooks sur 29 : main en porte deja 30 (Observatoire-1-Initiation, #16431, absent du README). Le compte est un defaut preexistant, traite a part ; cette PR n'ajoute que sa ligne de mapping. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
…déterministe (sas trunk, Triple Distillation #4960) (#17377) * Add: distillation argumentation_schemes — table Walton + classifieur déterministe (sas trunk ligne 5, Triple Distillation) Port de l'essence vivante du tronc EPITA (argumentation_analysis/agents/core/debate/ argumentation_schemes.py, restauration G8) : 10 schémas verbatim du moteur étudiant 1_2_7 (forces a priori), questions critiques canoniques Walton (ajout du tronc), classifieur lexical déterministe (33 ensembles FR accentués, paire complète exigée, ordre canonique modus_ponens dernier), échec bruyant None. Divergences mesurées sur le source, portées et documentées : docstring FR+EN non tenue (100% FR accentué), singleton « principe de précaution », « donc » arme cause_effect avant modus_ponens, rendu tronqué à 2 questions. Garde ajoutée que le source n'a pas : égalité ordre canonique <-> table. Organe stdlib pur (aucun LLM/JVM/aleatoire) + 19 tests + notebook 34 cellules (12 code, execution_count non-null partout, 0 erreur, densité 1215 c/cell >= 1200, 3 exercices C.1 conformes) + README 2 lignes (tables notebooks/exercices, comptages dates du 2026-09-09 non touches, catalogue byte-identique). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * docs(argument-analysis,#4960): mapping exhaustif 30/30 — Schemes_Walton dans l'arc 3 apres merge de main Le merge de main (#17355, Dialogues_Protocolises) portait le mapping a 29/29 ; cette PR ajoute le 30e notebook, sa ligne manquait dans la table de l'arc 3. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs(argumentation,#17377): retablir l'en-tete 29/29 du mapping Le passage a 30/30 supposait que main mappait 29 notebooks sur 29 : main en porte deja 30 (Observatoire-1-Initiation, #16431, absent du README). Le compte est un defaut preexistant, traite a part ; cette PR n'ajoute que sa ligne de mapping. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…déterministe (sas trunk, Triple Distillation #4960) (#17377) * Add: distillation argumentation_schemes — table Walton + classifieur déterministe (sas trunk ligne 5, Triple Distillation) Port de l'essence vivante du tronc EPITA (argumentation_analysis/agents/core/debate/ argumentation_schemes.py, restauration G8) : 10 schémas verbatim du moteur étudiant 1_2_7 (forces a priori), questions critiques canoniques Walton (ajout du tronc), classifieur lexical déterministe (33 ensembles FR accentués, paire complète exigée, ordre canonique modus_ponens dernier), échec bruyant None. Divergences mesurées sur le source, portées et documentées : docstring FR+EN non tenue (100% FR accentué), singleton « principe de précaution », « donc » arme cause_effect avant modus_ponens, rendu tronqué à 2 questions. Garde ajoutée que le source n'a pas : égalité ordre canonique <-> table. Organe stdlib pur (aucun LLM/JVM/aleatoire) + 19 tests + notebook 34 cellules (12 code, execution_count non-null partout, 0 erreur, densité 1215 c/cell >= 1200, 3 exercices C.1 conformes) + README 2 lignes (tables notebooks/exercices, comptages dates du 2026-09-09 non touches, catalogue byte-identique). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * docs(argument-analysis,#4960): mapping exhaustif 30/30 — Schemes_Walton dans l'arc 3 apres merge de main Le merge de main (#17355, Dialogues_Protocolises) portait le mapping a 29/29 ; cette PR ajoute le 30e notebook, sa ligne manquait dans la table de l'arc 3. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> * docs(argumentation,#17377): retablir l'en-tete 29/29 du mapping Le passage a 30/30 supposait que main mappait 29 notebooks sur 29 : main en porte deja 30 (Observatoire-1-Initiation, #16431, absent du README). Le compte est un defaut preexistant, traite a part ; cette PR n'ajoute que sa ligne de mapping. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
…27 Plan notebook) (#17491) PRédente suite au fix notebook #16891 (qui avait retiré du notebook ICT-27-SymbolInvention l'assertion contredite par la sortie 5/6 du notebook : « chaque graine aleatoire converge vers une bijection distincte »). Le miroir `translations/iit/iit.csv` ligne 18426 propageait encore la phrase dans la cellule `f5b39108`. Resync narrow : - `text_fr` : remplacement de la phrase contredite par la formulation mesuree (« 5 conventions distinctes sur 6 graines — les graines 0 et 5 convergent vers la meme permutation »). - `src_hash` (col 4) et `hash_fr` (col 13) mis a jour au nouveau sha256 tronque a 16 chars `744dea3c4c59ddcf` (calcule sur la nouvelle cellule). Verification : - `check_translation_sync.py translations/iit/iit.csv` : 87 -> 86 SRC_DRIFT (la cellule cible n'est plus signalee, scope strict de l'issue respecte). - `grep -r "converge vers une bijection distincte"` sur csv/md/ipynb : 0 occurrence. - Diff : 1 rangee / 4 insertions / 3 deletions. Hors scope (note pour suivi) : les 341 ORPHAN_ROW et 86 SRC_DRIFT restants concernent d'autres series ICT (renommages ICT-N -> ICT-0N ou suppressions de cellules post #16431), pas l'enveloppe de cette PR. Voir #4957 schema pour le suivi separe. Co-authored-by: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Grain: DEEP/research-code — lane myia-po-2027:CoursIA — prev: MED/guard #16388
Summary
Premier cas de l'Observatoire des formes relationnelles (#13303) — Bumble « Opening Moves », rupture d'initiation datée 2024-04-30, DiD imparfait traité (r/Bumble) / contrôle (r/hingeapp) sur avis Reddit datés (Arctic Shift).
Pipeline v2 (amendement de pré-inscription n°2,
issuecomment-5701589586, posté AVANT toute re-collecte) :qwen2.5:7b-instruct-q4_K_M, température 0, prompt + schéma JSON épinglés, modèle épinglé par nom)d_struct = 1.0par construction, textes uniques)Exécution réelle (H.1 / D.1)
jupyter nbconvert --to notebook --execute --inplace(venv CoursIA, kernel python3, badine 3600 s/cellule), 2026-09-16. 4 preuves :execution_count3→8, sorties présentes ;date_min≠date_max, ex. Hinge_pre 2023-11-16→2024-04-29) — le défaut v1 (tranche d'un jour,date_min==date_max) est corrigé et la correction est mesurée ;Verdict (fighter-honest)
INCONCLUSIVE — les deux jambes restent sous le plancher split-half + 0.05 :
INIT_NORM_ANY+1 (DiD) maisOPENING_MOVE_REACT= 0 post sur les 4 cellules — le biais de saillance espéré ne s'est pas matérialisé dans le corpus ;INIT_COST+7 etBLAME+2 (DiD) restent sous le plancher après split-half ;Provenance et rebranchement
_dated_graphs_mod.py= conversion officielle de Instrument G_t^arg -> G_{t+1}^arg : graphes d'argumentation datés sur le substrat AIF/Dung, avec plancher de bruit obligatoire #13310 (Enonce,AIFGraph,to_dung_af,d_struct/d_sem,split_halfchronologique sans seed) — rebranché, pas réécrit ; seule divergence : C3 neutralisé (documentée cellule 10 + amendement n°2).issuecomment-5701589586) posté avant toute donnée v2._dated_graphs_mod.py: chemin OWL rendu cwd-indépendant (2 lignes) — requis pour que l'import fonctionne hors racine du dépôt.Limites assumées
🤖 Generated with Claude Code