Skip to content

fix(densite,#13410): relais g20-genai-5 - lectures ancrees FT-00b + NotebookMaker-batch (13 correctifs) - #16857

Merged
jsboige merged 2 commits into
mainfrom
wt/vibe-g20-genai-5
Sep 21, 2026
Merged

jsboige merged 2 commits into
mainfrom
wt/vibe-g20-genai-5

Conversation

@jsboige

@jsboige jsboige commented Sep 19, 2026

Copy link
Copy Markdown
Owner

Grain: MED/notebook-python -- lane myia-po-2025:CoursIA -- grain g20-genai-5 (densite #13410) -- prev: MED/notebook-python #16851

Scope

Contrat densité #13410 — relève de 2 notebooks GenAI :

Notebook Cellules pédagogiques livrées
MyIA.AI.Notebooks/GenAI/FineTuning/FT-00b-LoRA-Hyperparams-from-scratch.ipynb 10
MyIA.AI.Notebooks/GenAI/SemanticKernel/10a-SemanticKernel-NotebookMaker-batch.ipynb 20

Validation relay (contrôles exécutés sur c818f6abc + checkpoint 25cdbc7e9 + commit relais 3312ae6d6)

Classe « capacité fantôme » en récidive (g18 arbitre, g19 rapport+endpoint, g20 : triple récidive + vote inexistant) — 5 rewrites.

  1. Cellules : multiset full-JSON — 37/37 et 32/32 originales préservées byte-identiques, 0 dérive top-level.
  2. Anti-doublon : 0 doublon exact, 0 préfixe-380, 0 clash ajout×base (30 cellules ajoutées). Aucun dedup nécessaire.
  3. Chiffres et faits tracés — exacts au verbatim :
    • FT-00b : PyTorch 2.13.0+cpu/numpy 2.2.6 ✓b[2] ; formule y = x @ W.T + (alpha/r) * (x @ A.T) @ B.T = docstring code cell 6 verbatim ✓ ; 10000/2000 ✓b[8] ; 79.7 %/4.1 % ✓b[12] ; 18 lignes ✓b[15] (comptées) ; 65.65 %/16704/62.0 s ✓b[15] ; tableau b[18] intégralement vérifié (monotonie par colonne, budget proportionnel 522×r) ; b[21] 4.1 %/52.75 %/5130/32.1 %/2088 ✓ ; b[30] 2491.6/4278.7/6504.7/7812.9/14487.4/26985.5 ✓ ; normes b[31] ×6 ✓ ; trajectoire b[32] ×6 ✓ ; TODO stubs b[33]-b[35] intacts.
    • NotebookMaker-batch : tag parameters (code cell 4) ✓ ; BATCH_MODE = True (code cell 7, injected) ✓ ; regex de redaction C:\Users\ (code cell 22) ✓ ; update_cell définie (code cell 22 L201) ✓ ; import guard semantic_kernel (code cell 9 try/except) ✓ ; placeholder remplacé ✓b[19] ; 3× service OpenAI + group_chat ✓b[27] ; cycle Admin→Coder→Reviewer→Admin, Step=4/24, « Statut final - Approuvé: True » ✓b[29].
  4. Correctifs (13, assert-comptés ×1) :
    • Fantôme n°1 : « get_notebook_summary […] appelée par l'orchestration » — squelette TODO retournant None, appel en commentaire (exercice 1) → réécrit : le vrai mécanisme d'inspection = get_notebook_content() (13 appels dans la trace), exercice nommé avec sa spec.
    • Fantôme n°2 : « check_syntax utilise ast […] peut corriger automatiquement » — corps = TODO retournant None, ast importé mais jamais appelé (exercice 2) → réécrit : la validation effective = exécution Papermill du Reviewer.
    • Fantôme n°3 : « garantit que seul du code valide est inclus » → « couche prévue mais à compléter ; seule barrière effective = Papermill du Reviewer ».
    • Fantôme n°4 : « mécanisme de vote entre les agents » — la classe ne vote pas : is_approved + compteur de steps ; sélection = NotebookAwareSelectionStrategy (routing par statut, visible dans la trace).
    • Fantôme n°5 : « validation par l'utilisateur ou épuisement du nombre maximum de révisions » → approbation par l'état du notebook (approve_notebook de l'AdminAgent, run batch sans utilisateur) + budget max_steps=24.
    • Overclaim UI : « garantit interfaces disponibles et fonctionnelles » — contredit par la sortie elle-même (« Redémarrez le noyau si problèmes d'affichage des widgets ») et par BATCH_MODE sans UI → réécrit sur le caveat verbatim.
    • FT-00b transcription : « 6504.0 » → « 6504.7 » (b[30] verbatim).
    • FT-00b dérivé ambigu : « gain d'efficacité de 2.5× » → réancré : 2.5× moins de paramètres entraînables (2088 contre 5130), exactitude honnête vs étalon full (52.75 %) ; phrase finale tronquée complétée.
    • FT-00b garanties fabriquées : « comparaison fiable avec FT-00a » + « compatibilité avec les versions précédentes » → retirées, remplacées par les versions fixées seules.
    • Accords ×2 : « créés ni configurer » → « configurés » ; « logique métiers » → « métier ».
  5. Détecteur densité : 2/2 ≥ 1200 sur l'état final — re-mesuré APRÈS correctifs (1182 → plancher regagné par densification ancrée : merge W_eff = W + (alpha/r)(B@A) = code cell 6 verbatim ; ratios r=8/16/32 + juste rang = b[30] verbatim). Leçon g17 réappliquée.
  6. Listes source : scan fix_source_newlines vide (exit 0) ; git status du worktree : propre, 0 artefact.

Run g20-genai-5 (Mistral Vibe) — checkpoint 25cdbc7e9 + commit relais 3312ae6d6 (2 fichiers, +211/−1 vs c818f6abc).

🤖 Generated with Claude Code

jsboige and others added 2 commits September 19, 2026 03:37
…-SemanticKernel-NotebookMaker-batch (g20-genai-5)

- FT-00b-LoRA-Hyperparams-from-scratch.ipynb: 16 lectures ancrees (densite 803 -> 1192/1200)
- 10a-SemanticKernel-NotebookMaker-batch.ipynb: 20 lectures ancrees (densite 627 -> 1200+/1200)
- Convention : lectures de cellules DEMONSTRATION uniquement, outputs cites tel quel
- Respect garde-fous: UTF-8, source en liste, markdown-only, pas d'execution

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
…BM, 2 accords, 3 FT-00b, 2 densification ancre)

NBM-batch: get_notebook_summary/check_syntax/analyze_conversation = exercices TODO
(appels commentes) decrits comme mecanismes en fonctionnement ; vote inexistant
dans ApprovedBasedTerminationStrategy (is_approved + max_steps=24) ; UI "garantie"
contredite par la sortie ; accords configurer->configures, metiers->metier.
FT-00b: 6504.0->6504.7 (b[30]) ; 2.5x reancre ratio params 2088/5130 + exactitude
honnete vs etalon full ; garanties fabriquees retirees ; densification ancoree
(merge W_eff code cell 6, ratios b[30]) -> 1182->1200+.

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

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 2
  • Code cells validated: 30
  • 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

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 5.1s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 5.2s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 7.8s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 6.1s
Search-01-StateSpace.ipynb ✅ SUCCESS 4.4s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 3.3s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 30.9s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 3.7s

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

@clusterManager-Myia clusterManager-Myia left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

VERDICT: LGTM (vérifié: chiffres FT-00b retracés au verbatim sur les sorties, arithmétique cellules recomptée, 78 checks énumérés — seul rouge = minuteur DWELL)

[NanoClaw] — revue structurelle (cycle 11:15Z)

Vérifié firsthand

  • Couverture : 0 review, 4 commentaires (github-actions[bot] only), head 3312ae6d inchangé depuis la sonde 10:45Z.
  • Cellules (extract-notebook-diff) : exécutions réelles des deux côtés — FT-00b exec_count 1→11 séquentiels ; NotebookMaker logs horodatés (10:35:33), traces DEBUG tronquées-rédigées, clé API masquée (« configuree ») — pas de sortie fake repérée.
  • Chiffres tracés FT-00b (relecture croisée body ↔ sorties) : budget 62.0 s ✓ ; acc max 0.6565 (r=32, α/r=2.0) ✓ ; tableau exactitude (r, α/r) — monotonie par ligne et colonne respectée (0.1980→0.6565) ✓ ; ratios params/acc 2491.6/4278.7/6504.7/7812.9/14487.4/26985.5 — les 6 verbatim ✓ ; baseline full-FT 0.5275 @ 5130 params ✓ ; budget proportionnel 522×r sur toute la colonne params ✓.
  • Arithmétique des comptes (recomptée, pas recopiée) : body = 37 originales + 10 livrées (FT-00b), 32 + 20 (NotebookMaker) → mesuré au head : 47 et 52 cellules. Exact.
  • Correctif « capacité fantôme » n°1 (sonde structurelle) : get_notebook_summary reste bien un exercice à compléter (« Exercice a completer » en sortie), pas une capacité affichée comme appelée — cohérent avec la réécriture décrite (le vrai mécanisme = get_notebook_content, présent dans les traces).
  • Check-runs per_page=100 (78 organes) : un seul non-vert = PR gate: failure — DWELL uniquement (minuteur 120 min sur tête 10:28:15Z, écoule 12:28:15Z, « rien à corriger dans le code »). Validations bot : Notebook PR Validation PASS (30 code cells), outputs-required H.4 PASS, Golden-Set 8/8 PASS.

Non re-vérifié (dit honnêtement)

  • Les 13 correctifs un à un et la garde multiset « byte-identical 37/37 + 32/32 » : affirmées avec garde décrite, pas re-exécutées côté review (budget structurel). L'arithmétique de comptage, elle, est vérifiée (ci-dessus).
  • Les claims NotebookMaker après la cellule 10 (cycle Admin→Coder→Reviewer, « Approuvé: True », Step=4/24) : non lus cellule par cellule.

Note

L'advisory « a numeric value is not anchored » (10:29Z) est la demande de revue de prose standard du workflow densité — c'est précisément ce que cette passe couvre sur FT-00b ; le reliquat NotebookMaker reste à la discrétion de la lane.

— [NanoClaw] (myia-ai-01)

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #16857 (fix(densite,#13410): relais g20-genai-5 - lectures ancrees FT-00b + NotebookMaker-batch (13 correctifs)) 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 commented Sep 21, 2026

Copy link
Copy Markdown
Owner Author

[ADJOINT PREFLIGHT]
schema: 1
lane: myia-po-2025:CoursIA-2
pr: 16857
head: 3312ae6
complete: true
body: read
comments-reviewed: 5
reviews-reviewed: 1
threads-reviewed: 0
threads-unresolved: 0
surfaces-sha256: 9052e8ca228323e5d7f453b60d1dc5ed0cc483e4a5254578a29288ecef11e623
diff-files: 2
diff-additions: 211
diff-deletions: 1
checks: latest-wins-green
b0: clear
scope: pass
domain: pass
verdict: READY
[/ADJOINT PREFLIGHT]

@jsboige
jsboige merged commit a30c059 into main Sep 21, 2026
79 of 80 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.

2 participants