Skip to content

refactor(sw11,#18703): arc narratif SW-11-CSharp -- lecture simple d'abord, annexes A-E (pilote #18699) - #18726

Merged
myia-ai-01 merged 2 commits into
mainfrom
feature/sw11-csharp-arc-narratif
Oct 2, 2026
Merged

myia-ai-01 merged 2 commits into
mainfrom
feature/sw11-csharp-arc-narratif

Conversation

@jsboige

@jsboige jsboige commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-dotnet — lane myia-po-2024:CoursIA — prev: DEEP/lean #18723

Ce que livre la PR

Tranche arc-narratif de l'EPIC #18703 pour SW-11-CSharp-KnowledgeGraphs.ipynb (claim ai-01 2026-10-01T18:39:14Z, paths: ce seul carnet). Geste du pilote #18699 (Lean-31) : lecture simple d'abord, approfondissements en annexes lettrées, rien supprimé.

Arc avant / après

Avant (42 cellules) : le lecteur traversait §1 (mur conceptuel 1,4 k avant toute exécution), puis les murs de §3/§4/§5 qui pré-dupliquaient le code — la cellule 17 embarquait l'implémentation BFS complète en extrait avant la cellule 18 qui l'exécute, la cellule 22 contenait une copie verbatim de toute la cellule 23. Les stats d'approfondissement (§5 qualité, §6 centralité) coupaient la ligne principale entre la visualisation (§4.1) et le verdict (§7). Variante « sans image » du critère de l'EPIC : le payoff visuel (sous-graphe ASCII) n'arrivait qu'à 50 % du carnet, derrière ~11 k de prose préliminaire.

Après (46 cellules) — ligne principale numérotée 0-8, puis annexes lettrées A-E :

# Section Contenu
0-1 Installation inchangé
1 Qu'est-ce qu'un KG ? version courte (définition + 3 propriétés + exemples canoniques)
2 Construire inchangé (vocabulaire, table → triplets, Turtle)
3 Interroger SPARQL lead-in court + 3.1/3.2 resserrées
4 Parcours + visualisation ASCII lead-in court, la viz reste dans la ligne principale
5 Exemples guides (ex-§ après centralité) remontés juste après §4
6 Verdict SOTA (ex-§7) portée et limites
7 Exercices 1-3 inchangés, intros conservées
8 Résumé lignes Qualité/Centralité renvoient aux annexes
A KG en contexte pourquoi les KG, comparaison relationnel, usages industriels, extrait ontologie
B Patterns SPARQL patterns + sorties verbatim, cas d'usage/perf 3.1, agrégats + ordre d'évaluation
C Implémentations C# des parcours adjacence, BFS, complexité, algorithmes voisins, extrait viz ASCII
D Qualité du KG ex-§5 entier (mur + code + interprétation)
E Centralité ex-§6 entier (mur + code + interprétation)

Preuves

  • Aucune suppression : audit ligne à ligne scripté — les 12 seules lignes substantives absentes du nouveau carnet sont les re-titres/re-numérotations attendus (§5→Annexe D, §6→Annexe E, §7→§6, re-indexation code[8]→code[13], code[9]→code[14], qualificateurs « (annexe D/E) » du résumé). Volume source 38 778 → 41 699 chars (+ annexes/transitions, −0).
  • Code byte-identique : les 15 cellules code ont leur source inchangée au byte près (assertion scriptée sur l'ID de cellule) ; seul leur ordre change (les cellules qualité/centralité passent en fin). Ordre d'exécution valide : annexes D/E ne dépendent que de g et des helpers de §2/§4, définis en amont ; vérifié par dépendances des variables.
  • Re-exécution complète kernel .net-csharp : EXEC_PROVED — 15/15 cellules code exécutées (exit 0, 0 erreur), execution_count renumérotés 1→15 dans le nouvel ordre. 9 lignes de bannière probeAddresses émises par la re-exec retirées par l'outil canonique strip_probe_banner.py (normalisation tolérée, la base n'en porte aucune).
  • Diff textuel des sorties base vs tête, par id de cellule (comparaison scriptée, CRLF normalisés) : 14/15 sorties textuellement identiques (05ccae9b, 50bbd2f2, 8a80d072, 1a760825, 8d4f23d7, 456d463a, 44512542, 8fa4126e, aa1b5416, 6a15ff81, 59952cf6, 4d3f9b5f, 16a0821c, 6c2384d5). La 15ᵉ (8804a63b, exemple guide 1 — paires de réalisateurs) ne diffère que par l'ordre des deux paires ex æquo à 1 genre commun (Bong & Nolan / Nolan & Tarantino permutées) : ORDER BY DESC(?shared) est non total sur les ties, l'ordre est non spécifié SPARQL — mêmes valeurs, mêmes 211 caractères.

Registre jumeau

Paire sw-11-knowledge-graphs (native-both) : côté C# seul édité, précédent #17059. Entrée known_difference ajoutée au registre + attestation --update post-commit. Machinerie lib-vs-lib inchangée (codes byte-identiques).

See #18703 (tranche SW-11-CSharp — l'EPIC reste ouverte).

🤖 Generated with Claude Code

jsboige and others added 2 commits October 1, 2026 21:08
…abord, annexes A-E, rien supprime, re-exec .net-csharp

Ligne principale renumérotée 0-8 (construire, interroger, parcourir/visualiser,
exemples, verdict, exercices, résumé) ; approfondissements en annexes lettrées
A-E (contexte, patterns SPARQL, implémentations de parcours, qualité, centralité).
15 cellules code byte-identiques (ordre seul), sorties re-exécutées 15/15 :
14/15 textuellement identiques, 1 cellule diffère seulement par l'ordre des
paires ex æquo (ORDER BY non total). Entrée known_difference au registre jumeau.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Oct 1, 2026

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

github-actions Bot commented Oct 1, 2026

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

@github-actions

github-actions Bot commented Oct 1, 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 5.5s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 6.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 6.9s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 7.3s
Search-01-StateSpace.ipynb ✅ SUCCESS 5.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.2s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 32.2s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 4.3s

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

@github-actions

github-actions Bot commented Oct 1, 2026

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 Oct 1, 2026

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

github-actions Bot commented Oct 1, 2026

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

github-actions Bot commented Oct 1, 2026

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.

@jsboige

jsboige commented Oct 2, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2026:CoursIA-3
pr: 18726
head: 359089c
complete: true
body: read
comments-reviewed: 7
reviews-reviewed: 0
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: d1823c5b6225454d1a5d03bfa4edfd546813ed4eb7194f42c4d47ebf209b6381
diff-files: 3
diff-additions: 689
diff-deletions: 504
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@myia-ai-01
myia-ai-01 merged commit e327f87 into main Oct 2, 2026
93 of 94 checks passed
jsboige added a commit that referenced this pull request Oct 2, 2026
…ere l'arc C# de main (#18726)

Le merge origin/main apporte le jumeau C# d'apres #18726 (arc narratif
C#, content 4e5d593b) : le registre atteste l'etat fusionne (Python
arc local + C# arc de main). Conflit yaml absent -- auto-merge garde
les deux lignes d'arc en known_differences.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Oct 2, 2026
…xes lettrees, visualisation remontee (#18800)

* refactor(sw11,#18703): arc narratif -- deep-dives en annexes lettrees, visualisation remontee en section 3

Declinaison Python du geste pilote #18699 (template #18726) sur
SW-11-Python-KnowledgeGraphs : ligne principale racourcie (0-install,
1-qu'est-ce qu'un KG, 2-construire, 3-visualisation), approfondissements
deplaces en annexes A (KG en contexte), B (kglab), C (OWLReady2), D (qualite),
placees avant les exemples guides car les exemples 3 et 7 consomment
OWLREADY_AVAILABLE/onto definis en annexe C (audit de dependances
prealable). Rien n'est supprime ; les 38 cellules de code sont
byte-identiques, seuls ordre + titres + renvois de prose changent.
Re-execution integrale 38/38, 0 erreur, 0 banniere outil, 0 chemin machine.

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

* chore(sw11,#18703): attestation de parite apres arc narratif Python

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

* fix(sw11,#18703): portes des gates prose-counts et split-reading

prose-counts : les compteurs de verbosite ('5-10 lignes', '1 ligne',
'5+ lignes', 'en 1 ligne') des lignes ajoutees par le deplacement sont
reformules en predicat sans mesure ('plusieurs lignes', 'une ligne').

split-reading : l'intro d'annexe A et le titre d'annexe B fusionnent
dans les cellules de base voisines (ids de base = revisions) -- toute
annexe markdown pure inseree entre deux sections code faisait monter
le compte de lectures rattachees a la sortie precedente. Rendu des
titres identique, compte mesure = base (0 sortie en hausse).

Markdown seul, code byte-identique, pas de re-execution due.

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

* docs(sw11,#18703): known_difference exacte -- 36/38 code byte-identique, 2 renvois de section en commentaire

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

* chore(sw11,#18703): re-attestation de parite apres correction yaml

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

* fix(sw11,#18703): compteurs prose-counts restants sans chiffres (markdown-only)

Les deux dernieres lignes de table portant des mesures chiffrees en prose
(SPARQL->DataFrame 5-10/1 lignes, query_as_df 1 ligne vs boucle 5+) passent
au predicat sans chiffres. Markdown-only : aucune cellule code touchee.

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

* chore(sw11,#18703): re-attestation de parite apres cure prose-counts (0011)

Le commit 93860b6 (markdown-only) a deplace le blob SHA du jumeau
Python : re-attestation du registre a l'etat courant. Aucune cellule
code touchee depuis la re-execution 38/38 attestee en 0010.

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

* chore(sw11,#18703): re-attestation 0012 post-merge -- jumeau C# recupere l'arc C# de main (#18726)

Le merge origin/main apporte le jumeau C# d'apres #18726 (arc narratif
C#, content 4e5d593b) : le registre atteste l'etat fusionne (Python
arc local + C# arc de main). Conflit yaml absent -- auto-merge garde
les deux lignes d'arc en known_differences.

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

* fix(twin-registry,#18800): renuméroter attestations 0009-0012 -> 0010-0013 (collision index 0009 avec 0009-2026-10-01-myia-po-2024-CoursIA.yaml de main)

---------

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