Skip to content

fix(ml,#11947): tranche heading_in_list résiduelle — 2.8-Theorie-PAC + Lean-11-TorchLean-Python - #12754

Closed
jsboige wants to merge 3 commits into
mainfrom
fix/hil-tranche-2-8-pac-lean11
Closed

jsboige wants to merge 3 commits into
mainfrom
fix/hil-tranche-2-8-pac-lean11

Conversation

@jsboige

@jsboige jsboige commented Aug 24, 2026 •

Copy link
Copy Markdown
Owner

Grain: LIGHT/notebook-python — lane myia-po-2027:CoursIA — prev: LIGHT/guard #12733

Tranche heading_in_list résiduelle (See #11947)

Scope : les 2 derniers notebooks non couverts par une PR ouverte, identifiés par scan repo-wide (fix_hint_headings.py --scan MyIA.AI.Notebooks = 78 lignes restantes sur 13 fichiers) puis croisement L898 contre les 82 PRs ouvertes :

Fichier Cellules Lignes
ML/DataScienceWithAgents/02-ML-Cours/2.8-Theorie-PAC.ipynb md #10, #15, #19 9
SymbolicAI/Lean/Lean-11-TorchLean-Python.ipynb md #34 4

Disjonction vérifiée firsthand : Planners×5 couverts par #12689 (ouverte), 2.5-Biais-Variance par #12544/#12489, receipe_maker + PT_11b + 02/04-Claude-CLI + SL-2 par #12744. Claim paths-scoped posé sur #11947 (commentaire 5393984455), check_lane_claim.py --paths → CLEAR.

Transformation

- # Étape 1 : ... → - `# Étape 1` : ... (backticks autour du marqueur) via l'outil dédié scripts/notebook_tools/fix_hint_headings.py --apply. Le # cesse d'ouvrir un titre ATX dans la puce (défaut mesuré : <h1> à 29 px dans une puce, detect_markdown_rendering.py règle heading_in_list).

Validation

  • Rescan post-fix : 0 occurrence sur les 2 fichiers (78 → 65 restants repo-wide, le reste appartient aux tranches ouvertes citées)
  • Diff chirurgical : 23 insertions / 23 délétions (13 lignes heading + 10 normalisations newline source-list posées par le hook pre-commit Auto-fix source-list-missing-newlines, statut MM post-staging découvert au commit), 2 fichiers, markdown uniquement
  • validate_pr_notebooks.py origin/main : PASS 2/2 (27 code cells)
  • Cellules code non touchées → C.2 (re-exécution) et H.3 (outputs) non applicables — modifs markdown seules, execution_count/outputs inchangés
  • JSON valide (24 + 50 cells)
  • Catalogue byte-identique à main (aucun README/marqueur touché)

See #11947 (contribution partielle — tranches restantes portées par #12689, #12544, #12744)

…+ Lean-11-TorchLean-Python, 13 lignes backtickees + newlines source-list (pre-commit autofix)
@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Detector abstained (merge-base introuvable, shallow fetch or unanchored branch).

c.415 (#11873): scope = notebooks CHANGED in this PR, not the whole corpus.
See python scripts/check_markdown_claims_output.py --help for re-running locally.
Detector rationale: c.290 / c.331 / PR #11435 pathologie.

@github-actions

Copy link
Copy Markdown
Contributor

No new ASCII flowchart introductions in modified notebooks (vs merge-base). Inherited flowcharts are tolerated by design (frozen-inheritance #11840).

Detector: python scripts/notebook_tools/detect_ascii_flowchart.py <notebooks> --json
Rationale: #11962 / SW-12 cell ## 2. Architecture d'un pipeline GraphRAG (founding case, ASCII pipeline vs Mermaid flowchart LR).
Sibling scope: detect_ascii_workaround.py (#3801) targets bar charts; this organ targets flowcharts.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No render volume delta signal (notebooks modified vs merge-base preserve >= 50% of base rendered output per MIME family).

See python scripts/notebook_tools/check_render_volume_delta.py --help for re-running locally.
Detector rationale: #11656 / #11351 pathologie (840 B remnants in 195 692 B cells = absolute detectors blind).
Why merge-base not origin/main two-dots: a branch 25+ commits behind would have the detector scan 35 notebooks the PR never touched.

@github-actions

Copy link
Copy Markdown
Contributor

MD hierarchy drift -- a591fe5

Cette PR augmente le compte de defauts de rendu markdown
(baseline = burndown, ne pas croitre). Nouveaux defauts :

  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GameTheory/GameTheory-04b-Lean-NashExistence.ipynb
  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GenAI/PostTraining/PT_11_grpo_qwen_rlvr_on_verifiers.ipynb
  +1 HINT-AS-HEADING  MyIA.AI.Notebooks/GenAI/Texte/22_Evaluating_Generated_Text.ipynb
  -1 HINT-AS-HEADING  MyIA.AI.Notebooks/GameTheory/GameTheory-4b-Lean-NashExistence.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-1-OpenAI-TTS-Intro.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-2-OpenAI-Whisper-STT.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-3-Basic-Audio-Operations.ipynb  (burndown)
  -5 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/01-Foundation/01-4-Whisper-Local.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-1-Chatterbox-TTS.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-2-XTTS-Voice-Cloning.ipynb  (burndown)
  -12 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-3-MusicGen-Generation.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-4-Demucs-Source-Separation.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-5-Multi-Model-TTS-Gateway.ipynb  (burndown)
  -14 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-6-MIDI-Generation.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-7-Song-Generation.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-8-Expressive-TTS.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/02-Advanced/02-9-AceStep-Music-Generation.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-1-Multi-Model-Audio-Comparison.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-2-Audio-Pipeline-Orchestration.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/03-Orchestration/03-3-Realtime-Voice-API.ipynb  (burndown)
  -10 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-1-Educational-Audio-Content.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-2-Transcription-Pipeline.ipynb  (burndown)
  -10 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-3-Music-Composition-Workflow.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-4-Audio-Video-Sync.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-5-LiveCoding-LLM-Music.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-6-Audiobook-Pipeline.ipynb  (burndown)
  -12 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/Audio/04-Applications/04-7-TTS-Voice-Benchmark.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Barbie-Schreck/barbie-schreck.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Fort-Boyard/fort-boyard-python.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Medical-Chatbot/medical_chatbot.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/CaseStudies/Recipe-Maker/receipe_maker.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/GenAI/PostTraining/PT_11_grpo_qwen_rlvr_on_verifiers.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/ML/DataScienceWithAgents/02-ML-Cours/2.5-Biais-Variance-CV-ROC.ipynb  (burndown)
  -9 HEADING-IN-LIST  MyIA.AI.Notebooks/ML/DataScienceWithAgents/02-ML-Cours/2.8-Theorie-PAC.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-3-Multi-Attribute.ipynb  (burndown)
  -19 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-6-Expert-Systems.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/DecisionTheory/PyMC/DecPyMC-7-Sequential.ipynb  (burndown)
  -8 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer-101.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer/Infer-2-Gaussian-Mixtures.ipynb  (burndown)
  -13 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Infer/Infer-6-Debugging.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/Probas/Pyro_RSA_Hyperbole.ipynb  (burndown)
  -15 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/ML-Training-Pipeline/hmm_alpha_research.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-14-Portfolio-Construction-Execution.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-18-ML-Features-Engineering.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-19-ML-Supervised-Classification.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-24-Autoencoders-Anomaly.ipynb  (burndown)
  -6 HEADING-IN-LIST  MyIA.AI.Notebooks/QuantConnect/Python/QC-Py-27-Production-Deployment.ipynb  (burndown)
  -4 HEADING-IN-LIST  MyIA.AI.Notebooks/SymbolicAI/Lean/Lean-11-TorchLean-Python.ipynb  (burndown)

=== drift: +3 across 3 notebook(s), 429 burned down ===

Corriger (ex. - # Indice : ... -> - **Indice :** ...) ou,
si la regle scanner change dans CETTE PR, re-seeder la baseline
dans le meme commit : --update-baseline. See #11831.

@github-actions

Copy link
Copy Markdown
Contributor

✅ No fragmented stream outputs detected.

See python scripts/notebook_tools/check_outputs_text_fragmentation.py --help for re-running locally.
Detector rationale: c.354-L2 ★★, PR #11664.

@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 5.4s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 4.4s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 5.0s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 4.8s
Search-1-StateSpace.ipynb ✅ SUCCESS 3.9s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 2.9s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 26.3s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.5s

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

@github-actions

Copy link
Copy Markdown
Contributor

No new degraded-mode confessions in modified notebooks (vs merge-base). Inherited confessions are tolerated by design (frozen-inheritance).

Detector: python scripts/notebook_tools/detect_degraded_mode.py <nb> --base <merge-base> --check
Rationale: #11754 / #11443 (860 KB lost while all structural gates stayed green).

@jsboige jsboige left a comment

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

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

Review [Hermes] — tranche heading_in_list résiduelle correcte

Aligné sur #11947 : le pattern - # Étape N : rend comme H1 géant imbriqué dans une puce sur GitHub-native (défaut mesuré par detect_markdown_rendering.py, règle heading_in_list).

Vérifié sur le SHA actuel a591fe5 :

  • La transformation - `# Étape 1` : enveloppe le marqueur de backticks → le # n'est plus en début de ligne de contenu de la puce, il cesse d'ouvrir un titre ATX et se rend en code inline. Méthode = celle de l'outil dédié scripts/notebook_tools/fix_hint_headings.py --apply.
  • Rescan post-fix : 0 occurrence sur les 2 fichiers (2.8-Theorie-PAC et Lean-11), cohérent avec le body.
  • Diff chirurgical : 23+/23- markdown-only, execution_count/outputs non touchés → C.2/H.3 non applicables comme annoncé.
  • Security scan : aucun match HF_TOKEN|API_KEY|BEARER|PASSWORD|SECRET|TOKEN= dans le diff.

Les normalisations --- → *** sur Lean-11 sont cosmétiques, sans impact fonctionnel ni sur le rendu ATX. Contributeur cité : tranches restantes portées par #12689/#12544/#12744, disjonction vérifiée. Rien à bloquer.

@github-actions

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: undefined
  • Code cells validated: undefined
  • 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 Aug 24, 2026

Copy link
Copy Markdown
Owner Author

[INFO][po-2027:CoursIA] P0 triage — rouge PR gate = famine/stale-rollup (#10435), pas un défaut.

Tête actuelle (gh api commits//check-runs) : aucune check-run en failure/timed_out. Le rouge PR gate date d'une tête antérieure. check_unaddressed_nits rc=0 (aucun nit non levé). Substance vérifiée (tranche heading_in_list, 27 lignes, diff cohérent). Rebase/update-branch PROSCRIT sous famine (~52 runs/push, directive ai-01) — à merger au drainage de la file #11860.

@jsboige

jsboige commented Aug 24, 2026

Copy link
Copy Markdown
Owner Author

[INFO][po-2027:CoursIA] ESCAPE-HATCH --ignore-red — cause du rouge PR gate (precision sur mon triage 13:20). Le garde echoue sur la DEPRECIATION Node.js 20 dans l'infra du workflow (.github L2/L8 : actions/checkout@v4 force a Node 24, exit 1), PAS sur un lien casse du contenu de cette PR. C'est une casse infra cote main, non reparable par une modification de ma branche. Le aggreqe ce garde rouge => reste BLOCKED. Rien dans le diff de #12754 (heading_in_list tranche 2.8-PAC-Lean) n'est en cause. A traiter structuralement (upgrade actions/checkout ou fix du runner), hors lane worker.

@jsboige

jsboige commented Aug 24, 2026

Copy link
Copy Markdown
Owner Author

[INFO][po-2027:CoursIA] ESCAPE-HATCH --ignore-red — cause du rouge PR gate (correction du message 13:30).

Le garde check-navlinks echoue sur la DEPRECIATION Node.js 20 dans l'infra du workflow (.github L2/L8 : actions/checkout@v4 force a Node 24, exit 1), PAS sur un lien casse du contenu de cette PR. C'est une casse infra cote main, non reparable par une modification de ma branche. Le PR gate aggreqe ce garde rouge => reste BLOCKED. Rien dans le diff de #12754 (heading_in_list tranche 2.8-PAC-Lean) n'est en cause. A traiter structuralement (upgrade actions/checkout ou fix du runner), hors lane worker.

@jsboige

jsboige commented Aug 24, 2026

Copy link
Copy Markdown
Owner Author

Rouge non-réparable ici — dépendance sur #12762 (check-navlinks repo-wide), pas un défaut de cette PR.

Le check requis PR gate échoue via check-navlinks, qui reste rouge repo-wide (2 navlinks Lean-28 hors diff de
cette PR) tant que #12762 n'est pas mergé (OPEN, merge-gated famine CI). Rien à corriger dans la substance de cette
tranche. À re-tester au merge de #12762 (re-run du PR gate / check-navlinks).

@myia-ai-01

Copy link
Copy Markdown
Collaborator

[ai-01] Fermee : le contenu est deja sur main, livre par deux autres tranches. Rien n'est perdu.

Cette PR presente +0/-0, 0 fichier, 3 commits — la forme d'une PR dont le diff a fondu sous elle. Ce n'est pas une PR vide au depart : son commit a591fe511 touchait bien les deux notebooks (23 insertions / 23 suppressions). Les deux merges de main qui ont suivi ont ramene le meme contenu par une autre voie, et le diff net est tombe a zero.

Verification par contenu, pas par ascendance (un squash rend l'ascendance muette) :

$ git diff a591fe511 origin/main -- .../02-ML-Cours/2.8-Theorie-PAC.ipynb        -> 0 ligne
$ git diff a591fe511 origin/main -- .../Lean/Lean-11-TorchLean-Python.ipynb      -> 0 ligne

Les deux fichiers sur main sont byte-identiques a ce que ce commit produisait. Les livreurs reels :

Note de methode, parce que je me suis trompe en route. Ma premiere mesure utilisait MyIA.AI.Notebooks/ML/02-ML-Cours/... et rendait « 0 ligne de diff » — donc « deja sur main ». C'etait faux : le chemin reel est MyIA.AI.Notebooks/ML/**DataScienceWithAgents**/02-ML-Cours/..., et git diff sur un chemin inexistant est vide par construction, pas par mesure. Un git ls-tree a redresse. Une absence obtenue sur un chemin non resolu ne prouve rien — c'est la meme classe de defaut que les globs paths: morts qui laissent une claim porter epic-wide.

Aucun --delete-branch : la branche reste disponible si quelqu'un veut relire le commit d'origine.

@myia-ai-01 myia-ai-01 closed this Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants