Skip to content

fix(semanticweb,#17066): redressement critique SW-12 — retitrage 11 lectures + fusion des deux conclusions (10 dup -> 0) - #17101

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/17066-sw12-dedup
Sep 21, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/17066-sw12-dedup

Conversation

@jsboige

@jsboige jsboige commented Sep 21, 2026 •

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-python -- lane myia-po-2023:CoursIA -- prev: LIGHT/notebook-python #17100

Exception ecrite (G-VAR-3 adjacency + trivial-diff #15740), ajout 2026-09-21. L'organe adjacency mesure des grains LIGHT/notebook-python consecutifs pour la lane en sequence de merges (#17076 -> #17100 -> #17101 -> #17106). C'est voulu : la campagne #17066 (duplicate-sections, dispatch ai-01) est une serie coordonnee livree en PRs separees (one-notebook-per-PR, regle atomique), chaque PR etant la consolidation d'un notebook distinct mesuree par le meme organ (check_duplicate_sections.py : porteurs 10-15 -> 0 chacun, verifie dans chaque body). Le diff court (~20-45 lignes de titres) est le format attendu d'une consolidation markdown-only (retitres subject-specific, corps byte-identiques) : la substance de chaque PR est documentee dans son corps et preuvee (SHA1 cellules code, outputs intacts).

Redressement critique #17066 — SymbolicAI/SemanticWeb/SW-12-Python-GraphRAG.ipynb

Porteur mesuré par check_duplicate_sections.py : 10 findings — 8× dup_reading « interpretation » (cellules 8, 13, 16, 19, 22, 25, 28, 31, avec variantes d'accents Interpretation/Interprétation), 3× dup_reading « lecture du resultat » (50, 53, 56), 2× dup_closing « resume » (43, 72).

Lecture critique préalable

Deux défauts distincts, de gravité différente :

  1. 11 lectures au titre générique (contenus riches et ancrés : mode API/démo, qualité d'extraction, triplets RDF, hub Nolan, cache MISS/HIT, évaluation gold, multi-saut football) — défaut structurel pur, même classe que 25_CRF/fix(genai,#17066): redressement critique 25_CRF — retitrage 15 lectures + fusion ablation (15 dup -> 0) #17076 et 26_PCFG/fix(genai,#17066): redressement critique 26_PCFG — retitrage 13 lectures + fusion tableau/histogramme (13 dup -> 0) #17100.
  2. Deux conclusions — le vrai dup_closing : cellule 43 « ## Resume » au milieu du notebook (juste après le benchmark §8), et cellule 72 « ## Resume et perspectives » en fin. La 43 portait en propre un tableau Outils/Concepts, 6 compétences acquises et 5 liens de ressources ; la 72 portait la narrative mesurée (équivalence mono-saut, multi-saut inconclusif n=3, avantage agrégation), la lecture des mesures et les perspectives local/global.

Vérifié par ailleurs : les 7 stubs d'exercices (59, 61, 63, 65, 67, 69, 71) sont conformes C.1 (# TODO etudiant, commentaires d'étapes, aucun raise) ; les 4 « Exemple guide » (47, 49, 52, 55) sont des solutions démontrées — cohabitation conforme à la règle exercise-example-labeling (guide PUIS exercice du même concept).

Consolidations

# Geste Détail
1-11 Retitrage sujet-spécifique Les 8 Interprétations et 3 Lectures reçoivent un titre unique (« le mode d'exécution détecté », « la qualité de l'extraction LLM », « chaque fait devient un triplet », « Nolan hub central », « des faits structurés pour le LLM », « le pipeline en trois étapes », « quatre types et leurs limites », « les communautés et la hiérarchie Microsoft GraphRAG », « cache MISS puis HIT », « précision, rappel, désaccord d'annotation », « multi-saut et synthèse »). Corps inchangés.
12 Fusion des deux conclusions en UNE (position finale, 72) Le contenu propre de 43 migre dans 72 : tableau Outils/Concepts + 6 compétences insérés après le paragraphe des résultats mesurés, liens en fin sous « ### Ressources pour approfondir » (3 intertitres neufs, unicité vérifiée). L'intro générique de 43 (« Ce notebook a couvert… ») n'est PAS dupliquée — la narrative de 72 la remplace. La cellule 43 est supprimée (le séparateur *** suivant est préservé par la cellule 44 qui l'ouvre). −1 cellule, −1 conclusion.

Plan du notebook après réparation

Flux principal inchangé : setup/mode détection → texte source → extraction LLM → graphe RDF → visualisation → sous-graphe → génération augmentée → questions de test → communautés → benchmark comparatif §8 (baseline TF-IDF, juge alias-robuste, verdict par classe) → interpretation du verdict → Exercices (4 guides résolus + 7 stubs) → conclusion unique → clôture de série + navigation. 72 cellules (73 avant).

Verdict de séquence

Saine et préservée : la chaîne extraction → structuration → interrogation → mesure est intacte, et le retrait de la conclusion mi-parcours rétablit le rythme canonique du dépôt (démonstration → benchmark → exercices → UNE conclusion). Les contenus des deux conclusions sont tous conservés, aucun n'est perdu dans la fusion.

Signalement hors scope (principe 3 — à traiter en sujet séparé, PAS dans cette PR) : la numérotation guides/exercices est incohérente — les codes des guides portent des commentaires « # Exercice 4/5/3/final » alors que les stubs correspondants sont numérotés 1/2/3/final, et le stub « Exercice final » (cell. 65) est inséré AVANT les exercices 4-6. Cellules code : hors périmètre markdown-only de cette campagne. À arbiter par le coordinateur (issue dédiée ou tranche follow-up).

Mesures

Contrôle Résultat
check_duplicate_sections.py 10 findings → 0 (8 interp + 3 lecture + 2 resume → 0)
Cellules code (27) byte-identiques (SHA1 avant/après égaux)
Outputs 42 intacts, 27/27 execution_count — 0 re-exécution requise (C.2 exception markdown)
Headings dupliqués 0 (les séparateurs *** répétés sont préexistants, hors périmètre de l'organe, −1 après fusion)
nbformat VALID
Périmètre 1 fichier, +44/−220

See #17066 (3ᵉ notebook sur 218 porteurs livré par cette lane).

🤖 Generated with Claude Code

…ectures + fusion des deux conclusions (10 dup -> 0)

Consolidation markdown-only : 27 cellules code byte-identiques (sha1),
42 outputs intacts, 0 re-execution requise (C.2 exception markdown).
Organe check_duplicate_sections.py : 8 dup_reading + 3 dup_reading + 2 dup_closing -> 0.
La conclusion migree en fin de notebook (Resume unique, outils/competences/ressources preserves).

See #17066

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

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.7s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 3.7s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 4.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.2s
Search-01-StateSpace.ipynb ✅ SUCCESS 3.3s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.1s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 17.0s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 2.5s

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

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

@jsboige

jsboige commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 17101
head: a89818c
complete: true
body: read
comments-reviewed: 4
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 6fbb26023aca545de510425a9454d687754c6cf8cb2cec3c9291f6f4ae1d7f9e
diff-files: 1
diff-additions: 44
diff-deletions: 220
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit cc1b4a2 into main Sep 21, 2026
82 of 99 checks passed
myia-ai-01 pushed a commit that referenced this pull request Sep 22, 2026
…n + closing redondant consolidé (#17124)

* fix(sw,#17066): SW-11 sections dupliquees — 17 retitles Interpretation + closing redondant consolide

dup_reading interpretation x17 -> titres specifiques ; dup_closing resume x2 :
cell 107 (recap prose dupliquant le tableau cell 74) supprimee, sa perspective
nette repliee dans Prochaine etape (74). Pattern #17101. Markdown-only,
38 code cells SHA-intactes, validator PASS 37/37.

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

* chore(sw,#17066): attestation twin SW-11 Knowledge-Graphs (rebaseline post-redressement markdown-only)

Twin parity audit (#8057) rouge sur #17124 : le blob Python a bouge (markdown-only,
38 code cells byte-identiques), content_csharp_sha inchange. --update --pair
'SW-11 Knowledge-Graphs' apres verification : hash-object = python_sha atteste,
C# non touche.

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

---------

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

2 participants