Repository navigation
fix(notebook-python,#18053): ordre code/interpretation, tranche RL - #18109
Conversation
Un constat de #18053 sur RL/rl_16_dream_rsi.ipynb, re-verifie sur main avant correction : CONFIRMED. La cellule [18] « ### Lecture du resultat (les chiffres ci-dessus sont ceux de l'execution) » lit la sortie de la cellule code [19] — la garantie d'incumbent verifiee pas a pas, replay 22.7717 puis 23.9677, valeurs presentes dans la sortie committee — et elle la precede : le titre affirme « ci-dessus » pour des chiffres qui sont en dessous. L'issue prescrit de deplacer [18] apres [19]. Mesure faite AVANT d'appliquer : ce deplacement place deux lectures sous la meme sortie ([18] puis [20], qui lit les memes ties 22.7717 / 23.9677), et le cliquet split-reading rend SECOND_READING (findings=1). Le depot applique « un output, une lecture » : les deux cellules fusionnent en une seule, placee apres [19] — la destination prescrite par l'issue est respectee, la separation disparait. Le renvoi interne de [20] (« exactement la bascule que la lecture ci-dessus annoncait ») devient « le point 1 ci-dessus », [18] n'etant plus une cellule distincte. Variante ecartee : fusionner [18] dans [17] passe le cliquet mais laisserait 22.7717 cite avant le code qui le produit — le defaut meme que l'issue decrit. Preservation verifiee mecaniquement : aucune ligne de contenu perdue entre les deux cellules d'origine et la cellule fusionnee ; seule la ligne de renvoi change, et la fin de [18] qui n'avait pas de retour a la ligne est retablie. Aucune cellule de code modifiee (signature par id, 13 cellules identiques a origin/main), aucun id duplique, format JSON inchange (indent 1 + newline). Pas de re-execution due (C.2/C.3). See #18053 Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
|
[ADJOINT PREFLIGHT] Dossier READY sur PR #18109 (lane Substance : fix(notebook-python,#18053): tranche RL (1 constat). Substance : +18/-33 sur 1 fichier. Grain État : CLEAN+MERGEABLE+rev=NONE, B.0 rc=0.
|
Grain: MED/notebook-python — lane myia-po-2026:CoursIA-2 — prev: LIGHT/tooling #18037
Tranche RL de #18053
Un constat de l'issue, re-verifie sur
origin/mainavant correction (protocole audit-reassessment).RL/rl_16_dream_rsi.ipynb[18],INTERP_BEFORE_CODE[19]qui la suit — la garantie d'incumbent verifiee pas a pas,replay 22.7717 vs incumbent 22.7717puis23.9677 vs 23.9677— et la precede : le titre affirme « ci-dessus » pour des chiffres qui sont en dessous.[19]et placee apres le code. Voir la section suivante — la destination prescrite est respectee, la forme differe, pour une raison mesuree.Concordance verifiee entre la cellule et la sortie qu'elle commente : le texte de
[18]cite22.7717et23.04 → 24.00; la sortie committee de[19]imprimereplay 22.7717 vs incumbent 22.7717 → non-régression VRAIE, et celle de[16](deux cellules au-dessus) porte la trajectoire23.0409 / 24.0000 / 23.9515. Les valeurs citees existent donc bien dans les sorties — le defaut est le placement, pas le contenu. AucunFALSE POSITIVEsur cette tranche.Le deplacement prescrit, mesure avant d'etre applique
L'issue prescrit : « Deplacer la cellule [18] apres la cellule [19] (la placer entre [19] CODE et [20] MARKDOWN) ». Cette destination place deux lectures sous la meme sortie —
[18]puis[20], qui lit les memes ties (22.7717/23.9677). Mesure sur la garde :detect_added_readingsrend 1 findingSECOND_READING.Le depot applique la regle « un output, une lecture » (« si on rajoute une lecture, on modifie le paragraphe de lecture existant, on n'en rajoute pas un deuxieme »). Les deux cellules fusionnent donc en une seule, placee apres
[19]: la destination prescrite par l'issue est respectee, la separation des deux cellules disparait. Le renvoi interne de[20](« exactement la bascule que la lecture ci-dessus annoncait ») devient « le point 1 ci-dessus », puisque[18]n'est plus une cellule distincte.Variante ecartee — fusionner
[18]dans[17]passe aussi le cliquet (findings=0) mais laisse22.7717cite avant le code[19]qui le produit : ce serait conserver le defaut meme que l'issue decrit. Mesure des deux variantes avant choix.Etat obtenu
37 → 36 cellules. La garde
Split-readingpasse depaires 2 -> 0: les deux en-tetes de lecture consecutifs disparaissent.Preservation du contenu, verifiee mecaniquement
Comparaison ligne a ligne entre les deux cellules d'origine et la cellule fusionnee : aucune ligne de contenu perdue. Deux ecarts, tous deux attendus :
[18]n'avait pas de retour a la ligne, ce qui collait sa derniere ligne au debut de[20]; la fusion retablit la separation des paragraphes.Invariant : aucune cellule de code modifiee
execution_count,outputs) ;"cell_type"touchee estmarkdown(-1, la cellule fusionnee). Aucune ligne"cell_type": "code"n'apparait ;indent=1+ newline final), detecte par aller-retour avant ecriture.Consequence : pas de re-execution due (C.2/C.3). Les sorties committes restent celles de
main.Gardes
check_split_reading_cells.py --base-ref origin/main --head HEAD0 en regression· paires 2→0check_interp_positioning.pyfindings total : 0check_cell_source_parses.pyfindings: 0#13326compilabilite, normalisations .NET/papermill)Perimetre
Un carnet, un constat. Les autres series de #18053 sont livrees par tranches separees — deja ouvertes par cette lane : GenAI/Audio (#18073), GenAI/Image (#18075), Probas/DecisionTheory (#18103), Probas/PyMC (#18106), IIT (#18107).
See #18053— l'issue porte d'autres series et reste ouverte.🤖 Generated with Claude Code