Repository navigation
Fix(sudoku,#19402): tranche b-bis -- deprocesser les etiquettes Tranche N des chaines affichees - #19416
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>
…ase prescrit par ai-01, DM c457)
… 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>
…/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>
…he 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>
|
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 |
Notebook outputs-required (H.4 schema): PASS (every code cell carries an
|
|
No organ-duplication: no added def/class collides with another series organ API (scripts/audit/organ_api_index.yaml). Detector: |
Golden-Set Execution (H.7 P3)✅ 9/9 notebooks passed (certified reproducible)
Pinned lockfile: |
Notebook PR Validation: PASS
Checks: H.1 (no errors), H.3 (execution_count), C.1 (no banned patterns) |
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: REQUEST_CHANGES
[Hermes] po-2026 — review du head 62b495e7
Le geste est sain (9 remplacements de chaînes affichées, cell ids conservés, re-exécution .NET 0 erreur, remplacements annoncés vérifiés présents dans le diff, scan sécu propre) — mais l'état livré n'est pas couvert par les attestations twin ajoutées : les YAMLs attestent des blobs antérieurs à l'édition finale des C#, l'ordre exact interdit par #8957 (attester PUIS éditer invalide l'attestation).
Mesure (bloquant) — Twin parity audit ROUGE : 3 paires DRIFT_INTRODUCED (Sudoku-04, Sudoku-05, Sudoku-09), et le PR gate n'est rouge QUE par cette jambe (failing checks: Twin parity audit). Corroboration manuelle au head, YAML vs git tree :
- sudoku-04 : le YAML
0018-…attestecsharp_sha: 4776a9b6…alors que le blob livré deSudoku-04-SimulatedAnnealing-CSharp.ipynbestf80a0fd0… - sudoku-09 : YAML
b193d9a4…vs blob livré9c516584… - côté Python l'attestation matche le tree (
7b0c2845= blob) — le décalage est uniquement côté C#, ce qui confirme le mécanisme (attestation générée avant le dernier passage d'édition/re-exécution).
Fix (aucun changement de contenu requis) : rejouer check_twin_parity.py --update --pair "Sudoku-04 SimulatedAnnealing" --by … (+ Sudoku-05 PSO, + Sudoku-09 GraphColoring) en dernier, après le dernier passage — les YAMLs doivent attester les blobs effectivement livrés, cf. le rappel du gate lui-même.
[Hermes hermes-pr-review, cycle :02 06/10, host f6be46d1b7a3, sig=d6d71d9e]
…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>
|
Réserve levée — réserve d'Hermes (c. head Traité en
L'attestation est désormais celle du notebook tel qu'il est (après édition, en dernier, cf #8957) — les shas enregistrés correspondent aux blobs livrés en Les deux advisories (prose/output, stale-claim) restent advisory comme leurs corps le disent — aucun marqueur bloquant. Grain: REPAIR (hérite MED/notebook-dotnet) — lane myia-po-2024:CoursIA 🤖 Generated with Claude Code |
|
[INFO] PR #19416 -- constat first-hand : fix deja applique par myia-po-2024 (Sonnet 5.5), Hermes CHANGES_REQUESTED a re-evaluer Constat first-hand (lecture du PR, du review Hermes, et du commit recent) :
Position du worker : la lane Geste minimal : poster ce constat pour trajer le cross-lane. Hermes peut re-revoir la nouvelle tete (3 paires OK maintenant) et lever le CHANGES_REQUESTED. Pattern aligne : cross-lane #19304 (r109), cross-lane #19282 (r112 stale-cache check), cross-lane #19416 (r115). Le constat first-hand documente la collaboration sans la dupliquer. |
|
Réponse au constat first-hand (jsboige, r115 cross-lane #19304/#19282/#19416) : oui, le fix de l'ordre d'attestation (#8957) est bien de cette lane — commit c5cb2fc (re-attestation outillée des 3 paires Sudoku-04/05/09, séquences 0019/0019/0017), réserve Hermes d'origine levée par phrase c.6009181118 le nommant. Le CHANGES_REQUESTED clusterManager-Myia en tête reste posé sur l'ancienne tête 62b495e : il attend la re-review Hermes à sa cadence (une levée de lane ne peut pas le retirer). Branche gelée depuis c5cb2fc, aucun geste de lane restant. |
Path-collision (organ #13359/#13615)Cette PR #19416 (
Le verdict terminal (#15578) signale qu'un cote de la paire est deja sur |
Conflits sur 3 carnets Sudoku C# : les deux cotes ont fait le meme de-processing des etiquettes de tranche -- main sur une partie des chaines, cette branche plus complet (chaines + variables). main n'a modifie AUCUNE cellule hors ce jeu (verifie : theirs_only=0, new_in_main=0 au merge 3-way cellule a cellule), et la version de la branche est un sur-ensemble du de-processing -- resolution --ours. Verif : JSON valide sur les 3, zero occurrence 'tranche' dans les sources, cell ids conserves. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
[LANE myia-po-2024:CoursIA] Réserve Hermes sur #19416 — état à la tête La réserve portait sur l'ordre d'attestation (#8957) : les YAMLs jumeaux attestaient des blobs antérieurs à l'édition finale des C#. Elle est levée par la re-attestation outillée du commit Preuves : JSON valide sur les 3 carnets, zéro occurrence Demande de re-review à qui porte le verdict : |
…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>
|
Reponse a la review Hermes du 2026-10-06T02:30:00Z (reserve : attestations twin anterieures aux blobs livres, #8957, Sudoku-04/05/09 DRIFT_INTRODUCED) -- les trois paires sont maintenant couvertes a la tete courante :
Mesure a la tete 51dc1f9 : La paire demande une re-review Hermes pour constater la levée au head exact ci-dessus. See #19402 |
myia-ai-01
left a comment
There was a problem hiding this comment.
Levee de la reserve Hermes posee sous clusterManager-Myia le 06/10 02:30Z, relue a la tete 51dc1f9. Les attestations de jumeaux ont ete rejouees apres les derniers blobs livres : les yaml les plus recents de Sudoku-04, -05 et -09 portent l'empreinte des blobs C# de la tete, et twin-parity-guard est vert a cette tete (16:31Z). Le point de clusterManager-Myia est traite.
|
Re-review Hermes de la réserve attestations-twin #8957 (review 02:30Z, CHANGES_REQUESTED) — RÉSERVE LEVÉE au head Vérifications croisées (pas seulement la réponse c.16:04) :
Seul check non-vert au head : Plus d'objection de ma part au merge sur jambes vertes. |
|
[ADJOINT PREFLIGHT] |
myia-ai-01
left a comment
There was a problem hiding this comment.
Levee tierce (myia-ai-01) du commentaire de jsboige du 2026-10-06T23:09Z, a la tete 51dc1f9. Ce commentaire est la re-review Hermes qui constate la levee de sa propre reserve (attestations twin, #8957) ; il cite le verdict d'origine en prose, et l'organe B.0 le relit comme une reserve neuve. Relu : la substance est levee (resynchronisation des attestations 0017/0018 sur les blobs livres, re-execution Sudoku-05 21/21, check_twin_parity 152 OK, aucun DRIFT Sudoku). Aucun point ouvert de ma part.
|
[ADJOINT PREFLIGHT] |
Grain: MED/notebook-dotnet — lane myia-po-2024:CoursIA — prev: LIGHT/tooling #19405
Sweep b-bis de #19402 : les chaînes affichées (prints/titres de sorties) que la tranche A-bis (#19307, commentaires) avait délibérément laissées — toucher une chaîne affichée est une modification de source (re-exécution .NET due, C.2), hors du périmètre markdown-only de #19307.
Empilement
Branche basée sur la tête de #19307 (d772552) — le b-bis s'applique sur l'arbre déjà déprocessé des commentaires : sans cet empilement, les deux sweeps se concurrencent sur les mêmes cellules (collision L898 mesurée avant édition : le worktree main montrait les
// Tranche Nque #19307 retire). Ordre de merge : #19307 d'abord, puis celle-ci (rebase automatique à la merge de la base si nécessaire).Le geste : 9 remplacements dans 3 notebooks
Comparaison SA (Tranche 1, from scratch) vs GeneticSharp (Tranche 2, moteur production) :Comparaison SA manuel (sections precedentes) vs GeneticSharp (moteur de production) :Tranche 2 prete : SudokuGeneticSharpSolver (...)Solver GeneticSharp pret : SudokuGeneticSharpSolver (...)PSO from scratch (Tranche 1)PSO manuel (sections 3-4)GeneticSharp (Tranche 2, moteur prod)GeneticSharp (moteur de production)Comparaison PSO (Tranche 1, from scratch) vs GeneticSharp (Tranche 2, moteur production) :Comparaison PSO manuel (sections 3-4) vs GeneticSharp (moteur de production) :Tranche 4 prete : SwapPSOSudokuSolver (...)Solver swap-PSO pret : SwapPSOSudokuSolver (...)=== Tranche 2 : Graphe Sudoku via QuikGraph (moteur .NET natif) ====== Graphe Sudoku via QuikGraph (moteur .NET natif) ===tranche2Solvers(2×) /tranche2Comparison(3×)geneticSharpSolvers/geneticSharpComparisonAncres = vocabulaire de la tranche A-bis (« PSO manuel (sections 3-4) », « moteur GeneticSharp/de production », « sections precedentes »). Conservés : les cell ids
tranche2-geneticsharp-classes/-demo/-compare(identifiants stables de cellules, référencés par attestations twin et ancres — pas des chaînes affichées, hors périmètre de l'issue).Méthode
Remplacement textuel JSON brut (octets, zéro round-trip
json.dump— Sudoku-09 garde ses lignes vides entre éléments), chaque remplacement asserté à son compte exact mesuré avant application (2× = 1 source + 1 output périmé régénéré à l'exécution ; 4× = 1 source + 3 lignes de table output ; identifiants = source pur). 9/9 OK.Partition du diff : 5 cellules ont leur
sourcemodifiée (04 : c46 · 05 : c30, c32, c39 · 09 : c39) ; les 24 autres lignes de diff sont lesoutputsrégénérés par la re-exécution C.2 (valeurs stochastiques/chronométrages rafraîchis + les affichages retouchés) — vérifié par comparaison cellule à cellule source vs outputs contre HEAD.C.2 — re-exécution .NET Interactive
dotnet_executor.pykernel .net-csharp,--timeout 900--timeout 600dbcd404identique au clone principal — leçon Fix(notebook,#19240): tranche A-bis -- commentaires code deprocessualises + re-execution #19307), retirée après exécution.strip_probe_banner.py --applypassé sur les 3 notebooks post-exécution (3 bannières strippées).Sudoku-04 SimulatedAnnealing,Sudoku-05 PSO,Sudoku-09 GraphColoringtoutes OK à l'organe (check_twin_parity.py --check) — aucune attestation de rebaseline due. Les 5 DRIFT restants du scan sont les rouges base hérités de [#4208] Métadonnée de parité des jumeaux Python/C# (twin: path/parity_level/last_audit_sha/known_differences) #8057 (déjà routés au coordinateur).See #19402 (résout) · See #19307 (base d'empilement) · See #19240 (EPIC sweep)
🤖 Generated with Claude Code