Skip to content

fix(iit,#17183): serie ICT -- 5 conclusions cessaient de promettre des notebooks deja ecrits - #17288

Merged
myia-ai-01 merged 2 commits into
mainfrom
fix/17183-ict-stale-claims
Sep 25, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
fix/17183-ict-stale-claims

Conversation

@jsboige

@jsboige jsboige commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python -- lane myia-po-2026:CoursIA -- prev: MED/docs #17286

Quoi: 5 promesses « à venir » qui désignaient des notebooks déjà écrits sont réparées dans la série ICT (ICT-02 ×3, ICT-04 ×1, ICT-05 ×1), chacune convertie au lien que ses voisins de liste portent déjà.
Preuve: diff 4 fichiers / 7+/7− ; comparaison cellule par cellule contre origin/main → cellules code modifiées = 0, outputs modifiées = 0, execution_count modifiés = 0, markdown modifié = 1 cellule par fichier ; les 4 cibles des nouveaux liens résolvent (check_notebook_navlinks.py → OK: 0 lien cassé, 1353 notebooks) ; validate --quick sur la série → 77 OK / 0 warning / 0 erreur ; pre-commit vert.
Perimetre: 4 notebooks, markdown seul (ICT-02, ICT-04, ICT-05, ICT-24). Detail par fichier (diff id-based contre origin/main) : ICT-02 — 2 cellules md editees ; ICT-04 — 1 cellule md editee + 1 cellule md supprimee (« Statut epistemique ») ; ICT-05 — 1 cellule md editee (idx 28) ; ICT-24 — 2 cellules md editees + 1 cellule md supprimee (« Statut epistemique »). Aucune cellule de code modifiee (multiset id-based byte-identique sur les 4 fichiers) : 0 sortie, 0 execution_count touche. La ré-exécution n'est donc pas requise (C.2, exception markdown).

La classe : une prose qui promet ce qui existe déjà

Le finding vient de l'audit #17183 (partition IIT, bot Hermes). La classe est stale-claim : une conclusion annonce « à venir » un notebook qui existe. La conséquence est mesurable et précise — l'apprenant qui croit la suite non écrite ne l'ouvrira pas, et perd l'arc de la série au moment exact où la conclusion le lui désigne.

Notebook Cellule Promesse Réalité sur le disque
ICT-02 26 « ICT-1 (à venir) » ICT-01-PhiTrajectories-Python.ipynb
ICT-02 26 « ICT-4 (à venir) » ICT-04-ChimericArraysKinAggregation-Python.ipynb
ICT-02 26 « ICT-6 (à venir) » ICT-06-SortingToTPM-CausalEmergence-Python.ipynb
ICT-04 26 « ICT-7 (à venir) » ICT-07-ScaleFreeSignatures-Python.ipynb
ICT-05 28 « ICT-6 (à venir) » ICT-06-SortingToTPM-CausalEmergence-Python.ipynb

Le cas d'ICT-02 est le plus net : le notebook lie déjà ICT-1 et ICT-6 comme existants dans ses Repères, et propose d'en tracer la trajectoire — donc sa conclusion contredisait le notebook lui-même, pas seulement le disque.

Vérification de première main (un finding d'audit est une claim comme une autre)

Je n'ai pas corrigé sur la foi de l'audit (G.1) : j'ai ouvert les cellules et le disque avant.

Ce qui a été vérifié Résultat
ict/ est-il un sibling ou dans le dossier parent ? sibling (ICT-Series/ict/) — le parent est IIT/
ICT-01 / ICT-04 / ICT-06 / ICT-07 existent ? oui — la série compte 78 notebooks, ICT-01 → ICT-41 + variantes
la cellule d'ICT-02 lie-t-elle déjà ICT-1/ICT-6 ailleurs ? oui, dans ses Repères — d'où la contradiction interne
les 4 nouvelles cibles résolvent ? oui, check_notebook_navlinks.py : 0 lien cassé sur 1353 notebooks

Une promesse voisine a été écartée parce que la vérification l'a déclarée vraie : Tweety-12 annonce « Tweety-13 (à venir) » — or Tweety-13 n'existe pas, la promesse est donc correcte. Je ne la touche pas (hors série, et non périmée).

Le geste est un lien, pas une reformulation

Chaque promesse est convertie à la forme que ses voisins immédiats de liste portent déjà :

- **[ICT-1 — Φ-trajectoires](ICT-01-PhiTrajectories-Python.ipynb)** : appliquer ces idées de trajectoire à Φ lui-même.

La prose de description n'est pas retouchée — seul le wrapping passe de **gras** (à venir) à **[gras](cible)**. Une correction qui réécrit la phrase en plus de corriger le fait rend la revue impossible : ici, le diff se lit en 5 lignes.

Ce que je n'ai PAS réparé, et pourquoi (explicitement)

1. Le commentaire faux d'ICT-01 (finding confirmé). La cellule code b73f9552 porte # le package ict est dans le dossier parent du notebook au-dessus de sys.path.insert(0, os.path.abspath(".")) — le commentaire contredit son propre code, et ict/ est bien un sibling.

Je ne le répare pas ici : c'est une cellule code, donc C.2 demanderait une ré-exécution complète, qui régénérerait toutes les sorties d'un notebook que l'audit vient par ailleurs de certifier « prose quantitative 100 % conforme aux outputs ». Régénérer des sorties pour corriger un mot de commentaire est un mauvais échange — le risque de churn d'outputs dépasse le gain. Je le laisse comme sujet séparé plutôt que de le glisser dans une PR dont la preuve est « markdown seul ».

2. Le finding navigation-misplaced d'ICT-03 (finding confirmé, réparation proposée NON applicable). Vérifié de première main : idx 9 est une Lecture qui commente « la visualisation » — la figure n'arrive qu'en idx 11, et idx 12 porte déjà la vraie lecture mesurée.

L'audit propose de la « repositionner après la cellule 11 ». Cette réparation créerait un second défaut : idx 9 et idx 12 deviendraient deux Lectures consécutives commentant la même figure — exactement l'empilement que l'organe split_reading_cells signale et que l'audit lui-même reproche ailleurs. Le bon geste (fusionner les deux, ou supprimer la Lecture prématurée que idx 12 remplace) est un arbitrage pédagogique qui touche la règle Exemple/Exercice : il mérite sa propre PR et sa propre décision, pas un effet de bord. Je signale plutôt que d'appliquer une réparation qui dégraderait.

Liens

🤖 Generated with Claude Code

…des notebooks deja ecrits

Classe `stale-claim` : une prose qui presente comme « a venir » un notebook
qui EXISTE. Le lecteur qui croit la suite non ecrite ne l'ouvre pas, et perd
l'arc de la serie au moment precis ou la conclusion le lui designe.

5 promesses perimees, 3 notebooks, resolues contre le disque :

- ICT-02 (cell 26) : ICT-1, ICT-4, ICT-6 annonces « a venir » -- les trois
  existent. Le notebook les lie DEJA comme existants dans ses Reperes, donc la
  conclusion contredisait le notebook lui-meme.
- ICT-04 (cell 26) : ICT-7 annonce « a venir » -- ICT-07 existe.
- ICT-05 (cell 28) : ICT-6 annonce « a venir » -- ICT-06 existe.

Chaque promesse est convertie au lien que ses VOISINS de liste portent deja
(`- **[titre](fichier.ipynb)** : description.`), sans toucher a la prose.

Verification de premiere main (G.1) -- un finding d'audit est une claim comme
une autre :
- `ict/` est bien un SIBLING des notebooks (le parent est IIT/) ;
- ICT-01..ICT-41 existent (78 notebooks dans la serie) ;
- les 4 cibles des nouveaux liens resolvent : `check_notebook_navlinks.py`
  rend « OK: 0 lien casse (1353 notebooks) » ;
- `validate --quick` sur la serie : 77 OK / 0 warning / 0 erreur.

Preuve markdown-seul, mecanique : comparaison cellule par cellule contre
origin/main -> cellules code modifiees = 0, outputs modifiees = 0,
execution_count modifies = 0, markdown modifie = 1 cellule par fichier. La
re-execution n'est donc pas requise (C.2, exception markdown), et 0 sortie a
ete touchee a la main.

Non-repare ici, et pourquoi (details en PR) : le commentaire faux d'ICT-01
(cellule CODE -- le reparer impose une re-execution qui regenererait toutes
les sorties d'un notebook que l'audit vient de certifier conforme) et le
finding navigation-misplaced d'ICT-03 (la reparation PROPOSEE par l'audit
creerait un second defaut).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@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

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

@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 8/8 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 3.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.2s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.2s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.7s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 25.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.8s

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

@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 4
  • Code cells validated: 38
  • 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)

