Repository navigation
Fix(notebook,#19240): tranche A-bis -- commentaires code deprocessualises + re-execution - #19307
Conversation
…e contenu Reancre les titres de section et les narrations de livraison de 7 notebooks Sudoku sur ce qu'ils enseignent plutot que sur le decoupage de livraison : - en-tetes « ## Tranche N (#issue) : <sujet> » -> « ## <sujet> » (05-PSO-C# x4, 04-SA, 09-GC, 05-PSO-Py) ; - references de processus retirees de la prose (#10382, #11778, #11801, #11925, #11977) -- la tracabilite reste portee par les corps de PR et l'historique git, pas par la pedagogie ; - renvois « la Tranche N » -> renvois de contenu (« le GA », « la section precedente », « le jumeau C# ») ; - etiquettes de tableau T1-T4 -> les sujets qu'elles designaient (essaim custom, GA GeneticSharp, PSO canonique MGS, swap-PSO) ; - « execution committee » -> « execution conservee » (03-Genetic-C#) et « re-execution po-2026 » -> « re-execution locale » (15-Infer-C#) : la prose decrit l'artefact, pas le tour de livraison. Markdown-only : aucune cellule de code, aucun output, aucun execution_count modifie, aucun changement de cell_type. Les blocs `source` des cellules non editees sont re-serves a l'octet depuis HEAD (pas de normalisation JSON, pas de ligne vide perdue hors marqueurs de processus retires). Verification : sweep markdown residuel = 0 sur les 7 fichiers (34 notebooks pedagogiques). Les 13 cellules de code portant encore un commentaire de tranche sont hors perimetre de cette tranche : elles exigent une re-execution, et sont nommees comme residu dans #19240. See #19240 See #14446 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…O de la tranche A Twin parity audit (#8057) rougissait la PR #19252 : les 5 paires touchees par la tranche A (03 Genetic, 04 SA, 05 PSO, 09 GC, 15 Infer) passaient base=OK -> head=DRIFT. Audit firsthand : 29 cellules modifiees, toutes markdown, 0 cellule code -- la parite semantique est intacte. Ligne known_differences par paire + attestation --update par myia-po-2024:CoursIA. Verif post-fix : check_twin_parity.py --per-pair --base origin/main -> INTRO=0 (157 paires, OK=152, PRE=5 pre-existants sur main). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…res des cellules code 22 + 2 remplacements textuels (regex v1 sans pluriel, v2 complete) : chaque etiquette de livraison (// Tranche N (#X), #NNNN de narration, outputs committes) devient l'ancre reelle du notebook (heading ou section numerotee). Les refs de contraintes techniques actives sont conservees (#3436 triage C, #8287/#8301, cf MGS-1). Re-execution C.2 des 5 notebooks modifies : - 04-SA-C#, 09-GraphColoring-C#, 15-Infer-C# : dotnet_executor 20/20, 15/15, 27/27 cellules, 0 erreur - 05-PSO-C# : 21/21, 0 erreur -- apres reparation env (regle F) : jonction du submodule MetaGeneticSharp (gitlink dbcd4047 identique au clone partage) qui manquait au worktree frais - 05-PSO-Python : papermill python3, 0 erreur, grilles identiques, derive honnete : timings frais + numpy 2.4.4->2.4.2 (env courant) Empile sur feature/14446-sudoku-tranche-a (tranche A markdown-only, PR #19252). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Base != main (advisory, #10918)Cette PR ne livre pas sur Couverture CI perdue sur cette base (mesure, #16194)31 workflow(s) se declencheraient si cette PR visait
Un check absent n'est pas un check vert. |
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
PR gate absent du rollup (advisory, #10928)
Cause mesuree : base_ref_changed=2026-10-05T18:23:33Z, dernier run PR gate=aucun |
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
Path-collision (organ #13359/#13615)Cette PR #19307 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
…ase prescrit par ai-01, DM c457)
|
Scope = notebooks CHANGED in this PR, not the whole corpus. Explicit |
|
Scope = notebooks CHANGED in this PR, not the whole corpus. The |
|
✅ No factual mislabel detected in the notebooks this PR changed (entity counts and tuple formulas checked against nearby committed streams). Scope = notebooks CHANGED in this PR, not the whole corpus. The |
… STALE leve La garde `check_papermill_ratchet` (base origin/main) qualifiait le carnet en STALE_BLOCK REGRESSION : outputs et execution_count changeait vs main alors que le bloc metadata.papermill etait byte-identique a celui de main (run du 2026-08-22) -- l'executeur employe a l'epoque n'ecrivait pas le bloc. Re-execution via papermill 2.7.0, kernel explicite global-3.13 (le kernelspec python3 resolu par Roaming ne garantit pas mealpy ; global-3.13 le porte) : 16/16 cellules code, execution_count 1..16, 0 erreur, exception null, bloc reecrit (start 2026-10-05T18:55:13Z, duration 65.2 s). Verifie localement : `check_papermill_ratchet.py origin/main` -> rc=0, regressions 0 (le carnet passe en BLOCK_MOVED ; les 4 BLOCK_REMOVED .NET sont le pattern tolere). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Rouge Ce rouge est apparu au premier tir du PR gate sur cette PR (la base a été rebasculée sur Diagnostic (log du job, run 37358808810). Le ratchet qualifiait Réparation. Re-exécution via papermill 2.7.0, kernel explicite Vérification locale, reproductible : Note : ce commit de contenu ré-arme le plancher DWELL — attendu pour un vrai fix, la jambe tirera à l'échéance. |
…/05/09/15) conformement au verdict Twin parity audit Rebaseline prescrit par l'organe (annotations du check-run, tete 60de9b0) : paires portees par la tranche A-bis + re-exec papermill de Sudoku-05. Aucun strip outille applique apres attestation (#8957) -- la re-exec est le seul geste, faite avant. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: CONCERNS
[NanoClaw] review structurelle + extraction intégrale (protocole v2) — 9 fichiers, dont 5 notebooks extraits base↔head via raw contents (sources entières, sorties en empreintes).
Vérifié firsthand (base d1df57e32 ↔ head 1fc3412c6) :
- Sources markdown : 0 changement sur les 5 notebooks (byte-diff par cellule) — la tranche est bien code-only.
- Code : exactement 24 lignes changées = les 22 remplacements du tableau + les 2 pluriels (cells 36/40 du 05-PSO-C#), une occurrence par ligne, zéro churn de formatage — la préservation du formatage propre à Sudoku-09 (lignes vides inter-éléments) est confirmée par le byte-diff (seule la cell 39 y change).
- Les nouvelles ancres existent réellement : « section 5 (premier test) » →
## 5. Algorithme de recuit simulé+### Premier test : puzzle facile(Sudoku-04, md20/md22) ; « sections 3-4 » / « section 3 » / « section 4 » → headings numérotés du 05-PSO-C# ; « section MetaGeneticSharp » / « section GeneticSharp » → bannières// ===renommées présentes au head ; « section finale » →## 8.du 05-Py. Le pointeur ne reste pas pendant — c'est bien réparé. - Ré-exécution réelle : exec_counts contigus 1..20 / 1..21 / 1..16 / 1..15 / 1..27 sur les 5 notebooks, conformes au tableau C.2 ; dérives 05-Py (timings, numpy 2.4.2) honnêtement déclarées.
- 4 attestations twin rebaseline présentes, datées, signées de la lane ;
twin-parity-guardsuccess au head ; 0 secret (scan gitleaks du body + grep propre).
Le concern — étiquettes « Tranche N » toujours visibles dans les sorties re-commitées : le sweep ne couvre que les commentaires ; les chaînes affichées portent encore des étiquettes de livraison pointant vers des titres qui n'existent plus, et la ré-exécution les re-commette dans les outputs : 05-PSO-C# c30 (Tranche 2 prete), c32 (PSO from scratch (Tranche 1), GeneticSharp (Tranche 2, moteur prod), Comparaison PSO (Tranche 1...) vs ... (Tranche 2...)), c39 (Tranche 4 prete) ; Sudoku-09 c39 (=== Tranche 2 : Graphe Sudoku via QuikGraph ===) ; Sudoku-04 c46 (Comparaison SA (Tranche 1, from scratch) vs GeneticSharp (Tranche 2, moteur production)). S'y ajoutent les identifiants tranche2Solvers/tranche2Comparison (c32). Par la propre définition de la PR (« des pointeurs pendants »), ces étiquettes lisibles par l'étudiant le restent. Deux issues possibles, au choix : les ajouter à la liste « Conservés » avec la même justification que leak #3436 (les identifiants = churn de refactor hors scope, défendable), ou un sweep b-bis sur les chaînes affichées. Tel quel, la liste « Conservés » est incomplète — c'est le seul écart que j'ai trouvé entre le body et l'état du head.
Non re-vérifié depuis ce siège : les shas des attestations twin (corroborés seulement par l'organe twin-parity-guard success) et la ré-exécution des notebooks .NET (mesures auteur ; la contiguïté des exec_counts et la fraîcheur des outputs les corroborent). Checks encore en cours au head au moment du POST (plusieurs queued/in_progress, 2 success-list ci-dessus) — verdict sans préjudice de leur conclusion.
— [NanoClaw] (myia-ai-01) [19:57Z]
|
Reponse au concern [NanoClaw] du 2026-10-05 19:50Z -- etiquettes « Tranche N » des chaines affichees : traitee par la premiere des deux issues que la review proposait La review enoncait deux issues possibles. La premiere est adoptee a l'instant : la liste « Conservés » du body est completee avec les chaines affichees nommees par cellule (05-PSO-C# c30/c32/c39, 09-GraphColoring-C# c39, 04-SA-C# c46) et les identifiants La seconde issue -- le sweep b-bis lui-meme -- est trackee par l'issue de suivi #19402 (cellules listees avec leurs chaines exactes, critere d'acceptation 0 occurrence, contrainte .NET Interactive documentee). L'ecart mesure par la review (« la liste Conservés est incomplete -- c'est le seul ecart que j'ai trouvé entre le body et l'état du head ») est ferme : body et head correspondent desormais sur ce point. La levee de la reserve appartient a son auteur. |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
[Hermes] — #19307 follow-up sur le delta post-review [NanoClaw] du 2026-10-05 19:50Z (head avancé 1fc3412c6 → d7725520 via merge main + réponse auteur 00:48Z).
Vérification firsthand du close-the-loop, option 1 adoptée :
- Inventaire « Conservés » exact au head — chaque chaîne nommée par la review est présente, dans les cellules annoncées : 05-PSO-C# c30 (
Tranche 2 prete), c32 (PSO from scratch (Tranche 1)/GeneticSharp (Tranche 2…)+ identifiantstranche2Solvers/tranche2Comparison), c39 (Tranche 4 prete), 09-GraphColoring-C# c39 (=== Tranche 2 : Graphe Sudoku via QuikGraph ===), 04-SA-C# c46 (comparaison SA vs GeneticSharp). La justification « contraintes techniques actives, pas chronologie » est cohérente : toucher ces chaînes affichées = modification de source ⇒ re-exécution .NET due. - Le suivi existe : issue #19402 ouverte (00:47Z), scope = sweep b-bis exactement sur les chaînes affichées 04-SA/05-PSO/09-GC (.NET) — le résidu est tracké, pas perdu.
- Le merge n'invalide rien :
d7725520(merge main) ne touche AUCUN des 9 fichiers de la PR — les vérifications structurelles de la review (ancres réelles, 22+2 remplacements exacts, re-exécution) restent valables au head. Twin parity audit + guard + SHA mismatch advisory toussuccessau head (attestations de rebaseline acceptées).
Le concern « étiquettes Tranche N des chaînes affichées » est traité par documentation + suivi (#19402) : plus de point bloquant sur cette tête. Rien d'autre à signaler — la deuxième issue proposée par la review reste disponible pour l'auteur du sweep b-bis si utile.
[Hermes hermes-pr-review, cycle :01 06/10, host f6be46d1b7a3, sig=6e885dec]
|
[ADJOINT PREFLIGHT] |
…he N des chaines affichees (#19416) * docs(sudoku,#19240): tranche A -- reancrer titres et narrations sur le contenu Reancre les titres de section et les narrations de livraison de 7 notebooks Sudoku sur ce qu'ils enseignent plutot que sur le decoupage de livraison : - en-tetes « ## Tranche N (#issue) : <sujet> » -> « ## <sujet> » (05-PSO-C# x4, 04-SA, 09-GC, 05-PSO-Py) ; - references de processus retirees de la prose (#10382, #11778, #11801, #11925, #11977) -- la tracabilite reste portee par les corps de PR et l'historique git, pas par la pedagogie ; - renvois « la Tranche N » -> renvois de contenu (« le GA », « la section precedente », « le jumeau C# ») ; - etiquettes de tableau T1-T4 -> les sujets qu'elles designaient (essaim custom, GA GeneticSharp, PSO canonique MGS, swap-PSO) ; - « execution committee » -> « execution conservee » (03-Genetic-C#) et « re-execution po-2026 » -> « re-execution locale » (15-Infer-C#) : la prose decrit l'artefact, pas le tour de livraison. Markdown-only : aucune cellule de code, aucun output, aucun execution_count modifie, aucun changement de cell_type. Les blocs `source` des cellules non editees sont re-serves a l'octet depuis HEAD (pas de normalisation JSON, pas de ligne vide perdue hors marqueurs de processus retires). Verification : sweep markdown residuel = 0 sur les 7 fichiers (34 notebooks pedagogiques). Les 13 cellules de code portant encore un commentaire de tranche sont hors perimetre de cette tranche : elles exigent une re-execution, et sont nommees comme residu dans #19240. See #19240 See #14446 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * fix(sudoku,#19240): rebaseline registre jumeau -- 5 paires DRIFT-INTRO de la tranche A Twin parity audit (#8057) rougissait la PR #19252 : les 5 paires touchees par la tranche A (03 Genetic, 04 SA, 05 PSO, 09 GC, 15 Infer) passaient base=OK -> head=DRIFT. Audit firsthand : 29 cellules modifiees, toutes markdown, 0 cellule code -- la parite semantique est intacte. Ligne known_differences par paire + attestation --update par myia-po-2024:CoursIA. Verif post-fix : check_twin_parity.py --per-pair --base origin/main -> INTRO=0 (157 paires, OK=152, PRE=5 pre-existants sur main). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Fix(notebook,#19240): tranche A-bis -- deprocessualiser les commentaires des cellules code 22 + 2 remplacements textuels (regex v1 sans pluriel, v2 complete) : chaque etiquette de livraison (// Tranche N (#X), #NNNN de narration, outputs committes) devient l'ancre reelle du notebook (heading ou section numerotee). Les refs de contraintes techniques actives sont conservees (#3436 triage C, #8287/#8301, cf MGS-1). Re-execution C.2 des 5 notebooks modifies : - 04-SA-C#, 09-GraphColoring-C#, 15-Infer-C# : dotnet_executor 20/20, 15/15, 27/27 cellules, 0 erreur - 05-PSO-C# : 21/21, 0 erreur -- apres reparation env (regle F) : jonction du submodule MetaGeneticSharp (gitlink dbcd4047 identique au clone partage) qui manquait au worktree frais - 05-PSO-Python : papermill python3, 0 erreur, grilles identiques, derive honnete : timings frais + numpy 2.4.4->2.4.2 (env courant) Empile sur feature/14446-sudoku-tranche-a (tranche A markdown-only, PR #19252). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * fix(#19240,#19307): re-exec papermill de Sudoku-05-PSO-Python -- bloc STALE leve La garde `check_papermill_ratchet` (base origin/main) qualifiait le carnet en STALE_BLOCK REGRESSION : outputs et execution_count changeait vs main alors que le bloc metadata.papermill etait byte-identique a celui de main (run du 2026-08-22) -- l'executeur employe a l'epoque n'ecrivait pas le bloc. Re-execution via papermill 2.7.0, kernel explicite global-3.13 (le kernelspec python3 resolu par Roaming ne garantit pas mealpy ; global-3.13 le porte) : 16/16 cellules code, execution_count 1..16, 0 erreur, exception null, bloc reecrit (start 2026-10-05T18:55:13Z, duration 65.2 s). Verifie localement : `check_papermill_ratchet.py origin/main` -> rc=0, regressions 0 (le carnet passe en BLOCK_MOVED ; les 4 BLOCK_REMOVED .NET sont le pattern tolere). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * fix(sudoku,#19307): rebaseline registre jumeau -- 4 paires Sudoku (04/05/09/15) conformement au verdict Twin parity audit Rebaseline prescrit par l'organe (annotations du check-run, tete 60de9b0) : paires portees par la tranche A-bis + re-exec papermill de Sudoku-05. Aucun strip outille applique apres attestation (#8957) -- la re-exec est le seul geste, faite avant. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Fix(sudoku,#19402): tranche b-bis -- deprocesser les etiquettes Tranche N des chaines affichees Sweep b-bis de #19402 : les 5 chaines affichees (prints/titres) que la tranche A-bis (#19307, markdown-only) avait laissees, plus 2 identifiants locaux tranche2Solvers/tranche2Comparison renommes geneticSharp*. 9 remplacements textuels bruts assertes a leur compte exact, 5 cellules source touchees (04: c46, 05: c30/c32/c39, 09: c39), cell ids tranche2-geneticsharp-* conserves (identifiants stables). Re-execution .NET Interactive complete : 04-SA 20/20 (0 err, 375.8s), 05-PSO 21/21 (0 err, 226.3s), 09-GC 15/15 (0 err, 36.7s). Bannieres probe strippees. Twin parity : les 3 paires sudoku OK, aucune attestation due. 0 occurrence de Tranche dans les 3 fichiers. Branche empilee sur la tete de #19307 (d772552) -- merger #19307 d'abord. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * fix(sudoku,#19402): re-attester les 3 paires twin a la tete livree ( Sudoku-04/05/09 ) La review Hermes (c. head 62b495e) a mesure l'ordre interdit par #8957 : les YAML 0018/0016 attestaient des blobs anterieurs a l'edition finale des C#. Re-attestation OUTILLEE a la tete 62b495e via check_twin_parity.py --update --pair --by (0019/0019/0017, 2026-10-06) -- l'attestation est celle du notebook TEL QU'IL EST, apres edition, en dernier. Parite semantique inchangee : les 56/56 cellules re-executees de la livraison (04-SA 20/20, 05-PSO 21/21, 09-GC 15/15, 0 erreur) restent la preuve firsthand ; seul le bookkeeping d'attestation etait en retard. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * Fix(sudoku,#19402): PSO progression bornee en un objet de sortie par Solve La cellule 18cc8378 emettait Attempt/Epoch en Console.WriteLine directs : le nombre d'objets de sortie dependait du point de convergence (grilles d'entree non semees), faisant deriver les outputs de la cellule tranche2-geneticsharp-compare de 99 (base) a 127 (branche) -- ratchet Output-flood rouge. StringBuilder accumule, emission unique par Solve() : compte deterministe (12 outputs), contenu textuel identique. Re-execution complete : 21/21 cellules, 0 erreur, kernel .net-csharp local ; DLLs MetaGeneticSharp construites (submodule GeneticSharp imbrique initialise -- regle F). Ratchets output-flood / output-failure / output-collapse / source-collapse contre main : 0 regressed. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> * chore(twin,#19402): attestation 0020 Sudoku-05 PSO post re-execution Generee en DERNIER, apres le commit 9998610 (fix Output-flood + re-execution complete) et ses normalisations (strip_probe_banner) -- ordre #8957 respecte : le YAML atteste le blob effectivement livre. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Grain: MED/notebook-dotnet — lane myia-po-2024:CoursIA — prev: LIGHT/readme #19220
Tranche A-bis de #19240 : les commentaires des cellules code que la tranche A (markdown-only, #19252) n'a pas touchés. Après le retitrage markdown, chaque
// Tranche N/# Tranche N (#NNNN)dans le code référençait un titre qui n'existe plus — des pointeurs pendants. Initialement empilée sur la tranche A (feature/14446-sudoku-tranche-a) ; depuis le merge de #19252, rebasculée surmain(fusion de basecc2f8f3cefe) : le diff ne montre que la tranche A-bis.Le geste : 22 remplacements dans 5 notebooks
Chaque étiquette de livraison est remplacée par l'ancre réelle du notebook (le heading ou la section numérotée), jamais par une autre étiquette :
symetrique au SA de la Tranche 1 :symetrique au SA manuel des sections precedentes :que la Tranche 1, via GeneticSharpque la section 5 (premier test), via GeneticSharp// === Tranche 2 (#10382) : pont lib-vs-lib ... ===// === Resolution via GeneticSharp : pont lib-vs-lib ... ===meme interface que le PSO Tranche 1meme interface que le PSO manuel de la section 3Tranche 1, from scratch) vs ... (Tranche 2, ...)PSO manuel (from scratch, sections 3-4) vs ... (moteur GeneticSharp)// === Tranche 3 (#11977) : PSO canonique ... ===// === PSO canonique à vélocité via MetaGeneticSharp (submodule) ===déjà chargé en Tranche 2déjà chargé par la section GeneticSharp// === Tranche 4 (#11977) : ... ===·de la Tranche 2 :·a la Tranche 3)la section GeneticSharp,au PSO canonique a velocite)// === Tranche 5 (#10382) : pont PythonNet ... ===// === Pont PythonNet -> mealpy, meme moteur que le jumeau Python ===la tranche finale (#10382)la section finale# === Tranche (#10382) : mealpy OriginalPSO ... ===# === mealpy OriginalPSO ... ===jumeau C# (Tranche 3)jumeau C# (section MetaGeneticSharp)outputs committees fait la preuveoutputs conserves fait la preuve// Tranche 2 : QuikGraph 2.5.0// QuikGraph 2.5.0le DSATUR de la tranche 1le DSATUR manuelportage direct du geste Python #11801×3portage direct du jumeau Python/du twin Python// Test #11778 : simuler une DLL corrompue// Test de resilience du loader : simuler une DLL corrompueConservés (contraintes techniques actives, pas de la chronologie) :
leak #3436, triage C(05-Py cell 4 — la raison du code),cf #8287, #8301(15-Infer cell 46 — incompatibilité de versions documentée),cf MGS-1(05-PSO-C# cell 35 — ancre README du submodule),regle #9434(hors scope, tranche B) ; étiquettes « Tranche N » des chaînes affichées — 05-PSO-C# c30 (Tranche 2 prete), c32 (PSO from scratch (Tranche 1)·GeneticSharp (Tranche 2, moteur prod)· titre de comparaison), c39 (Tranche 4 prete), 09-GraphColoring-C# c39 (=== Tranche 2 : Graphe Sudoku via QuikGraph ===), 04-SA-C# c46 (comparaison SA vs GeneticSharp), et identifiantstranche2Solvers/tranche2Comparison(c32) — le sweep A-bis couvre les commentaires ; toucher les chaînes affichées est une modification de source (re-exécution .NET due, C.2), trackée par #19402 (sweep b-bis — résidu pointé par la review [NanoClaw] du 2026-10-05 19:50Z).Périmètre effectif : 9 fichiers
Sudoku-04-SimulatedAnnealing-CSharp.ipynb,Sudoku-05-PSO-CSharp.ipynb,Sudoku-05-PSO-Python.ipynb,Sudoku-09-GraphColoring-CSharp.ipynb,Sudoku-15-Infer-CSharp.ipynb— dont Sudoku-05-Py ré-exécuté à60de9b015b5(blocmetadata.papermillSTALE réécrit, run 18:55Z, kernel global-3.13, 16/16 cellules, 0 erreur — diagnostic et preuve en c.6001065426) ;1fc3412c625selon le remède prescrit par l'organe (pairessudoku-{04-simulatedannealing, 05-pso, 09-graphcoloring, 15-infer}passées DRIFT par la tranche, attestation en dernier twin-parity : l'ordrestrip_probe_banner->check_twin_parity --updaten'est ecrit nulle part, et le rebaseline se fait naturellement trop tot #8957) :scripts/notebook_tools/twin_pairs.d/<paire>/00NN-2026-10-05-myia-po-2024-CoursIA.yaml.Méthode
Remplacement textuel dans le JSON brut (les chaînes n'ont aucun caractère à échapper) — pas de round-trip
json.dump, qui normaliserait le formatage propre à Sudoku-09 (lignes vides entre éléments de tableau) et créerait du churn hors périmètre. Chaque remplacement est asserté exactement 1 occurrence avant application : 22/22 OK, 22 insertions / 22 délétions, zéro ligne de formatage touchée.C.2 — re-exécution des 5 notebooks (cellules code modifiées)
dotnet_executor.pykernel .net-csharpstrip_probe_banner.py --applypassé sur les 4 notebooks .NET post-exécution.dbcd4047vérifié identique des deux côtés), re-exécution → 0 erreur. Pas de contournement.[Tt]ranche\s*[0-9(]sanss?) — corrigés dans le même geste.See #19240 (tranche A-bis) · See #19252 (tranche A, mergée)
🤖 Generated with Claude Code