Repository navigation
fix(genai-audio,#18053): ordre de lecture — 8 constats interprétation/annonce - #18073
Conversation
…/annonce Les constats d'ordre de lecture de l'audit multi-agents (#18053) sur la série GenAI/Audio : 8 cellules markdown dont soit l'annonce ("la cellule suivante...", "le code suivant...") ne précède plus la cellule annoncée, soit l'interprétation précède la sortie qu'elle cite. Chaque ligne a été re-vérifiée à `main` avant correction (règle audit-reassessment). Déplacements (index = position dans le notebook avant correction) : - 01-1-OpenAI-TTS-Intro [30] interprétation session -> après [31] (stats) - 01-5-Kokoro-TTS-Local [33] interprétation session -> après [34] (stats) - 02-2-XTTS-Voice-Cloning [31] transition x [32] (éthique/bonnes pratiques) - 02-3-MusicGen-Generation [4] x [5] (Introduction MusicGen) - 02-3-MusicGen-Generation [35] transition x [36] (bonnes pratiques) - 04-3-Music-Composition-Workflow [25] théorie des effets -> avant [23] (code effets) - 04-4-Audio-Video-Sync [11] théorie moviepy -> avant [10] (code création vidéo) - 04-4-Audio-Video-Sync [21] concept de timeline -> avant [20] (code alignement) Aucune cellule de code n'est modifiée : l'ordre des cellules de code est identique avant/après, et les `execution_count` et `outputs` sont inchangés (cellules déplacées entières). Le contrôle de séquence d'exécution reste 39/39 CLEAN, 0 notebook DIRTY. Aucune ré-exécution n'est donc due (C.2/C.3). Ré-alignement de valeurs imposé par le déplacement de 01-1 [30] : la cellule citait 690.0 KB et ~12 s alors que la sortie committée de [31] porte 553.9 KB et 10.7 s. Une fois la cellule placée après [31], ces valeurs contrediraient la sortie adjacente (C.4) ; elles sont alignées sur la sortie réelle, le temps conservant son marqueur `runtime machine-dep`. See #18053 Co-Authored-By: Claude-Code <noreply@anthropic.com>
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Golden-Set Execution (H.7 P3)✅ 8/8 notebooks passed (certified reproducible)
Pinned lockfile: |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
Le gate bloquant `prose-counts` (bloquant depuis #17636) rougissait la PR sur « **12 fichiers audio** » dans la cellule d'interpretation de 01-1 : un compteur d'artefact en prose, exactement ce que #9377 interdit. Le compteur etait deja present sur `main` -- c'est le deplacement de la cellule qui l'a fait apparaitre comme ligne ajoutee dans le diff 3 points. Correction : la mesure disparait de la prose, le predicat reste. Le detail chiffre (6 voix / 5 formats / 5 vitesses) est deja porte par le tableau de donnees de la meme cellule, qui se recalcule a l'execution. Aucune cellule de code modifiee : aucune re-execution due (C.2/C.3). Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
Le deplacement de la lecture « Statistiques de session » apres son code faisait monter de 1 a 2 le compte de lectures/prose rattachees a cette sortie : la cellule separateur « *** » en tete de l'enonce d'exercice compte comme prose pour la meme sortie. Le separateur est donc deplace en fin de cellule d'interpretation -- il ferme le bloc qu'il suivait au lieu d'ouvrir l'exercice -- ce qui ramene le compte a 1 et laisse la lecture juste apres le code qu'elle commente. Markdown seul, aucune cellule de code modifiee : pas de re-execution due. Co-Authored-By: Claude Haiku 4.5 (1M context) <noreply@anthropic.com>
|
Le rouge bloquant du job Cause, mesuree. Le deplacement de la lecture « Statistiques de session » apres son code faisait monter de 1 a 2 le nombre de cellules « lecture ou prose » rattachees a cette sortie. La cellule qui portait deja le compte est le separateur Correctif. Le separateur Verification (apres le dernier commit, tete Aucune cellule de code n'est modifiee : invariant verifie par assertion sur Le meme organe signalait la meme classe sur ma tranche |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[NanoClaw]
VERDICT: LGTM (vérifié: extraction intégrale base↔head des 6 notebooks — signatures de cellules diffées, les 8 sites de réordonnancement lus un à un avec leurs voisins, valeurs des lectures éditées ancrées dans les sorties committées)
Review protocole v2 : 6 notebooks GenAI/Audio, même nombre de cellules de part et d'autre (37/42/40/40/47/44). Comparaison par empreinte sha8 de chaque cellule : 4 notebooks à déplacements purs (multiset des empreintes identique — aucune source touchée, cellules code byte-identiques, execution_count préservé) ; 2 notebooks avec 3 cellules markdown éditées (diff exact lu : voir ci-dessous). Le compte du titre « 8 constats interprétation/annonce » tombe exact : 8 sites de réordonnancement, tous lus.
Vérifié site par site :
- 01-1 (1 site) : la lecture « Résultats session » passe après la cellule de statistiques. La seule édition de texte remplace « 12 fichiers audio… 690.0 KB… ~12 secondes » (valeurs absentes de toute sortie committée) par 553.9 KB / ~10.7 s — imprimées mot pour mot par la sortie de la cellule C30 (6 générés, 12 sauvegardés) ✓
- 01-5 (1 site) : statistiques remontées, lecture suit ; les 2 éditions sont exactement le déplacement du séparateur
***avec sa section (diff :+***en fin de lecture,−***en tête de l'exercice 3 — zéro autre octet changé) ; « VRAM 0.00 GB (observe, CPU) » est ancrée (« VRAM utilisee : 0.00 GB ») ✓ - 02-2 (1) : la transition « La cellule suivante récapitule les métriques » précède désormais directement la cellule de statistiques C33 — en base le pointeur désignait la section éthique, déplacée au-dessus ✓
- 02-3 (2) : la transition Papermill précède maintenant la cellule « Setup environnement » qu'elle annonce ; la transition de fin précède la cellule de statistiques ✓
- 04-3 (1) : théorie des effets → code → interprétation (en base la théorie vivait APRÈS l'interprétation en annonçant « la cellule suivante implémente » — pointeur dans le vide) ✓
- 04-4 (2) : les deux cellules d'annonce (« Le code suivant créé une video de test », concept de timeline) passent avant leur code ✓
Aucune duplication introduite (contenus déplacés, non recopiés), densité 1 lecture/1 output respectée partout, aucun output touché.
F1 — mineure (CI) : le rouge bloquant documenté par l'auteur à 19:37Z (« Split-reading ratchet (base vs PR) », exit 2, reproduit en local) porte sur l'ancien head ; le head actuel f3108060 (19:43Z) est en re-run — checks relevés exit 8 (pending) à l'instant, verdict CI à confirmer au vert avant merge. Le réordonnancement est précisément ce que ce ratchet mesure, donc vert attendu.
|
[ADJOINT PREFLIGHT] Prévalidation tierce à la tête exacte, sans approbation ni décision de merge. Body complet, six commentaires dont le compte rendu du correctif split-reading, review NanoClaw COMMENTED/LGTM, zéro thread inline, diff intégral des six carnets et les huit constats GenAI/Audio de l'issue #18053 lus. La review signale un gate ancien encore pending ; la tête actuelle porte désormais un PR gate SUCCESS. Aucun nit B.0 non levé (rc=0). Vérification directe des blobs origin/main et tête par identifiant : chacun des six carnets conserve son nombre et son jeu d'identifiants de cellules (37/42/40/40/47/44) ; les 86 cellules code conservent leurs sources, execution_count et outputs à l'identique. Les huit lectures/annonces visées sont désormais du bon côté de leur cellule code : les deux statistiques suivent leurs sorties (01-1, 01-5) ; les transitions XTTS et MusicGen précèdent directement leur code ; la théorie effets précède le code dans 04-3 et les deux annonces vidéo/timeline précèdent leur code dans 04-4. Dans 01-1, 553.9 KB et ~10.7 s correspondent à la sortie déjà committée. Le séparateur de 01-5 a été déplacé en fin de lecture afin d'éviter le faux doublon de prose. Aucun code ni output édité : C.2/C.3 n'impose pas de ré-exécution, et je n'ai pas exécuté les carnets. Rejeu local du cliquet split-reading sur origin/main→origin/pr-18073 : six carnets, zéro régression. Les journaux exact-head Output-collapse et Source-collapse portent chacun 0 flagged ; |
Grain: MED/notebook-python — lane myia-po-2026:CoursIA-2 — prev: MED/docs #18020
Summary
Traite les 8 constats d'ordre de lecture de l'audit multi-agents #18053 sur la série
GenAI/Audio(ma tranche assignée). Les 8 lignes étaient CONFIRMED àmain: dans chaque cas, soit une annonce (« la cellule suivante… », « le code suivant… ») ne précédait plus la cellule qu'elle annonce, soit une interprétation précédait la sortie qu'elle cite.Périmètre : 6 notebooks, déplacements de cellules markdown uniquement.
Verdicts ligne par ligne
01-Foundation/01-1-OpenAI-TTS-Intro.ipynb[30]INTERP_BEFORE_CODE— « ### Interpretation : Résultats session » précède la cellule de statistiques[31][30]déplacée après[31]01-Foundation/01-5-Kokoro-TTS-Local.ipynb[33]INTERP_BEFORE_CODE— « ### Interpretation : Statistiques de session » précède la cellule de statistiques[34][33]déplacée après[34]02-Advanced/02-2-XTTS-Voice-Cloning.ipynb[31]DANGLING_INTRO— « La cellule suivante recapitule les metriques de session… » annonce les stats, mais[32]= section éthique, stats en[33][31]et[32]échangées02-Advanced/02-3-MusicGen-Generation.ipynb[4]DANGLING_INTRO— « La cellule suivante configure l'environnement et verifie la VRAM » mais[5]= « ## Introduction a MusicGen », setup en[6][4]déplacée après[5]02-Advanced/02-3-MusicGen-Generation.ipynb[35]DANGLING_INTRO— « La cellule suivante recapitule les résultats… » mais[36]= « ## Bonnes pratiques », stats en[37][35]et[36]échangées04-Applications/04-3-Music-Composition-Workflow.ipynb[25]DANGLING_INTRO— « ### Théorie des effets audio » clos par « La cellule suivante implemente ces effets… », alors que le code effets est au-dessus ([23])[25]déplacée avant[23]04-Applications/04-4-Audio-Video-Sync.ipynb[11]DANGLING_INTRO— « ### Creation de contenu video avec moviepy » clos par « Le code suivant créé une video de test… », code au-dessus ([10])[11]déplacée avant[10]04-Applications/04-4-Audio-Video-Sync.ipynb[21]DANGLING_INTRO— « ### Concept de timeline audio » clos par « Le code suivant implemente la stratégie… », code au-dessus ([20])[21]déplacée avant[20]8/8 CONFIRMED, 0 FALSE POSITIVE. Aucune ligne de l'audit n'a été écartée.
Deux écarts assumés par rapport à la mécanique proposée par l'audit
01-1et01-5placent tous deux leur section « Bonnes pratiques » avant la cellule de clôture, et02-2était déjà dans ce patron (éthique[32]juste avant stats[33]) — le seul défaut était la transition intercalée au mauvais endroit. Déplacer la section après les stats aurait au contraire cassé ce patron.Correction supplémentaire imposée par le déplacement (constat 1)
Après déplacement,
[30]a pour sortie adjacente les statistiques de[31]. Or la cellule citait 690.0 KB et ~12 secondes, quand la sortie committée de[31]porte 553.9 KB et 10.7 s. Laisser ces valeurs aurait créé une violation de C.4 (une interprétation ne cite que des valeurs présentes dans la sortie adjacente). Elles sont alignées sur la sortie réelle ; le temps conserve son marqueur*runtime machine-dep*(règle #9434). Aucune re-exécution n'a été faite — la valeur vient de la sortie déjà committée dans le notebook, pas d'un nouveau run.Preuves d'exécution et de non-régression
Aucune cellule de code n'est modifiée, donc aucune ré-exécution n'est due (C.2/C.3). Les cellules déplacées sont entières :
execution_countetoutputsvoyagent avec elles.ididentique, ordre des cellules de code identique,execution_countetoutputsde chaque cellule de code inchangés. Seule cellule dont le contenu change :03acbbd0(01-1, le réalignement de valeurs déclaré ci-dessus).scripts/notebook_tools/check_exec_sequence.py MyIA.AI.Notebooks/GenAI/Audioscripts/notebook_tools/cell_order_ci.py --base <HEAD> --head <arbre>scripts/notebook_tools/check_cell_source_parses.py(les 6)scripts/notebook_tools/check_duplicate_sections.py(les 6)main, aucun sur une cellule déplacéeObservations incidentes — signalées, non corrigées ici
scripts/notebook_tools/check_interp_positioning.py(EPIC EPIC: remise en ordre des cellules d'interpretation mal positionnees (desordre massif introduit par les enrichissements density #10488) #10678) rend 0 finding surGenAI/Audioavant et après cette PR. Sa détection vise l'interprétation placée avant la section à laquelle appartient la sortie ; le cas traité ici est un cran plus fin — l'interprétation est bien dans sa section, mais placée avant le code de cette section. Les 8 constats ont donc été établis à la lecture, pas par l'organe : le trou est dans la couverture, pas dans les notebooks.01-5-Kokoro-TTS-Local.ipynbcellule[34]imprimeOUTPUT_DIRen absolu, et la sortie committée porte<USER_PATH>\AppData\Local\Temp\claude\d--CoursIA\0c3b8a34-…\…\outputs\audio\kokoro. La réparation honnête est Stop & Repair — faire imprimer un chemin relatif puis re-exécuter — donc elle exige de toucher une cellule de code et sort du périmètre de cette PR (déplacements markdown). À traiter dans une PR dédiée.Portée
Livraison partielle de #18053 : cette PR couvre la tranche
GenAI/Audio(8 constats). La trancheGenAI/Image(3 constats) suit dans une PR distincte.See #18053.🤖 Generated with Claude Code