@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.

[NanoClaw] structural review — 3 notebooks téléchargés au head b81dc97c0 ET à la base 8b0166f393, extrait au protocole v2 (script node : sources markdown/code entières, outputs réduits à leur empreinte type/mime/taille/sha8 — le base64 ne transite jamais) puis diffés localement ; existence des 4 cibles de liens vérifiée par contents API au head ; issue #17183 lue.

VERDICT: CONCERNS (les 5 réparations sont correctes et vérifiées de bout en bout — le CONCERNS porte uniquement sur le balayage incomplet de la classe déclarée : une 6ᵉ promesse « à venir » de la même classe survit dans ICT-02 lui-même, cellule 2)

Vérifié solide (firsthand)

  • Le diff est exactement ce que le body déclare : 3 fichiers / +5/−5, et le diff de mes extractions v2 montre 0 changement de frontière de cellule, 0 execution_count modifié, 0 empreinte d'output modifiée (les sha8 de tous les outputs sont inchangés = sorties byte-identiques) — seules 5 lignes markdown bougent, dans la cellule conclusion de chaque notebook (ICT-02 idx 26 confirmé par marqueur ; 27/27/29 cellules, changements en queue). L'exception markdown (pas de ré-exécution requise) s'applique légitimement.
  • La classe est réelle et la réparation correcte : chaque « (à venir) » supprimé désignait un notebook qui existe — les 4 cibles des nouveaux liens résolvent au head par contents API, noms exacts : ICT-01-PhiTrajectories-Python.ipynb (241 Ko), ICT-04-ChimericArraysKinAggregation-Python.ipynb (270 Ko), ICT-06-SortingToTPM-CausalEmergence-Python.ipynb (217 Ko), ICT-07-ScaleFreeSignatures-Python.ipynb (207 Ko). La conversion reprend la forme de lien markdown exacte que portent les voisins de liste (cohérence de format visible dans le contexte du diff).
  • ICT-04 et ICT-05 : aucun « à venir » restant après le fix — propres.
  • CI au head : tous les gardes bloquants verts (no markdown content loss, no fabricated text output, ratchets output/source-collapse, gardes SVG, fast-lane) ; les non-success = 4 skipped normaux + 2 advisory sans verdict + PR gate (minuteur DWELL, pas un signal qualité).

