Skip to content

Fix(ML,#23384): 3.8-Representations-Contrastives -- convergence du kernel canon 3.13.14 - #23503

Merged
jsboige merged 1 commit into
mainfrom
feat/rep38-canon313
Oct 31, 2026
Merged

jsboige merged 1 commit into
mainfrom
feat/rep38-canon313

Conversation

@jsboige

@jsboige jsboige commented Oct 30, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python — lane myia-po-2024:CoursIA — prev: MED/notebook-python #23493

Resume

Tranche de convergence 3.13 du census (#23384) sur MyIA.AI.Notebooks/ML/DataScienceWithAgents/03-Deep-Learning/3.8-Representations-Contrastives.ipynb (famille kernelspec python3, 330 carnets hors canon).

Le carnet est déjà seedé (np.random.default_rng(42) plus des flux dédiés default_rng(0) et default_rng(1)). La ré-exécution sur le kernel canon reproduit les mêmes valeurs : 0 cellule à sortie dérivée sur le texte, 0 valeur de prose périmée sur les 51 épingles du carnet. Le seul contenu qui bouge est la version du kernel.

Verdict SOTA : SOTA-OK — sortie du vrai kernel (numpy / matplotlib), aucun repli, aucune sortie fabriquée.

Ce que change la PR

  • language_info.version 3.11.9 → 3.13.14 (kernelspec python3 inchangé) ;
  • les horodatages d'exécution (metadata.papermill / metadata.execution), conséquence mécanique de la ré-exécution.

Ce qui diffère sans être du contenu, vérifié cellule par cellule :

Cellule Différence Pourquoi ce n'est pas un contenu
8 même texte, découpé en 2 blocs stream au lieu d'1 frontière de flush du kernel
17 même texte, découpé en 9 blocs au lieu de 6 idem
26 octets du PNG matplotlib (69 176 → 69 104) rendu différent entre versions ; le text/plain de la figure est identique

13/13 sources de code identiques à la base, 0 execution_count modifié, 0 ligne de prose modifiée, 0 sortie de texte modifiée.

Diagnostic dérive

  • (a) env / kernel seulement : sorties commitees produites par Python 3.11.9, canon 3.13.14. Pas de stochasticité non seedée (le carnet seede déjà ses trois flux), pas de dépendance brisée, pas de claim fabriquée.
  • Verdict : CAUSE_FIXED.

Preuves d'execution

  • papermill sur le carnet du worktree, kernel python3 (3.13.14) : rc = 0, 40 cellules, 13 cellules de code, 0 erreur, tous les execution_count renseignés.
  • Ancrage de la prose : 0 épingle périmée sur les 51 valeurs numériques citées (ancrage sensible au nombre de décimales — une valeur est ancrée si une sortie committée s'arrondit à sa précision).
  • Volume de sortie identique : check_output_collapse → 3122 → 3122.
  • Pre-commit : tous les hooks applicables passés, dont H.3 ; scrub-papermill-paths a normalisé en basename les chemins absolus de metadata.papermill (métadonnée, pas une sortie).

Organes sur le diff commite (origin/main...HEAD, merge-base 41b6928ab26)

Organe Verdict
check_stale_claims 0 finding
check_factual_mislabel 0 finding
check_kernel_drift 0 finding (transition 3.11.9 → 3.13.14 connue pour python3)
check_output_collapse 0 flaggé (3122 → 3122)
check_output_failure_text 0 régression
check_markdown_claims_output 13 findings — 13 sur origin/main, mêmes cellules : hérités, non introduits (advisory, pas une porte de merge)
Twin parity sans objet : aucune paire FR/.NET n'est enregistrée pour ce carnet dans twin_pairs.d/ (vérifié dans le registre)

Portée

Un seul fichier, un seul sujet : la version du kernel. Aucun changement de code, de sortie de texte, de prose, de bibliographie ni de kernelspec.

See #23384

🤖 Generated with Claude Code

…rnel canon 3.13.14

Re-execution complete sur le kernel canon (`language_info.version` 3.11.9 ->
3.13.14, kernelspec `python3` inchange).

Le carnet est deja seede (`np.random.default_rng(42)`, flux dedies 0 et 1) : la
re-execution reproduit **les memes valeurs**. 0 cellule a sortie derivee sur le
texte, **0 valeur de prose perimee** sur les 51 epingles du carnet, 13/13
sources de code identiques, 0 `execution_count` modifie.

Ce qui differe, et pourquoi ce n'est pas un contenu :
- cellules 8 et 17 : meme texte, decoupe en davantage de blocs `stream`
  (frontiere de flush du kernel) ;
- cellule 26 : octets du PNG matplotlib (rendu different entre versions), le
  `text/plain` de la figure est identique.

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

⚠️ 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

✅ 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

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.

@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 github-actions Bot added the variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur) label Oct 30, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Golden-Set Execution (H.7 P3)

✅ 9/9 notebooks passed (certified reproducible)

Notebook Status Time
2.1-Workflow-ML.ipynb ✅ SUCCESS 4.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.6s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.3s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.9s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.1s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.6s
RL-04-Bandits-Manchots-Python.ipynb ✅ SUCCESS 26.1s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.3s
GameTheory-13d-Optimistic-CFR-Python.ipynb ✅ SUCCESS 17.2s

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: 13
  • 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 merged commit c3d9425 into main Oct 31, 2026
90 of 91 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

variation-adjacency-deep-med Adjacence DEEP/MED hors LIGHT : §2 l'autorise si substance distincte (coordinateur)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant