Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -41,3 +41,4 @@
114 -> 4, total du carnet 99 ; ratchets flood / failure-text / collapse tous a 0 regressed sur origin/main.
Re-execution complete (15/15 cellules, execution_count 1..15, 0 erreur, 19 s), strip probeAddresses puis
--update en DERNIERE operation. Attestation 0011.'
- "Audit de parite 2026-10-27 (myia-po-2028:CoursIA-2, #22267) : derive cote PYTHON SEUL, cote C# byte-identique a main (aucun commit sur Infer-13-Crowdsourcing depuis l'audit). Mesure contre le blob enregistre (python c75fd7b2 -> 034666ae) : 17 cellules de code des deux cotes, 0 source retiree, 0 source ajoutee, 0 difference de sortie ; 30 -> 32 cellules markdown cote Python (5 remplacees, 7 ajoutees). Causes uniques : #22033 (densite pedagogique PyMC-13, 2026-10-24) et #20830 (accents, 2026-10-17), markdown seul dans les deux cas. Parite de contenu inchangee : attestation (le blob SHA se deplace), pas reparation. Ecart connu et nomme : le jumeau Python est desormais plus dense en markdown que le jumeau C# (2 cellules '### Lecture' supplementaires) -- asymetrie de densite, sans ecart sur le contenu executable. --update en DERNIERE operation (cf #8957)."
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-27'
by: myia-po-2028:CoursIA-2
python_sha: 034666ae20f0bbec643f9a4eb538273383afd7f5
csharp_sha: 5d10464f2546ffdf73b0ee25dcc6d895e5029afc
content_python_sha: 370c186c2ad1a1c0fcce50b3521998cc5b83721fee2ec32cd6fae9769b3de602
content_csharp_sha: 4690963aa17c77169d12859ad46b63c242b4a758046ca28332ef149afd2d8a24
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
bridge_verdict: SOTA-OK
bridge_verdict_reason: "Python = stdlib + networkx (helper viz graph + heuristic lookup) + heapq (priority queue A*/Greedy/Best-First). Pas de lib SOTA-tier Python pour informed search pure (`aima-python` est jouet non maintained, `pySearch` est un essai), le port pedagogique AIMA ch.4 from-scratch reste canonique. C# = `QuikGraph` NuGet (Pelikan521, MIT-license, lib SOTA graphe .NET : `using QuikGraph;` + `using QuikGraph.Algorithms.ShortestPath;` + `DijkstraShortestPathAlgorithm<TVertex,TEdge>` / `AStarShortestPathAlgorithm<TVertex,TEdge>`, version 2.5.0). Verdict SOTA-OK (modèle owner PR #10412 MERGED pour Sudoku-09 / PR #10387 MERGED pour Search-02b NetworkX) : QuikGraph EST la lib SOTA graphe canonique .NET (Bellman-Ford, Dijkstra, A*, BFS, DFS -- tout y est), l'API `AStarShortestPathAlgorithm` permet un bridge direct A* avec heuristique. Asymetrie documentee : PY from-scratch (algos pedagogiques AIMA), C# bridge via lib SOTA (algo canonique)."
known_differences:
- "Audit de parite 2026-10-27 (myia-po-2028:CoursIA-2, #22267) : derive des DEUX cotes, symetrique. Mesure contre les blobs enregistres (python 794968d2 -> 698d9bc9 ; csharp e05d11b0 -> 2bd851b1) : les deux cotes ont ete modifies par le meme commit 951b68d16 (#21740, 2026-10-24, 'Greedy graph-search completude + IDA* mesure la profondeur de pile reelle'), plus les blocs de fin canoniques (#21172 cote Python, #21176 cote C#). Desalignement cellule par cellule (alignement par source, pas par indice brut) : Python 3 sources retirees / 3 ajoutees (classe Node + attributs iterations/max_stack_depth, tableau recapitulatif, mesure IDA*), C# 2 / 2 (maxStackDepth + constructeur) ; differences de sortie : durees d'execution, ordre d'iteration d'un set Python, et le changement de libelle attendu ('Frontiere max' -> 'Profondeur de pile max' + 'Iterations'). Les compteurs affiches par les deux jumeaux (pile de profondeur 3 / 4 iterations en Python, pile de profondeur 4 / 5 iterations en C#) sont ceux de la tranche #21193 deja documentee. Parite de contenu preservee (mise a jour symetrique) : attestation (les blob SHA se deplacent), pas reparation. --update en DERNIERE operation (cf #8957)."
- 'Purge 2026-10-24 (myia-ai-01:CoursIA-2, #22334) : retrait des attestations 0026 a 0029 (toutes du 2026-10-21, lane myia-ai-01:CoursIA-2), qui ne decrivaient aucun etat porte par `main` -- leurs `python_sha` ne sont blob d''aucune revision du carnet, et leurs `content_python_sha` n''egalent le contenu d''aucun commit touchant le fichier (recherche sur tout l''historique du path). Elles rendaient rouges `test_audit_shas_exist_in_file_history`. L''attestation 0025 (2026-10-17, myia-po-2024:CoursIA) redevient la derniere du journal ; etat de parite de la paire inchange (DRIFT cote Python, comme avant la purge).'
- 'Re-baseline 2026-10-17 (myia-po-2024:CoursIA, #19297 -> #21172) : edition unilaterale cote Python seul, MARKDOWN UNIQUEMENT -- blocs de fin canoniques de la finition de serie (#19297) : renommages "### Ce qu''il faut retenir" -> "### A retenir" et "### References" -> "### Pour aller plus loin", insertion "### Verifiez votre comprehension" (4 questions a reponses repliees, tirees des sorties reelles du carnet) et renvoi aux carnets suivants Search-03e / Search-04. Aucune ligne executable touchee, aucun `execution_count` ni sortie modifie ; le cote C# est byte-identique a main (sa re-baseline suit dans #21176 des le merge de celle-ci, meme traitement canonique). Parite semantique inchangee : attestation de parite (le blob SHA du Python se deplace), pas une reparation.'
- 'Re-baseline 2026-10-05 (myia-po-2026:CoursIA, #19245 -> #19259) : edition unilaterale cote C# seul, COMMENTAIRES UNIQUEMENT -- la casse canonique `-CSharp` des noms de carnets jumeaux etait perdue dans les commentaires de code (`Search-02-Csharp` -> `Search-02-CSharp` (cellules 2, 4 et 19)). Aucune ligne executable touchee, aucun `execution_count` ni sortie modifie ; le cote Python est byte-identique a main. Parite semantique inchangee, seule la reference textuelle au jumeau redevient exacte : c''est une attestation de parite (le blob SHA du C# se deplace), pas une reparation. Re-baseline du csharp_sha.'
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-27'
by: myia-po-2028:CoursIA-2
python_sha: 698d9bc9d04bb7659fea7e4477c122589c8c3f68
csharp_sha: 2bd851b1f63a6a304524a55461da4568c5b9ca29
content_python_sha: 622acbdf424d5d3b8b00133d661e7b390e97a79a1448d70b82c074b8500c644f
content_csharp_sha: c6180817641c73b249354cb414cb83f772eb63cff0053cb3d1a0fa957d60f538
1 change: 1 addition & 0 deletions scripts/notebook_tools/twin_pairs.d/sudoku-05-pso.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
bridge_verdict_reason: "Flip SOTA-OK (2026-08-22, post #11954) : les DEUX cotes branchent desormais un moteur metaheuristique de production sur ce notebook. Python = mealpy (PyPI, MIT, 233+ metaheuristiques) execute nativement -- Tranche mealpy 3 seeds (epoch=300, pop=60) : erreurs residuelles 11/7/9 conflits (seeds 42/7/99, remesures 2026-10-27 sur les outputs committes), non resolu, meme verdict que le jumeau C# (pont PythonNet, memes instance/budget/seeds : 7/8/10 conflits) -- encodage continu -> paysage discontinu, le moteur ne compense pas l'encodage. C# = PythonNet bridge vers mealpy (#11954) en plus de GeneticSharp 3.1.4 (Tranche 2) et du compound MGS ParticleSwarmOptimization (Tranche 3, fitness -35). L'asymetrie lib-PY / from-scratch-C# qui fondait le RECOVERABLE-LOCAL n'existe plus. Note nuance (c.140, #10382) preservee : les tranches C# GeneticSharp/MGS restent des ponts sur la famille metaheuristique voisine (bucket mealpy/simanneal -> MGS). Verifier les entrees known_differences pour le detail des tranches."
known_differences:
- "2026-10-27 (grain #23008, myia-po-2027:CoursIA-2) : prose cross-twin et entrees de registre remises sur la mesure. Les DEUX jumeaux executent `mealpy` (OriginalPSO, epoch=300, pop=60, seeds 42/7/99) -- Python nativement, C# par le pont PythonNet ; le PSO *manuel* reste le moteur pedagogique des deux cotes (numpy / System.*), conserve en plus, jamais remplace. Valeurs de residus remesurees sur les outputs committes : Python 11/7/9 conflits, C# (pont) 7/8/10 -- les 8/4/6 cites par l'entree du 2026-08-22 ne correspondent plus a aucun output du depot. Cellules de code : Python 15, C# 21. Portee : cellules markdown 29 et 33 du jumeau C# + ce registre ; aucune cellule code, aucune sortie touchee, pas de re-exec (C.3). Attestation refaite en derniere operation dans la meme PR."
- "Audit de parite 2026-10-27 (myia-po-2028:CoursIA-2, #22267) : derive cote PYTHON SEUL, cote C# byte-identique a main a la mesure. Mesure contre le blob enregistre (python 9dff736e -> a6668afa) : 16 -> 15 cellules de code -- une cellule de print statique ('=== Comparaison des metaheuristiques ===') convertie en markdown par #21920 (2026-10-22) --, 0 source ajoutee ; sorties : durees d'execution et residus mealpy modifies, les residus passant des valeurs de base 8/2/11 conflits (seeds 42/7/99) a 11/7/9 apres re-execution, la prose Python (cellule 42) ayant ete realignee sur la re-execution. L'algorithme PSO et son budget (epoch=300, pop=60) sont inchanges. Parite de contenu preservee : attestation (le blob SHA se deplace), pas reparation. Les deux ecarts constates par cet audit ont ete fermes par le grain #23008 (myia-po-2027:CoursIA-2) dans la meme vague : le bridge_verdict_reason ne cite plus 8/4/6, et la prose des cellules markdown 29 et 33 du jumeau C# ne presente plus mealpy comme optionnel cote Python. --update en DERNIERE operation (cf #8957)."
- 'Re-baseline 2026-10-14 (hors-flotte:claude-session-20167, PR #20595, #20167) : edition unilaterale cote Python seul, SCHEMA nbformat uniquement -- retrait des champs `execution_count`/`outputs` portes a tort par 12 cellules markdown (cles reservees aux cellules code en nbformat 4), par `fix_markdown_cell_schema.py`. Aucune source ni sortie de cellule code touchee : le carnet de base, une fois ces champs retires, est identique au carnet de tete (comparaison JSON complete). Cote C# byte-identique a main. Parite semantique inchangee : attestation (le blob SHA se deplace), pas reparation.'
- "2026-10-05 (PR #19252, myia-po-2024:CoursIA) : tranche A de #19240 -- reancrage markdown des titres et narrations (references a des marqueurs de processus supprimes, reancres sur le contenu reel du notebook). Portee : les DEUX cotes, 9 cellules markdown C# et 3 Python. Zero cellule code touchee, pas de re-exec (C.3) ; divergeance de forme seulement, le socle pedagogique commun et le bridge_verdict sont inchanges. Detail : les deux cotes touches, en proportions differentes (9 C# / 3 Py)."
- "2026-09-02 (PR #14266, myia-po-2027:CoursIA) : normalisation nbformat du champ source string->liste (tranche Sudoku de #14209) -- forme seule, jumeau C# seul (Python non touche). Contenu rejoint byte-identique (digest sha1 par cellule, 0 divergence), outputs/execution_count/nb de cellules inchanges, pas de re-exec (C.3). Les blob SHAs et content SHAs deplaces dans l audit ci-dessus sont des artefacts de forme (le content_sha hashe la structure JSON des cellules, forme du champ source incluse), pas une divergence pedagogique."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
bridge_verdict: SOTA-OK
bridge_verdict_reason: "CSP/AIMA est un enseignement algorithmique, pas une dependance a un solveur SOTA externe. AC-3 (Mackworth 1977) + backtracking + MRV/LCV = etat de l'art canonique pour la satisfaction de contraintes (cf. Russell & Norvig AIMA 4ed ch.6). Les 2 jumeaux implementent le meme framework AIMA from scratch (Python = numpy 19 cellules ; C# = System.* stdlib 0 NuGet 18 cellules) -- l'enseignement EST l'implementation, pas un wrapper sur OR-Tools/Gecode/Choco. Choix pedagogique assume par les 2 notebooks, divergence pedagogique nulle. Pas de moteur SOTA 'mieux branchable' qui changerait la valeur enseignee."
known_differences:
- "Audit de parite 2026-10-27 (myia-po-2028:CoursIA-2, #22267) : derive cote PYTHON SEUL, cote C# byte-identique a main. Mesure contre le blob enregistre (python 11b69c46 -> 71e42b08) : 19 cellules de code des deux cotes, 0 source retiree, 0 source ajoutee, 0 difference de sortie ; 26 -> 26 cellules markdown (13 remplacees, 13 ajoutees). Cause unique : #21123 (densite #11601, 2026-10-24, 1251 -> 1792 caracteres par cellule, markdown-only). Parite de contenu inchangee : attestation (le blob SHA se deplace), pas reparation. Ecart connu et nomme : l'ecart de densite markdown s'est inverse par rapport a la note du 2026-08-12 -- le Python, deja dense, a ete densifie encore, donc le rattrapage du jumeau C# par le Python n'est pas acheve ; aucune divergence algorithmique n'est introduite. --update en DERNIERE operation (cf #8957)."
- "Edition C# twin 2026-08-12 (myia-po-2025:CoursIA, #10488 density ratchet) : enrichissement markdown du jumeau C# seul (641->834 c/cell, 6 en-tetes WHAT->WHAT+WHY : theorie CSP/backtracking -- genericite-abstraction, backtracking-naif comme baseline mesuree, MRV fail-fast + LCV leave-options-open, forward checking un niveau plus tot, ROI du framework AIMA, benchmark rend les gains visibles). Rattrapage PARTIEL du Python twin, deja dense (1011 c/cell, sections 'Interpretation' natives que le C# n'avait pas). Aucune divergence algorithmique : C.3 byte-identique (0 cellule code touchee, sources+outputs+exec_count inchanges) -- divergence markdown-only, le C# comble son retard pedagogique vers le Python, pas l'inverse."
- "Socle pedagogique commun : resolution de Sudoku comme probleme de satisfaction de contraintes (CSP), suivant le formalisme AIMA (Artificial Intelligence: A Modern Approach) -- AC-3 (arc consistency / propagation de contraintes), backtracking avec heuristiques (MRV, LCV), assign/eliminate (Norvig-style propagation). Meme concept mathematique (variables, domaines, contraintes binaires, arc consistency), meme cas canonique (Sudoku). Les deux couvrent AC3, backtracking, Norvig, AIMA, csp."
- "Divergence d'implementation : le Python (numpy, 19 cellules code) implemente le framework CSP a la AIMA (classe CSP, AC-3, backtracking) ; le C# (pur System.* stdlib, 0 NuGet, 18 cellules code) implemente le meme framework CSP (AC-3, backtracking, assign/eliminate) sans dependance externe. Paire proche d'une traduction native (meme algorithmes, meme structure AIMA), mais les 2 implementations restent independantes (idiomes langage, structures de donnees), d'ou parity_level semantic et non native-both."
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-27'
by: myia-po-2028:CoursIA-2
python_sha: 71e42b086c9bce01b67a16fe965dd50ee16b2cd5
csharp_sha: c7d4a85587af82dd1fd05f25f1e508e77ffa63a9
content_python_sha: 728fafce3d454d4e8b3f8254a419d4daff8be9d2a51cb85a4e9102963968170f
content_csharp_sha: 831203c3690c99e6116ed3a2ae05323d26c9d0b555abf12a769cf249b0003885
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
- "Lib-vs-lib : C# via IKVM (`#r \"org.tweetyproject.tweety-dung.dll\"`). Python via JPype (`from java.util import Collection, HashSet`). Meme moteur Dung de TweetyProject."
- "Re-baseline 2026-07-25 (po-2024, consolidation #8264) : SHA Python+C# avance depuis l'audit 2026-07-23 via #8320/#8170 (doc-honesty md52 non-determinism output alignment + hyphenation) ; drift verifie paraphite-preservant (ne touche pas l'axe de parite semantic)."
- "Interpretation 4-semantiques sur a<->b (c.48, po-2025:CoursIA-2) : le C# possede une cellule d'interpretation dediee au resultat-pivot 4-semantiques (Grounded unique vide vs Stable/Preferred multiples {a},{b} vs Complete intermediaire). Le Python possede une interpretation DIFFERENTE mais couvrant le meme axe (cell 9 'Interpretation des extensions Dung' = tableau par semantique sur AF1 a1<->b1->c1). Parite semantique tenue : les deux jumeaux interpreten la divergence des semantiques de Dung, sous des angles complementaires (C# = multiplicite isolee sur a<->b minimal ; Python = tableau multi-AF). Rebaseline markdown-only legitime, pas de strip outille."
- "Audit de parite 2026-10-27 (myia-po-2028:CoursIA-2, #22267) : derive des DEUX cotes, symetrique et porteuse de corrections. Mesure contre les blobs enregistres (python 714037f3 -> 61382d9f ; csharp 2b5413a5 -> 67915d07). Python : 20 cellules de code, 0 source retiree / 0 ajoutee, 0 difference de sortie ; 44 -> 44 cellules markdown (8 remplacees, 8 ajoutees) -- #21188 (3 findings : 5 exercices deformes, taux stable non mesure, interpretation des explications c/e) et #20283 (ordre de lecture). C# : 14 cellules de code, 9 sources retirees / 9 ajoutees -- #21195 (accents, culture invariante, claims reancres sur la mesure) et reecriture de la cellule 4.2 : le test par reflexion sur 11 notions d'equivalence, qui produisait 22 erreurs (TargetInvocationException / NullReferenceException sur chaque notion), est remplace par une enumeration structurelle (23 classes au total, 9 notions substantives, 9 kernels de cache, 5 classes internes) dont la prose dit desormais 9 notions -- le meme compte que le jumeau Python. La correction rapproche les deux cotes au lieu de les separer. Ecart residuel nomme : les appels effectifs isEquivalent (verdicts True/False) sont executes par le jumeau Python et differes par le jumeau C# (cellule 28 : 'Appels isEquivalent effectifs : differes a la tranche 3 (wrapper requis)') -- suivi dans #17824, hors perimetre de cette attestation. Parite de contenu preservee : attestation (les blob SHA se deplacent), pas reparation. --update en DERNIERE operation (cf #8957)."
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
date: '2026-10-27'
by: myia-po-2028:CoursIA-2
python_sha: 61382d9f38cf8bfec409e2986ebda9b02c1b9b9a
csharp_sha: 67915d07d56bb44e6aafdcc0944c2f3a979f0d71
content_python_sha: cac5714637f847c1e398ddc745d10a0d61b8d108dfc4194f05377b4533dc7f03
content_csharp_sha: e1465e75e23a735251ee4e4d9dc34b92518038c97e0c869e1abf8851f619ce29
Loading