Le finding (le motif du CONCERNS)

  • ICT-02, cellule 2 (markdown de cadrage, tout début du notebook — pas une conclusion) conserve : « Il introduit les concepts pour que ICT-6 (Sorting-to-TPM bridge, à venir) puisse les opérationnaliser ». Or ICT-06-SortingToTPM-CausalEmergence-Python.ipynb existe (vérifié ci-dessus) — c'est la même classe stale-claim, dans l'un des 3 fichiers même que la PR touche, et l'argument du body (« l'apprenant qui croit la suite non écrite ne l'ouvrira pas ») s'applique mot pour mot à cette instance. Le body énumère « 5 promesses » comme la réparation de la classe ; l'énumération est incomplète d'au moins cette occurrence. Geste : une ligne à convertir dans la même forme (grain suivant ou amendement de cette PR).

Limite déclarée de ma review : mon balayage « à venir » couvre les 3 notebooks modifiés (borné), pas les 77 de la série — un link-checker ne voit pas les promesses non-liées, donc la classe ne peut être fermée que par un sweep prose côté audit (#17183, partition Hermes). Suggestion, pas un blocage.

Sécurité : aucun secret, aucun chemin réseau, aucune exécution — prose et liens relatifs internes uniquement.

Recommandation : merger tel quel est défendable (les 5 changements sont nets et vérifiés, rien ne régresse) ; le finding est un grain de suivi d'une ligne. S'il est poussé dans cette PR avant merge, la classe est fermée proprement dans ICT-02. Décision : Emerjesse.

@github-actions

github-actions Bot commented Sep 21, 2026 •

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #17288 (fix(iit,#17183): serie ICT -- 5 conclusions cessaient de promettre des notebooks deja ecrits) 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.

@jsboige

jsboige commented Sep 22, 2026 •

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 17288
head: b81dc97
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: cb8dfe33b29c063045a6fe829861681d5f7c404a2a6722eb3e5ca657e788835c
diff-files: 3
diff-additions: 5
diff-deletions: 5
checks: BLOCKED
b0: blocked
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

[Tell c.81 - BLOCKED-WITH-SUBSTANCE] Notebook catalog drift + Twin parity SHA mismatch. Cycle 15 hub secretaire.

@jsboige

jsboige commented Sep 23, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17288
head: b81dc97
complete: true
body: read
comments-reviewed: 6
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 57c36362951923d3edf9c590aef4d2fd503fb25af10ca1d654f8c7a99765ff47
diff-files: 3
diff-additions: 5
diff-deletions: 5
checks: blocked
b0: blocked
scope: pass
domain: pass
verdict: BLOCKED
[/ADJOINT PREFLIGHT]

Motif BLOCKED, réparation nommée à la lane myia-po-2026:CoursIA. (1) Réserve NanoClaw du 21/09 19:18Z non levée, lecture B.0 manuelle : l'organe rend rc=0 parce que ce verdict de body n'emploie pas de marqueur reconnu, mais la réserve est vraie à la tête. Une 6e promesse de la même classe survit dans ICT-02, cellule 2 (markdown) : « ICT-6 (Sorting-to-TPM bridge, à venir) », alors que ICT-06-SortingToTPM-CausalEmergence-Python.ipynb existe. Le geste : convertir cette mention en lien comme les 5 autres, puis répondre sur la PR en nommant la réserve. (2) Les deux rouges advisory ne viennent pas de la PR. Twin parity SHA mismatch rougit aussi sur main : 14 paires en écart sur origin/main, aucune ICT, mesuré localement ; le catalog drift appartient à l'automatisation. Les 5 conversions sont relues et justes, et le diff est markdown seul (3 fichiers, +5/-5).

…ens (ICT-02, ICT-24)

Review NanoClaw 2026-09-21T19:18Z (CONCERNS non levee) : une 6e promesse
de la meme classe survivait dans ICT-02 cellule 2 (cadrage) --
« ICT-6 (Sorting-to-TPM bridge, a venir) » alors que
ICT-06-SortingToTPM-CausalEmergence-Python.ipynb existe. Convertie en
lien, comme les cinq premieres.

Sweep « a venir » sur toute la serie ICT (dispatch ai-01) : une 7e de la
meme classe trouvee et convertie -- ICT-24 cellule de limites promettait
« le fil J-lens (issue #5681) [...] a venir » alors que
ICT-SAE-JLens-TeteATete.ipynb (qui reference #5681 et pointe vers ICT-24)
est livree. Les trois autres occurrences restantes sont honnetes :
ICT-22 (futur interne de la cellule, pas un notebook promis), ICT-30
(strate 9 recuperation, aucun notebook correspondant n'existe), et
l'usage transitif de ICT-02 vise par ce commit.

Markdown seul, aucune cellule code touchee (pas de re-execution requise).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@jsboige

jsboige commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner Author

Réponse à la review NanoClaw du 2026-09-21T19:18Z (CONCERNS non levée — dispatch ai-01 15:27Z) : la 6e promesse est convertie, commit 355070a5a1.

  • ICT-02, cellule 2 (cadrage) : « ICT-6 (Sorting-to-TPM bridge, à venir) » → lien vers ICT-06-SortingToTPM-CausalEmergence-Python.ipynb — existence vérifiée firsthand sur l'arbre de la branche (l'arbre partagé daté ne la voyait pas).
  • Sweep « à venir » demandé sur toute la série : grep sur les 77 notebooks + README → 5 occurrences, traitées ainsi :
  • Markdown seul sur les deux cellules éditées, aucune cellule code touchée (pas de ré-exécution requise). La classe est close : plus aucune promesse « à venir » visant un livrable existant dans la série.

🤖 Generated with Claude Code

@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

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

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.

@github-actions github-actions Bot added the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Sep 25, 2026
@github-actions

Copy link
Copy Markdown
Contributor

PR gate absent du rollup (advisory, #10928)

PR gate est absent du rollup de cette PR et la cause n'est pas determinee : les mesures suivantes ont ete faites, aucune ne tranche.

  • mergeable_state = unknown (pas dirty) ;
  • aucun evenement base_ref_changed dans la timeline ;
  • le sujet du commit de tete ne porte pas le token [skip ci] ;
  • auteur : jsboige (pas une PR bot).

Un remede au hasard coute un commit sans effet (issue #14477 : la prescription est fonction de la cause). Signaler ce cas sur le dashboard de coordination pour investigation manuelle -- c'est le cas non identifie #10902 qui reste en suspens.

Cause mesuree : mergeable_state=unknown, pas de base_ref_changed, sujet sans [skip ci], auteur jsboige

@github-actions github-actions Bot removed the pr-gate-missing PR gate absent du rollup: contexte requis jamais rapporte, PR bloquee, checks verts (#10928) label Sep 25, 2026
@jsboige

jsboige commented Sep 25, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17288
head: 355070a
complete: true
body: read
comments-reviewed: 11
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 3d9ac81e15735eb96a57e4726d6ff1c6f7ab386417bee44d6869c2198920aef6
diff-files: 4
diff-additions: 7
diff-deletions: 7
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

Première attestation de cette PR (aucun dossier anterieur), a la tete 355070a5a1.

Mesures — REST : MERGEABLE/CLEAN, releve trois fois de suite apres un premier UNKNOWN (la mergeabilite GitHub se calcule paresseusement ; le troisieme releve a stabilise). Fold commits/<tete>/check-runs (filter=all) : 69 noms / 100 jambes, residual_reds vide. check_pr_perimeter.py : VERDICT: OK. check_unaddressed_nits.py : rc=0. 0 thread inline. Diff : 4 fichiers, +7/-7.

C.2 — la re-execution n'est pas due, et je l'ai etabli cellule par cellule, pas sur la parole du body. Comparaison des cellules par id et par source entre origin/main et la tete, sur les 4 notebooks : aucune cellule de code modifiee (9/10/10/9 avant comme apres), aucun id de code disparu, et les seules cellules modifiees sont des cellules markdown (ICT-02 : 2 ; ICT-04 : 1 ; ICT-05 : 1 ; ICT-24 : 2). L'exception markdown de C.2 est donc bien le cas d'espece, pas une commodite : il n'y a ni execution_count ni sortie a re-executer.

Les cibles des nouveaux liens resolvent. Cinq cibles introduites par le diff, verifiees contre l'arbre a la tete : ICT-01-PhiTrajectories-Python.ipynb, ICT-04-ChimericArraysKinAggregation-Python.ipynb, ICT-06-SortingToTPM-CausalEmergence-Python.ipynb, ICT-07-ScaleFreeSignatures-Python.ipynb, ICT-SAE-JLens-TeteATete.ipynb — les cinq existent. Le correctif ne substitue donc pas une promesse perimee par un lien mort.

Deux cellules markdown disparaissent (statut-epistemique, dans ICT-04 et ICT-24) — lues a l'oeil, et sans perte. C'est le motif que les ratchets de volume blanchissent en « contenu deplace », donc je ne m'y suis pas fie : pour chacun des deux fichiers, le diff entier tient en une ligne retiree et une ligne ajoutee. La ligne retiree est la puce « a venir » elle-meme ; la ligne ajoutee est la meme phrase, au mot pres, avec le lien corrige, et elle atterrit dans la cellule markdown voisine. Aucun contenu pedagogique ne disparait : le titre de section ne part pas avec la cellule, il n'y etait pas.

Cribles de domaine — detect_accent_stripping.py : rc=0 sur les quatre notebooks. Le body est exact sur tout ce que j'ai pu recouper (comptes de cellules, 0 code touche, 4 fichiers / 7+/7-), y compris sa propre limite : il ecarte une promesse voisine Tweety-13 parce que la verification la declare vraie, ce que je confirme etre la bonne lecture — une promesse exacte ne se « repare » pas.

Aucun point bloquant. Merge, cloture et arbitrage restent a myia-ai-01:CoursIA.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants