Skip to content

chore(notebooks,#15429): split T5 ML/Probas — normalisation source str->list - #15445

Merged
myia-ai-01 merged 3 commits into
mainfrom
chore/14209-split-T5-ml-probas
Sep 11, 2026
Merged

myia-ai-01 merged 3 commits into
mainfrom
chore/14209-split-T5-ml-probas

Conversation

@myia-po-2023

Copy link
Copy Markdown
Collaborator

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

Summary

See #15429 — tranche T5/T8 du split de #15146 : les familles ML DataScienceWithAgents + Probas/Infer, soit les notebooks Lab3-CV-Screening, Lab5-Viz-ML, Lab6-First-Agent (Track1-LangChain) et Infer-16-Sparse-Gaussian-Process.

Méthode

Branche chore/14209-split-T5-ml-probas depuis origin/main frais (76d7a5b), worktree isolé, reprise à l'identique du contenu du résidu (chore/14209-normalize-residue a1e83ff).

Preuve de neutralité sémantique

Notebook cellules conversions str→list
Lab3-CV-Screening 17 5
Lab5-Viz-ML 30 5
Lab6-First-Agent 28 5
Infer-16-Sparse-Gaussian-Process 32 2

Reste du split (#15429)

T7 (GameTheory + Sudoku + RL + QC research/projects), T2 (Search, à sous-splitter T2a/T2b), T8 (attestations twin). Vérification finale « 0 cellule string » et Closes #14209 : portés par la dernière tranche.

🤖 Generated with Claude Code

…str->list sur les notebooks ML/Probas

See #15429 (T5/T8). Contenu identique cellule par cellule : 17 conversions
str->list verifiees par script (source joinee == source str d'origine, zero
drift outputs/execution_count/metadata). Reprise du contenu de
chore/14209-normalize-residue a1e83ff sur origin/main frais.

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

github-actions Bot commented Sep 10, 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 10.0s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 12.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 15.5s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 14.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 11.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 9.8s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 81.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 12.7s

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

@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 github-actions Bot added the variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint) label Sep 10, 2026
@github-actions

Copy link
Copy Markdown
Contributor

G-VAR-2 light cap reached (advisory, non bloquant).
La lane myia-po-2023:CoursIA a deja consomme son budget LIGHT du jour (#15279 (merge a 2026-09-10T01:32:17Z)).
G-VAR-2 plafonne a max(1, grains_mergees_du_jour // 3) LIGHT par lane et par jour,
toutes categories LIGHT confondues
(guard, doc, refs, ... partagent un seul budget) :
c'est un RATIO, pas un plafond plat. La decision de merge reste au coordinateur.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

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

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #15445 (chore(notebooks,#15429): split T5 ML/Probas — normalisation source str->list) 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 left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

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

[Hermes] — couverture #15445 (tranche T5 du split #15429 — famille ML/Probas, 0 review cluster sur le SHA)

Vérifications :

  • Diff : 17 adds "source": [ / 17 dels "source": " — table du body exacte (Lab3×5, Lab5×5, Lab6×5, Infer-16×2), 0 string-source ajoutée.
  • Golden-Set CI 8/8 PASS au head — cohérent avec une transformation de forme uniquement.
  • Sécurité : 0 match.

⚠️ Même dérive : 4 notebooks sur 4 perdent le newline final (introduit ; base …}\n ; précédent #14642 le préservait). Non-bloquant, fix trivial au moment de la clôture du split.

Verdict : neutre et sain — même point d'hygiène familial.

…OF drift #15429)

Le writer de normalisation source str->list a perdu la newline finale des
notebooks modifies (fin `}` au lieu de `}\n` comme sur main). Restauration
d'un octet par fichier : les blobs redeviennent suffixe-identiques a main,
contain JSON/nbformat inchange.

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

Copy link
Copy Markdown
Contributor

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

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.

…lization

The split converted notebook `source` fields to the list form, moving the
blob SHAs of the registered twin pair Probas-16 Sparse-Gaussian-Process
without a re-audit. Canonical rebaseline via check_twin_parity.py --update
(after the EOF newline repair), per the twin-parity gate contract (#8057).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@myia-ai-01
myia-ai-01 merged commit a1ae006 into main Sep 11, 2026
71 of 72 checks passed
jsboige added a commit that referenced this pull request Sep 11, 2026
…ge la collision d'ordinal (See #15429)

Suite au diagnostic firsthand d'ai-01 sur #15446 : le rouge du garde n'etait pas la
normalisation str->list mais une COLLISION D'ORDINAL. La tete portait, dans chaque
repertoire, deux fichiers au meme prefixe 0010 (celui de cette PR et le
0010-2026-09-08-myia-po-2024-CoursIA-2.yaml deja sur main), et le 0011 venu de main
(#15449, T8) attestait l'etat PRE-normalisation sous un ordinal superieur a celui que
cette PR avait alloue. L'outil lit la derniere attestation : il voyait e0cc5d3 la ou
l'arbre porte 41aacfc.

Geste applique, conformement a la prescription d'ai-01 (on RETIRE l'entree dupliquee et
on re-atteste au-dessus, pas de renumeration en cascade) :
- git rm des deux 0010-2026-09-10-myia-po-2023-CoursIA.yaml (collision d'ordinal)
- le 0011 de main (T8) est conserve tel quel, byte-identique : sha256 386e2daac1a0
  (gametheory) et 00f600db8795 (sudoku) verifies contre origin/main
- --update --pair alloue 0012-2026-09-11 dans les deux repertoires

Verification:
- garde --check : les 2 paires passent. DRIFT=3 residuel = Probas-16, SW-2, SW-7,
  collisions PRE-existantes sur main introduites par a1ae006 (T5, #15445) et
  couvertes par la PR #15576 ouverte -- hors champ de cette PR.
- integrite registre : 45 passes ; le seul echec ne liste que ces 3 paires de main,
  aucune des deux de cette PR.
- diff net vs origin/main = +2 fichiers d'attestation + 2 lignes known_differences
  (le 0011 restaure etant byte-identique a celui de main).
- notebooks non touches : leur contenu est bon, la neutralite semantique de la
  conversion source str->list est verifiee (SHA canonique identique base vs head).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 12, 2026
…tion source str->list (#15446)

* chore(notebooks,#14209): tranche T7 du split -- normalisation source str->list sur GameTheory/Sudoku/RL/QC

See #15429 (T7/T8). Contenu identique cellule par cellule : 10 conversions
str->list verifiees par script (source joinee == source str d'origine, zero
drift outputs/execution_count/metadata). Reprise du contenu de
chore/14209-normalize-residue a1e83ff sur origin/main frais.

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

* chore(notebooks,#14209): restore final newline on split tranche T7 (EOF drift #15429)

Le writer de normalisation source str->list a perdu la newline finale des
notebooks modifies (fin `}` au lieu de `}\n` comme sur main). Restauration
d'un octet par fichier : les blobs redeviennent suffixe-identiques a main,
contain JSON/nbformat inchange.

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

* chore(twin-parity,#15429): rebaseline T7 twin pairs after source normalization

The split converted notebook sources to the list form, moving the blob SHAs of 2 registered twin pairs (GameTheory-10 ForwardInduction-SPE, Sudoku-14 BDD) without a re-audit. Canonical rebaseline via check_twin_parity.py --update (after the EOF newline repair), per the twin-parity gate contract (#8057).

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

* chore(ci,#15446): attestation twin parity des 2 paires T7 + renumeration du journal d'audit local (See #15429)

Le garde Twin parity audit (#8057) rougissait sur 2 paires du champ de cette PR :
GameTheory-10 ForwardInduction-SPE et Sudoku-14 BDD.

Re-audit firsthand AVANT attestation (le garde exige d'attester la parite, pas de
la reparer). Mesure sur les 4 jumeaux : le SHA canonique du carnet -- toutes les
listes-de-chaines jointes, metadata de niveau carnet exclue -- est IDENTIQUE base
(origin/main) vs head, et les champs `text` des sorties sont inchanges. L'empreinte
de forme montre la seule difference : source_str passe a 0 et source_list gagne
exactement les cellules correspondantes (GameTheory-10 Python 2->0 / 35->37 ;
Sudoku-14 C# 2->0 / 42->44). Aucun contenu pedagogique touche.
Le content_sha du registre (_content_sha hache la forme brute du JSON, donc un
re-encodage str->list le deplace autant qu'une edition de prose) bougeait sans
divergence : d'ou attestation via --update.

Collision d'index propre a la branche : les deux repertoires portaient DEUX
fichiers au prefixe 0010 (un po-2024 09-08 herite de main, un po-2023 09-10 local).
L'index zero-padde NNNN est la cle de tri de _load_audits_from_files (#14911/#15345),
donc renumeration 0011->0012 puis 0010->0011, en preservant l'ordre du journal.
Verification : le contenu de chaque fichier renomme est byte-identique a sa source
(sha256 : 7b6e04a864f1 et 386e2daac1a0 sur gametheory, 0208891eec5d et 00f600db8795
sur sudoku).
Note de lecture : git apparie 0010 -> 0013 dans l'affichage du diff (les YAML
d'attestation sont quasi identiques, l'heuristique de renommage est arbitraire ici).
Le contenu de l'arbre est le seul verdict et il est verifie : ordre final du
repertoire = 0009, 0010 (po-2024 09-08), 0011, 0012, 0013.

- 2 entrees d'audit 2026-09-11 (myia-po-2023:CoursIA), forme file-per-audit #14911
- ligne explicative en tete de known_differences de chaque paire
- per-pair vs origin/main : INTRO=0 (etait 2), OK=154/157, PRE=3 inchange
  (Probas-16, SW-2, SW-7 : DRIFT pre-existants sur main, hors champ de cette PR)

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

* chore(ci,#15446): attestation twin parity T7 a l'ordinal 0012 — corrige la collision d'ordinal (See #15429)

Suite au diagnostic firsthand d'ai-01 sur #15446 : le rouge du garde n'etait pas la
normalisation str->list mais une COLLISION D'ORDINAL. La tete portait, dans chaque
repertoire, deux fichiers au meme prefixe 0010 (celui de cette PR et le
0010-2026-09-08-myia-po-2024-CoursIA-2.yaml deja sur main), et le 0011 venu de main
(#15449, T8) attestait l'etat PRE-normalisation sous un ordinal superieur a celui que
cette PR avait alloue. L'outil lit la derniere attestation : il voyait e0cc5d3 la ou
l'arbre porte 41aacfc.

Geste applique, conformement a la prescription d'ai-01 (on RETIRE l'entree dupliquee et
on re-atteste au-dessus, pas de renumeration en cascade) :
- git rm des deux 0010-2026-09-10-myia-po-2023-CoursIA.yaml (collision d'ordinal)
- le 0011 de main (T8) est conserve tel quel, byte-identique : sha256 386e2daac1a0
  (gametheory) et 00f600db8795 (sudoku) verifies contre origin/main
- --update --pair alloue 0012-2026-09-11 dans les deux repertoires

Verification:
- garde --check : les 2 paires passent. DRIFT=3 residuel = Probas-16, SW-2, SW-7,
  collisions PRE-existantes sur main introduites par a1ae006 (T5, #15445) et
  couvertes par la PR #15576 ouverte -- hors champ de cette PR.
- integrite registre : 45 passes ; le seul echec ne liste que ces 3 paires de main,
  aucune des deux de cette PR.
- diff net vs origin/main = +2 fichiers d'attestation + 2 lignes known_differences
  (le 0011 restaure etant byte-identique a celui de main).
- notebooks non touches : leur contenu est bon, la neutralite semantique de la
  conversion source str->list est verifiee (SHA canonique identique base vs head).

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

---------

Co-authored-by: jsboige <jsboige@gmail.com>
Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
myia-ai-01 pushed a commit that referenced this pull request Sep 13, 2026
… SW-7) -- attestation T8 restauree au rang latest (#15970)

La normalisation source str->list (#15444/#15445, merge 2026-09-11) etait
correctement attestee par #15449 (T8), mais le journal file-per-audit porte
une inversion d'ordre : par paire, l'entree du 09-10 a shas POST-tranche est
suivie d'une entree a shas PRE-tranche ecrite en dernier dans la meme PR ;
_latest_audit lit audits[-1], donc la garde comparait HEAD post-tranche a une
baseline pre-tranche -> 3 DRIFT fantomes sur main. Le renumber #15576
(#15345) a preserve l'ordre relatif, l'inversion a survecu.

Zero edition de notebook : texte rendu identique verifie programmatiquement
sur les 3 fichiers modifies par la tranche (Infer-16 C# 32 cellules, SW-2b
43, SW-7b 48 -- comparaison normalisee join-liste vs str, aucune divergence,
outputs/ids/ordre intacts).

Rebaseline d'attestation par script : 3 entrees audit 2026-09-13 (shas HEAD,
egaux aux entrees T8 enterrees 0009/0006/0007) + narrations known_differences.
--update en DERNIERE operation (cf #8957).

Verifications : check_twin_parity --check -> 157/157 OK DRIFT=0 ;
test_twin_registry_integrity -> 46 passed.

See #15429
See #15345

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

pr-overlap Advisory: another open PR touches the same files (organ #13615) variation-light-cap-reached Lane ayant deja merge une LIGHT aujourd'hui (cap G-VAR-2 atteint)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants