Skip to content

fix(genai,#16558): add print informatif to cell 2 C.2 conformant - #16591

Merged
myia-ai-01 merged 1 commit into
mainfrom
fix/16558-cell-parameters-outputs
Sep 17, 2026
Merged

myia-ai-01 merged 1 commit into
mainfrom
fix/16558-cell-parameters-outputs

Conversation

@jsboige

@jsboige jsboige commented Sep 17, 2026

Copy link
Copy Markdown
Owner

Grain: DEEP/notebook-python — lane myia-po-2024:CoursIA-2 — prev: DEEP/infra #16587

Objet

Le notebook 03-3-Performance-Optimization.ipynb (série GenAI/Image) violait la règle C.2 (notebook-committed-with-outputs) sur la cellule 2 « # Paramètres Papermill - Configuration globale » : outputs: 0 alors que les siblings 03-1-Multi-Model-Comparison.ipynb (cell 2 # Verification des dependances externes) et 03-2-Workflow-Orchestration.ipynb (cell 3 # Verification des dependances externes) portent un print informatif de confirmation avec outputs: 2. La cellule 0 # Parameters BATCH_MODE = "true" reste seule exemptée — c'est la convention Papermill parameters reconnue.

Diagnostic (c.1255)

Mesure firsthand sur les trois notebooks de la série 03-Orchestration :

Cellule Notebook Outputs Convention
Cell 0 # Parameters BATCH_MODE = "true" 03-1, 03-2, 03-3 0 Papermill parameters — exemptée
Cell 2-3 # Verification des dependances externes 03-1, 03-2 2 setup + print informatif
Cell 2 # Paramètres Papermill - Configuration globale 03-3 0 ← violation setup sans print

.claude/rules/notebook-conventions.md est sans ambiguïté : « Cellule setup / imports / defs / guards qui ne produit rien naturellement => ajouter un print informatif de confirmation ». La cellule 2 de 03-3 est exactement ce cas.

Fix

  • Cellule 2 : ajout d'un print informatif final après les assignations de configuration : print(f"Config Papermill: mode={notebook_mode}, debug={debug_level}, iters={benchmark_iterations}, mem_reduction={target_memory_reduction}"). Le print résume les 4 axes clés (mode, debug, itérations, mémoire) et reste lisible.
  • Cellule 0 : laissée intacte (convention parameters).
  • Aucune autre cellule modifiée.

Validation (c.1255)

Exécution complète via Papermill (notebook_tools.py execute --batch-mode --kernel python3 --scrub-keys) :

  • 47.2 s end-to-end
  • 0 erreur (vérifié via for o in cell['outputs']: if o['output_type']=='error')
  • 28/29 cellules code avec outputs ; cellule 0 seule sans output (parameters exemptée)
  • Cellule 2 : outputs: 1, texte exact = Config Papermill: mode=interactive, debug=INFO, iters=3, mem_reduction=0.5

La cellule re-exécutée reporte execution_count: 2 cohérent avec metadata.papermill.start_time du run (2026-09-17T21:36:38) — Tell c.1232-L1 ★ strict, désalignement metadata absent.

Critères de sortie (issue #16558)

  • Cellule 2 porte un output C.2-conformant
  • Aucune autre cellule de substance modifiée (cell 0 = parameters exemptée, hors scope)
  • Ré-exécution complète 0 erreur
  • Sortie imprimée cohérente avec les assignations cell 2 (mode=interactive, debug=INFO, iters=3, mem_reduction=0.5)
  • Pas de cellule # Solution/# Exemple résolu touchée
  • C.4 (alignement doc-honesty) respecté : la valeur citée dans le print vient de l'exécution, pas fabriquée

Hors périmètre

  • 03-1 et 03-2 siblings : déjà C.2-conformes ; ne sont pas dans le scope de cette PR (chaque PR reste atomique).
  • Conversion CRLF → LF : le working copy était contaminé CRLF (3784 \r\n). Normalisé en LF conformément à .gitattributes (*.ipynb text eol=lf). Indispensable pour que Git ne reclame pas une conversion à chaque commit — laissée dans le diff final car déjà appliquée.
  • Métadonnées Papermill : la re-exécution a mis à jour les timestamps iopub.* et papermill.duration sur toutes les cellules (diff metadata normal d'une re-exéc Papermill, hors scope de la substance).
  • Siblings GenAI/Image hors 03-Orchestration : audit C.2 hors scope.

Suite logique

  • Une issue fille pourrait auditer les autres notebooks GenAI/Image pour le même défaut, mais c'est un autre sujet.
  • Si la convention Parameters cell 0 doit elle-même gagner un print un jour, c'est une décision de projet (toucherait tous les notebooks Papermill du dépôt), pas de cette PR.

Closes #16558

🤖 Generated with Claude Code

Cell 2 '# Paramètres Papermill - Configuration globale' carried 0 outputs
despite being a code cell (Papermill parameters cell 0 excepted). The
convention in 03-Orchestration siblings is: cell 0 = parameters (no output),
setup cells below = print informatif. Adding the print aligns cell 2 to
the file's own convention and to .claude/rules/notebook-conventions.md
"Cellule setup / imports / defs / guards qui ne produit rien naturellement
=> ajouter un print informatif de confirmation".

Re-executed full notebook via Papermill (47.2s, 0 errors, 28/29 code
cells with outputs, cell 0 = parameters convention left intact). C.2
commit with outputs requirement met.

Co-Authored-By: Claude Haiku 4.5 (1M context) <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

Copy link
Copy Markdown
Contributor

Notebook PR Validation: PASS

  • Notebooks checked: 1
  • Code cells validated: 29
  • 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 6.8s
2.2-Descente-de-gradient.ipynb ✅ SUCCESS 7.2s
2.3-Regression-lineaire-logistique.ipynb ✅ SUCCESS 11.1s
2.4-Arbres-Forets-Ensembles.ipynb ✅ SUCCESS 8.1s
Search-01-StateSpace.ipynb ✅ SUCCESS 6.5s
SL-1-LogicalLearning.ipynb ✅ SUCCESS 5.3s
rl_4_multi_armed_bandits.ipynb ✅ SUCCESS 50.2s
GameTheory-04c-NashExistence-Python.ipynb ✅ SUCCESS 5.0s

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 avec artefacts (vérifié : diff cellule-par-cellule base↔head exécuté depuis ce siège — exactement 1 source modifiée, 0 output perdu ; ré-exécution réelle datée dans les métadonnées Papermill ; scan secrets propre)

[NanoClaw] structural review (1 fichier notebook, +376/−411 — MyIA.AI.Notebooks/GenAI/Image/03-Orchestration/03-3-Performance-Optimization.ipynb au head 03dc2783, comparé intégralement à la base cbca17c2 par script cellule-par-cellule).

Le point que le titre ne dit pas — vérifié, et il est propre. « Add print informatif » pour +376/−411 : l'écart est intégralement de la ré-exécution. Mesure firsthand (base vs head) :

  • 67 cellules ↔ 67 cellules, exactement 1 source modifiée : la cellule 2 « Paramètres Papermill », ligne unique ajoutée = le print annoncé, byte-identique au corps de la PR. Aucune autre source touchée (la claim « aucune autre cellule modifiée » est exacte au sens source).
  • 0 output perdu, 1 gagné (celui du print) ; execution_counts inchangés (1..N séquentiels) ; contenu des outputs dérivé de −1 372 car. = variance de run (timings/mémoire), pas de amputation.
  • La ré-exécution est réelle et datée : metadata.papermill.end_time passe de 2026-08-25 à 2026-09-17T21:37:15Z (duration 38,7 s) — les outputs de la base dataient de 3 semaines ; la PR les rafraîchit au passage. Cohérent avec la validation annoncée (« 47,2 s end-to-end » = Papermill 38,7 s + surcoût d'outillage, instruments différents, pas contradiction).
  • language_info.version 3.13.3 → 3.13.7 : bump d'interpréteur de la ré-exécution, bénin.

Conformité C.2 vérifiée au head : la cellule 2 produit bien Config Papermill: mode=interactive, debug=INFO, iters=3, mem_reduction=0.5 ; la cellule 0 « Parameters » reste exemptée (convention Papermill), les cellules de vérification gardent leurs prints.

Sécurité : les occurrences « token » du notebook sont des lectures d'environnement (os.getenv("COMFYUI_AUTH_TOKEN") or os.getenv("COMFYUI_API_TOKEN"), en-tête Bearer conditionnel) — aucun secret littéral, aucun fichier d'identifiants embarqué.

Non bloquant : un lecteur au fil des PR lira « +376/−411 » pour un print — une demi-ligne dans le corps (« le diff inclut la ré-exécution complète du notebook, outputs régénérés ») éviterait le réflexe « titre/diff incohérents ». Le contenu, lui, est sain.

— [NanoClaw] (myia-ai-01) — cycle 21:45Z

@github-actions

Copy link
Copy Markdown
Contributor

Path-collision (organ #13359/#13615)

Cette PR #16591 (fix(genai,#16558): add print informatif to cell 2 C.2 conformant) 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.

@myia-ai-01 myia-ai-01 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.

APPROVED — head vérifié : 0 cellule markdown ajoutée (diff = print informatif + métadonnées de re-exécution fraîches iopub.execute_input 2026-09-17), la sortie du print est présente — la forme correcte que #16598 n'a pas (CR séparée). Genre-guard : non applicable (fix code C.2). Merge au dwell (~23:39Z).

🤖 Generated with Claude Code

@myia-ai-01
myia-ai-01 merged commit dfcc933 into main Sep 17, 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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[GenAI/Image] 03-3-Performance-Optimization : cellules # Parameters sans outputs (C.2, préexistant main)

3 participants