Skip to content

MGS vs mealpy : convertir les benchmarks en correctifs MGS puis re-mesurer #13778

Description

@jsboige

Constat user

Les face-à-face MGS ↔ mealpy doivent produire des analyses de performance qui servent à améliorer MetaGeneticSharp, puis les tests doivent être rejoués. Une suite de benchmarks sans boucle corrective n'est pas un résultat suffisant.

Parents : #1203, #12373, #12607

Question directrice

Pour chaque forme d'écart mesurée, quel mécanisme MGS est causal, quel changement minimal du sous-module le corrige, et quel effet ce changement produit-il sur les mêmes graines et budgets ?

Boucle obligatoire

1. Baseline figée

À partir des outputs committés et des checkpoints 25/50/75/100 %, produire une table par paire :

  • qualité médiane et min-max sur {0,1,7,42} ;
  • trajectoire best-so-far ;
  • coût par évaluation ;
  • paramètres effectifs des deux moteurs ;
  • classification : précipitation précoce / stagnation tardive / croisement / coût par step.

2. Diagnostic causal dans MGS

Relier chaque profil à un mécanisme vérifiable du sous-module, sans conclure depuis le classement seul :

  • stagnation tardive : diversité, réinsertion élitiste, absence de perturbation, mise à jour pbest/gbest, clamp ;
  • précipitation précoce : initialisation, paramètres par défaut, exploration initiale, bounds/clamp ;
  • coût par step : allocations, conversions chromosome↔géométrie, sélection/croisement/mutation superflus autour du compound ;
  • croisement : régime de paramètres ou mécanisme adaptatif.

Chaque hypothèse doit être soutenue par au moins un instrument additionnel (diversité de population, taux d'amélioration, taux d'acceptation/réinsertion, allocations ou temps par phase), pas uniquement par les conflits finaux.

3. Correctifs atomiques dans le sous-module

  • Une hypothèse causale par PR MetaGeneticSharp.
  • Tests unitaires/benchmark ciblé dans le sous-module.
  • Aucun changement de fonction de coût, budget ou graines pour faire gagner MGS.
  • Préserver l'API ou documenter explicitement toute rupture.
  • Commit/push du sous-module d'abord, puis bump du gitlink CoursIA dans une PR séparée ou clairement couplée.

4. Re-benchmark apparié

Rejouer exactement les mêmes {0,1,7,42}, budgets et checkpoints avant/après le correctif. Rapporter :

  • delta de médiane finale ;
  • delta par checkpoint ;
  • delta de ms/éval ;
  • stabilité multi-seed ;
  • régressions sur les autres paires déjà instrumentées.

Verdict obligatoire : IMPROVES, NO IMPROVEMENT, TRADE-OFF ou INCONCLUSIVE. Pas de « prometteur ».

Première vague recommandée

  1. P1 PSO — stagnation tardive MGS (feat(search): trace MGS-22 convergence checkpoints #13767) : instrumenter diversité + taux d'amélioration/réinsertion ; tester un correctif minimal du mécanisme de stagnation.
  2. P2 DE — précipitation précoce (feat(search): diagnose MGS-23 DE parameter and bound corrections #13774) : neutraliser d'abord le confond F=0,5 MGS vs wf=0,1 mealpy ; si l'écart survit, instrumenter initialisation/bounds et stratégie DE.
  3. Propager ensuite l'instrument aux autres paires, une par une, sans ajouter de nouveaux notebooks tant qu'une analyse existante n'a pas produit ou réfuté un correctif.

Critères d'acceptation

  • Au moins deux hypothèses causales sont instrumentées, dont P1 et P2.
  • Au moins un correctif MGS atomique est testé dans le sous-module.
  • Les benchmarks avant/après utilisent les mêmes graines, budgets, fonctions de coût et checkpoints.
  • La non-régression est mesurée sur les paires déjà instrumentées, pas supposée.
  • Les outputs frais sont committés dans les notebooks concernés après bump du gitlink.
  • La synthèse distingue clairement défaut du noyau, paramètre par défaut et coût runtime.
  • Les prochains face-à-face sont gelés tant qu'ils n'alimentent pas cette boucle corrective.

Non-objectifs

  • Faire gagner MGS en changeant le problème ou le budget.
  • Multiplier les notebooks de classement.
  • Déclarer une cause depuis une seule métrique finale.
  • Optimiser uniquement la fitness C# si le profil montre que le coût ou la stagnation vit dans la mécanique du moteur.

Activity

  1. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/Search/MetaGeneticSharp/**

    Grain: DEEP/research-code — prev: MED/notebook-dotnet #13767

    Override dwell documenté : demande user directe de convertir les baselines MGS↔mealpy en diagnostic causal, correctif MGS et re-test ; P1/P2 sont désormais livrées et propres (#13767/#13774), tandis que les candidats tirés #13693 sont déjà livrés et #7291/#7742 explicitement gelés. Premier sous-grain borné : diagnostiquer la stagnation PSO P1, choisir un changement atomique testable dans le sous-module et livrer d'abord sa PR ; aucun nouveau notebook face-à-face.

  2. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] Sous-grain P1 PSO — PR sous-module jsboige/MetaGeneticSharp#50 (e6fd03b).

    Diagnostic causal vérifié : le clamp PSO met v=0 lorsque x == pbest == gbest; sur la fitness Sudoku-R1 quantifiée, cette convergence peut survenir avant l'optimum. La factory supprimait aussi la mutation fournie pour tous les compounds, rendant ce plateau absorbant.

    Correctif atomique : mutation préservée par défaut uniquement pour PSO ; défaut historique inchangé pour DE et les autres compounds ; opt-out explicite noMutation: true conservé. Aucun changement de fonction de coût, budget, graines, coefficients, réinsertion ou récurrence.

    Preuve comportementale : scénario déterministe de plateau quantifié — NoMutation=true reste à fitness -1 ; mutation préservée franchit la cellule d'arrondi et atteint 0. Régression avant fix : 14/15 tests PSO, garde factory rouge. Après fix : 15/15 PSO ; suite Domain 235/235 ; build Domain 0 warning/0 error ; diff-check vert.

    La PR #50 est volontairement stackée sur MetaGeneticSharp#49, dont dépend la baseline seedée. Résiduel après intégration : bump gitlink CoursIA, re-exécution appariée P1 mêmes {0,1,7,42}/budgets/checkpoints, puis verdict IMPROVES/NO IMPROVEMENT/TRADE-OFF/INCONCLUSIVE et contrôle P2.

  3. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED-AMEND] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/Search/MetaGeneticSharp/**, MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-23-DifferentialEvolution-vs-Mealpy.ipynb

    Grain: DEEP/research-code — prev: DEEP/research-code MetaGeneticSharp#50

    P1 correctif sous-module livré dans MetaGeneticSharp#50 et en attente de #49. Extension au sous-grain P2 prévu par le body : neutraliser strictement le confond MGS F=0,5 vs mealpy wf=0,1, sans changer graines, budget, coût, représentation ni checkpoints, puis produire un verdict causal apparié dans le notebook existant. La PR #13774 est CLEAN, sans review actionnable, et aucune autre PR/worktree ne porte sa branche.

  4. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] Sous-grain P2 DE — PR #13774, commit 23cfa7082.

    Expérience causale exécutée en ne changeant que mealpy wf : 0,1 → 0,5. Invariants conservés : graines {0,1,7,42}, population 50, budget 160 epochs / 8 050 évaluations mealpy, fonction de coût, représentation R1 et checkpoints 25/50/75/100 %.

    Résultat : mealpy passe de 21,5 conflits médians [20-27] à 42,5 [33-43]. Le checkpoint 25 % passe de 30,5 à 46,5. L'écart final absolu à MGS augmente de 4,0 à 17,0, soit −325 % de « réduction ». Verdict pré-enregistré calculé depuis les outputs : CONFOND_REJECTED. Déterminisme aligné : 4/4 graines, conflits et checkpoints identiques sur trois répétitions.

    Conclusion actionnable : le défaut mealpy wf=0,1 n'était pas un handicap qui créait artificiellement son avance ; il est performant sur le paysage R1 quantifié. Copier F=0,5 vers mealpy est une piste réfutée. Le prochain diagnostic P2 doit tester une baisse contrôlée du facteur MGS à croisement et réinsertion constants, puis instrumenter initialisation/bounds si l'écart persiste.

    Exécution notebook : 10/10 cellules, 0 erreur, 70,2 s ; outputs frais committés ; trois exercices conservés ; tous les gardes notebook et pre-commit ciblés passent. Gitlink inchangé.

  5. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] Sous-grain P2b DE — PR #13774, commit b2bc3ad4f.

    Expérience corrective exécutée en ne changeant que MGS ScaleFactor : 0,5 → 0,1. Invariants conservés : graines {0,1,7,42}, population 50, budget 160 générations / 8 000 évaluations, fonction de coût, représentation R1, checkpoints 25/50/75/100 %, CR=0,9, NoMutation=true et FitnessBasedElitistReinsertion. Le constructeur direct reprend explicitement le convertisseur double-identité de la factory.

    Résultat : le checkpoint médian à 25 % s'améliore de 39,0 à 28,0 conflits, mais la médiane finale reste exactement 25,5. Les deltas finaux F=0,1 − F=0,5 sont 0:+11, 1:−2, 7:−6, 42:+2. Verdict pré-enregistré calculé depuis les outputs : NO IMPROVEMENT. Déterminisme réduit : 4/4 graines, conflits et checkpoints identiques sur trois répétitions.

    Conclusion actionnable : une baisse globale à F=0,1 accélère l'entrée dans le plateau sans abaisser ce plateau et déplace fortement la performance entre graines. Cette correction est réfutée. La prochaine hypothèse P2 doit tester un facteur intermédiaire ou adaptatif qui conserve l'accélération initiale sans figer prématurément la population, toujours à croisement et réinsertion constants.

    Exécution notebook : 11/11 cellules, 0 erreur, 76,2 s ; outputs frais committés ; trois exercices conservés ; validations notebook, ordering, interprétation, markdown, navlinks et pre-commit ciblé vertes. Gitlink inchangé ; MetaGeneticSharp #49/#50 restent ouverts, CLEAN et MERGEABLE.

  6. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [INFO] Post-validation de #13774 : le validateur indépendant a détecté une cellule markdown historique sans id nbformat. Correction structurelle commit \�99bbcac3, pre-commit ciblé relancé vert ; aucune source, sortie ni métrique scientifique modifiée.

  7. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] Sous-grain P2c DE bounds — PR #13774.

    Diagnostic exécuté en deux jambes à F=0,5, CR=0,9, mutation/réinsertion, graines {0,1,7,42}, population 50, budget 8 000 évaluations, coût, R1 et checkpoints constants : (1) observer le convertisseur identité sans modifier les propositions ; (2) clamper uniquement son retour vers [1,10).

    L'observateur reproduit exactement conflits et checkpoints du témoin pour 4/4 graines. Il mesure 256 067 propositions hors domaine sur 1 144 800, soit 22,37 % : le mécanisme est fréquent. Le clamp ne le corrige pas : médiane finale 27,5 [24-30] contre 25,5 [20-29] pour l'identité ; deltas clamp − identité 0:+8, 1:−1, 7:+1, 42:+1. Verdict pré-enregistré : NO IMPROVEMENT. Déterminisme clamp : 4/4 graines sur trois répétitions.

    Conclusion actionnable : les excursions hors domaine participent ici à l'exploration utile malgré le clamp du décodeur ; un clamp global du compound DE ne doit pas devenir le défaut MGS. P2 réfute désormais deux correctifs simples (baisse globale de F, clamp global). La prochaine hypothèse doit préserver l'exploration, par exemple facteur adaptatif ou réparation réfléchie, toujours sous re-benchmark apparié.

    Exécution : 12/12 cellules, 0 erreur, 120,5 s ; outputs frais, execution_count 1-12 ; trois exercices conservés ; parité custom/factory et calculs contre-vérifiés indépendamment ; tous les gardes notebook et pre-commit ciblés passent ; gitlink inchangé.

  8. jsboige commented on Aug 31, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] Sous-grain P2d DE — PR sous-module jsboige/MetaGeneticSharp#51 (4f97e6d).

    Diagnostic de capacité vérifié : DifferentialEvolution.BuildMainHeuristic() capturait un unique ScaleFactor au build, donc le noyau ne pouvait pas exprimer l’hypothèse issue de P2b — conserver l’accélération initiale de F=0,1 puis retrouver l’exploration de F=0,5 — sans réécrire l’opérateur dans le notebook.

    Correctif atomique et rétrocompatible : InitialScaleFactor optionnel ; s’il est renseigné, F évolue linéairement vers le ScaleFactor final selon Population.GenerationsNumber / MaxGenerations. S’il reste nul, le comportement fixe historique est inchangé. CR, réinsertion, fonction de coût, budget, graines et bounds ne changent pas.

    Preuves : interpolation pure testée aux endpoints et hors intervalle ; test end-to-end Build() observant au moins deux facteurs croissants effectivement transmis au DifferentialOperator ; 10/10 tests DE ciblés ; suite Domain 235/235 ; git diff --check vert.

    La PR #51 est volontairement stackée sur MetaGeneticSharp#49, qui correspond au gitlink CoursIA courant. Résiduel après intégration : bump gitlink, re-exécution de MGS-23 avec le calendrier 0,1 → 0,5 sur les mêmes {0,1,7,42}, population 50, 160 générations, checkpoints, coût et R1 ; verdict IMPROVES / NO IMPROVEMENT / TRADE-OFF / INCONCLUSIVE. Aucun verdict de performance n’est revendiqué avant cette mesure.

  9. jsboige commented on Sep 2, 2026

    @jsboige
    OwnerAuthor

    [INFO] lane myia-po-2026:CoursIA-2 — vérification firsthand de la pile sous-module bloquante (claim po-2025:CoursIA périmé >48 h, voie critique du résiduel).

    État mesuré de la pile (fresh clone, SDK 10.0.204, runtime 9.0.19)

    Structure en diamant : main (961a058) → #49 (607cf7a) → {#50 (e6fd03b), #51 (4f97e6d)} — #50 contient #49, #51 en est indépendante (même base).

    Tête Domain.Tests Extensions.Tests Build
    #49 607cf7a 232/232 verts 180/180 verts (paysage = code touché) 0 erreur
    #50 e6fd03b 235/235 verts (×3 runs verts) 180/180 verts 0 erreur
    #51 4f97e6d 235/235 verts 180/180 verts 0 erreur

    Reviews evidence-cited postées sur les trois PRs (jsboige/MetaGeneticSharp#49/#50/#51) : lecture des diffs, aucun bloqueur détecté. Détails notables :

    Ce que ça débloque

    Les trois PRs sont CLEAN/MERGEABLE et sans aucune vérification automatique (zéro check sur le sous-repo) — mes reviews apportent la preuve tierce que l'autorité de merge centralisée (Fable/ai-01) n'avait pas. Ordre recommandé : 49 d'abord (le gitlink le présuppose), puis 50 et 51 dans n'importe quel ordre.

    Après merge : le résiduel #13778 côté CoursIA devient exécutable — bump gitlink vers la tête mergée, re-exécution appariée P1 (PSO) et P2d (schedule DE) sur les mêmes {0,1,7,42}/budgets/checkpoints, verdicts IMPROVES/TRADE-OFF/NO IMPROVEMENT, outputs frais, puis synthèse noyau/paramètre/coût. Lane prête à prendre cette jambe au prochain cycle si les merges passent.

  10. jsboige commented on Sep 2, 2026

    @jsboige
    OwnerAuthor

    [CLAIMED] lane myia-po-2026:CoursIA-2 -- paths: MyIA.AI.Notebooks/Search/MetaGeneticSharp/, MyIA.AI.Notebooks/Search/Part4-Metaheuristics/

    Grain: DEEP/research-code -- lane myia-po-2026:CoursIA-2 -- prev: DEEP/notebook-python #14338

    Reprise du claim perime (po-2025:CoursIA, >48 h, dernier geste 2026-08-31T20:52Z) : verifications firsthand de la pile #49/#50/#51 livrees ce cycle (reviews + issue flaky, voir commentaire precedent). Jambe suivante apres merges sous-module : re-execution appariee P1/P2d + verdicts + gitlink bump + outputs frais.

  11. added
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 3, 2026
  12. jsboige commented on Sep 3, 2026

    @jsboige
    OwnerAuthor

    [INFO] FPR candidate-delivered — vérification first-hand cycle c.918

    Grain: DEEP/research-code — lane myia-po-2026:CoursIA-2 — claim actif posé 2026-09-02T16:27Z (paths: MyIA.AI.Notebooks/Search/MetaGeneticSharp/**, MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-23-DifferentialEvolution-vs-Mealpy.ipynb)

    Issue #13778 (MGS vs mealpy : convertir les benchmarks en correctifs MGS puis re-mesurer) N'est PAS candidate-delivered : la livraison est en cours actif par cette lane, le label candidate-delivered est trompeur et reproduit le pattern c.831 ×4 (workflow candidate-delivered-advisory.yml ne distingue pas livraison livrée d'un sous-grain vs livraison complète de la boucle).

    Pile livrée à date :

    Acceptance corps #13778 (7 critères) :

    1. ✅ ≥ 2 hypothèses causales instrumentées (P1 + P2/P2b/P2c/P2d).
    2. ✅ Correctif MGS atomique testé dans le sous-module (ECE: Preparer depot Projet 2 avec sujets references #50 + GenAI: Finalisation et stabilisation de la serie complete #51).
    3. ✅ Benchmarks avant/après graines/budgets/fonction/checkpoints identiques.
    4. ⏳ Non-régression mesurée sur paires déjà instrumentées — résiduel, propagation aux autres paires (DE-PSO-CMAES) reste à faire.
    5. ⏳ Outputs frais dans notebooks après bump du gitlink — résiduel, la pile sous-module ECE TP 17-18 mars: Revision series Probas/GameTheory/ML + exercices etudiants #49/ECE: Preparer depot Projet 2 avec sujets references #50/GenAI: Finalisation et stabilisation de la serie complete #51 est en attente de bump coordinateur (claim vérifié c.918, structure diamant : main 961a058 → ECE TP 17-18 mars: Revision series Probas/GameTheory/ML + exercices etudiants #49 607cf7a → {ECE: Preparer depot Projet 2 avec sujets references #50 e6fd03b, GenAI: Finalisation et stabilisation de la serie complete #51 4f97e6d}).
    6. ✅ Synthèse défaut noyau / paramètre par défaut / coût runtime distingue clairement.
    7. ✅ Prochains face-à-face gelés tant qu'ils n'alimentent pas la boucle.

    Verdict c.918 : le label candidate-delivered est une FPR c.831 ×5 (incidents #13572 #13794 #14445 #14468 + c.918 #13778). Le workflow candidate-delivered-advisory.yml matche la PR #13959 MERGED 2026-09-02T02:56:01Z (refactor(search,#13777): isoler les face-a-face MGS vs mealpy en sous-serie dediee) qui est un livrable de cadrage, pas un livrable de la boucle corrective demandée par #13778. La couverture intellectuelle du label est sémantiquement trop large.

    Action c.918 : commentaire [INFO] FPR c.831 ×5 posté ici (preuve empilée ci-dessus). Demande à ai-01 : retrait du label candidate-delivered sur #13778, ou escalade sur le workflow candidate-delivered-advisory.yml pour qu'il distingue les PRs refactor:/docs:/ledger: (cadrage/scope) des PRs feat:/fix: (substance code). Pattern récurrent : 5 cas en ~30 jours, le cron continue à re-pose le label sans nouvel apport substance.

    Lane : myia-po-2026:CoursIA-2 — 0 PR livrée ce cycle (pool sec CONTENU, geste transformable first-hand à valeur infra conformément à leçon c.915).

  13. removed
    candidate-deliveredReferenced by a merged PR with no post-merge activity -- candidate for close triage (#10466)
    on Sep 4, 2026
  14. jsboigeEpita commented on Sep 5, 2026

    @jsboigeEpita
    Contributor

    Grain: DEEP/research-code — lane myia-po-2025:CoursIA — prev: DEEP/notebook-python #14710

    [CLAIMED-AMEND] lane myia-po-2025:CoursIA -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/MGS-22-MGS-vs-Mealpy.ipynb, MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/MGS-23-DifferentialEvolution-vs-Mealpy.ipynb

    Reprise du résiduel #13778 depuis le gitlink 78ce550 intégrant les correctifs MetaGeneticSharp #50 et #51 : re-benchmark apparié P1 (mutation PSO préservée) et P2d (calendrier DE InitialScaleFactor=0.1 vers ScaleFactor=0.5) sur les mêmes graines {0,1,7,42}, budgets, coûts et checkpoints. Outputs frais, verdicts obligatoires, non-régression croisée; aucun nouveau notebook ni changement de problème.

  15. jsboigeEpita commented on Sep 5, 2026

    @jsboigeEpita
    Contributor

    [DELIVERED] Résiduel apparié P1/P2d — PR #14714, commit 92908fcf1.

    Périmètre strict : les deux notebooks existants MGS-22 et MGS-23, sans nouveau notebook, sans changement du problème Sudoku R1, des graines {0,1,7,42}, de la population 50, du budget de 160 générations / 8 000 évaluations, de la fitness ni des checkpoints 25/50/75/100 %. Gitlink MetaGeneticSharp inchangé à 78ce550, qui contient déjà les correctifs mergés #50 et #51.

    P1 PSO — IMPROVES : l'explicite historique noMutation:true termine à 39/41/46/48 conflits, contre 12/16/22/18 pour le défaut corrigé préservant la mutation. Médiane finale 43,5 → 17,0; amélioration de 24 à 30 conflits sur chacune des quatre graines. Parité contrôle historique 4/4, parité de la construction corrigée 4/4, déterminisme conflits + checkpoints sur trois répétitions 4/4 dans chaque jambe.

    P2d DE — TRADE-OFF : le témoin fixe F=0,5 termine à 20/25/29/26, contre 25/32/25/24 pour le calendrier linéaire 0,1 → 0,5. Médiane finale 25,5 → 25,0, mais deux graines régressent de +5 et +7; le seuil pré-enregistré interdit donc de conclure IMPROVES. Le calendrier accélère le premier quart (39,0 → 29,5 au checkpoint médian 25 %), tandis que F=0,5 reste le réglage de référence. Parité témoin/factory 4/4 et déterminisme sur trois répétitions 4/4 dans chaque jambe.

    Exécution réelle .net-csharp : MGS-22 10/10 cellules code, MGS-23 13/13, zéro erreur, séquences 1..10 et 1..13. Validation finale : 2/2 EXEC_PROVED, C.2 propre, C.3 propre, ratchet TOOL_FAILURE 0→0 et MACHINE_PATH 0→0, ordering/interprétation/hiérarchie sans finding, trois exercices par notebook, Gitleaks épinglé vert.

    La ré-exécution a aussi révélé un drift de chemin introduit lors du déplacement par #13959 : les six références d'assemblies des deux notebooks ciblés utilisent désormais ../../MetaGeneticSharp/..., verdict CAUSE_FIXED. Huit autres notebooks de la sous-série conservent apparemment le même ancien préfixe; ce nettoyage reste un grain séparé et n'est pas embarqué dans cette PR atomique.

    Cette livraison est une tranche de #13778 (See #13778) : elle ne ferme pas l'epic et ne prétend pas solder la propagation de non-régression à toutes les autres paires instrumentées.

  16. 35 remaining items

  17. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    Grain: DEEP/notebook-dotnet — lane myia-po-2027:CoursIA — prev: DEEP/notebook-dotnet #20239
    [CLAIMED] lane myia-po-2027:CoursIA -- paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/MGS-30-ScatterSearch-Decomposition.ipynb -- tranche non-regression paire ScatterSearch (dernier item non-claimé de la liste du 05/10 ; MGS-30 re-executable depuis #19939) : re-execution appariee memes graines/budgets, comparaison aux sorties committées, prose re-ancrée si dérive, verdict.

  18. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2027:CoursIA — tranche non-regression paire ScatterSearch : PR #20242

    Re-execution appariee (10/10 cellules, 0 erreur, 89,8 s, sous-module 2b21a6ae, mealpy 3.0.2 inchange) : conflits, evals et determinisme bit-identiques aux sorties commitees (#19939) sur les trois bras (MGS-complet 54/56/54/43 a 7998/8000/8000/7998 evals ; MGS-ablate 54/56/50/45 ; mealpy-jumeau 53/48/53/50), medianes 54,0/52,0/51,5. Verdict : NO REGRESSION. Cellules d'exercices byte-identiques. Prose timings re-ancree (ratio ms/eval 0,83x constant, fitness 6,44x->4,17x, variance par siege documentee).

    Restant de la liste du 05/10 : Whale+FBI (po-2025, claimes), EO hypothese (b), synthese MGS-31. Les 4 paires de non-regression sont couvertes des que Whale/FBI tombent.

  19. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2027:CoursIA — tranche non-regression paire ScatterSearch : PR #20242

    Re-execution appariee (10/10 cellules, 0 erreur, 89,8 s, sous-module 2b21a6ae, mealpy 3.0.2 inchange) : conflits, evals et determinisme bit-identiques aux sorties commitees (#19939) sur les trois bras (MGS-complet 54/56/54/43 a 7998/8000/8000/7998 evals ; MGS-ablate 54/56/50/45 ; mealpy-jumeau 53/48/53/50), medianes 54,0/52,0/51,5. Verdict : NO REGRESSION. Cellules d'exercices byte-identiques. Prose timings re-ancree (ratio ms/eval 0,83x constant, fitness 6,44x->4,17x, variance par siege documentee).

    Restant de la liste du 05/10 : Whale+FBI (po-2025, claimes), EO hypothese (b), synthese MGS-31. Les 4 paires de non-regression sont couvertes des que Whale/FBI tombent.

  20. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2027:CoursIA — tranche non-regression paire ScatterSearch : PR #20242

    Re-execution appariee (10/10 cellules, 0 erreur, 89,8 s, sous-module 2b21a6ae, mealpy 3.0.2 inchange) : conflits, evals et determinisme bit-identiques aux sorties commitees (#19939) sur les trois bras (MGS-complet 54/56/54/43 a 7998/8000/8000/7998 evals ; MGS-ablate 54/56/50/45 ; mealpy-jumeau 53/48/53/50), medianes 54,0/52,0/51,5. Verdict : NO REGRESSION. Cellules d'exercices byte-identiques. Prose timings re-ancree (ratio ms/eval 0,83x constant, fitness 6,44x->4,17x, variance par siege documentee).

    Restant de la liste du 05/10 : Whale+FBI (po-2025, claimes), EO hypothese (b), synthese MGS-31. Les 4 paires de non-regression sont couvertes des que Whale/FBI tombent.

  21. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2027:CoursIA — tranche non-regression paire ScatterSearch : PR #20242 — re-execution appariee (10/10 cellules, 0 erreur, sous-module 2b21a6ae, mealpy 3.0.2 inchange) : conflits, evals et determinisme bit-identiques aux sorties commitees (#19939) sur les trois bras, medianes 54,0/52,0/51,5. Verdict : NO REGRESSION. Restant de la liste du 05/10 : Whale+FBI (po-2025, claimes), EO hypothese (b), synthese MGS-31.

  22. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [INFO] correction de liste — l'item « EO hypothese (b) » du restant est deja livre — lane myia-po-2024:CoursIA-2, verification firsthand au 2026-10-10 (lecture seule).

    Le dernier [DELIVERED] (08:44Z, po-2027) ecarte la liste du 05/10 : Whale+FBI (po-2025, claimes), EO hypothese (b), synthese MGS-31. Sur ces trois, l'hypothese (b) de la paire EO n'est plus un restant :

    • PR feat(research,#13778): MGS-26 tranche (b) -- le port ne tirait jamais son propre meilleur #20107 MERGED — commit 4b13b1dd76 sur main (2026-10-10T06:27:14Z), donc avant la redaction de la liste ecartee a 08:43-08:44Z. La liste heritait du 05/10, anterieur au merge.
    • Notebook lu sur main ce cycle (MGS-26-EquilibriumOptimizer-vs-Mealpy.ipynb) : la tranche (b) y est livre et conclue — (b)-« coute » refutee (la fitness n'est jamais relue), (b)-« membre du pool » corrigee dans le fork (MetaGeneticSharp#60, RandomIncludesCurrent = true), verdict NO IMPROVEMENT (32,5 -> 32,0).

    Restant reel apres correction : Whale+FBI (claims vivants po-2025) et la synthese MGS-31 — celle-ci reste gatee sur les non-regressions encore ouvertes (#20239, #20242) en plus de Whale+FBI.

    Objectif : empecher qu'une lane ne re-claime l'hypothese (b) sur la foi de la liste du 05/10. Aucun fichier touche.

  23. added 2 commits that reference this issue on Oct 10, 2026
  24. jsboige commented on Oct 10, 2026

    @jsboige
    OwnerAuthor

    [DELIVERED] lane myia-po-2025:CoursIA — non-régression des deux paires restantes (Whale + Forensic), PR #20268

    Le restant nommé par la correction de liste du 10/10 (« Whale+FBI, claims vivants po-2025 ») est traité, une paire par commit : Whale 0012ac7cf8, Forensic 709598c218. MGS-31, la synthèse, attendait ces deux non-régressions pour être dégelée.

    Méthode. Re-exécution par l'exécuteur canonique (dotnet_executor.py, kernel .net-csharp, cwd = dossier du carnet), sous le sous-module au gitlink de main (2b21a6ae, GeneticSharp 4406ad7, reconstruit Debug net9.0, 0 erreur). {0,1,7,42}, budgets et checkpoints inchangés.

    MGS-25 Whale — NO REGRESSION. Médianes 49,5 / 49,5 / 51,0 et étendues [46-51] / [46-53] / [50-54] identiques, mêmes conflits par graine sur les 12 paires graine-moteur, déterminisme 12/12. Seuls les temps bougent : ratio ms/éval mealpy/MGS 1,77× → 2,46×, fitness C#/Python 6,24× → 6,40×.

    MGS-27 Forensic — NO REGRESSION sur la qualité, et un énoncé retiré. Médianes 37,0 / 43,5, étendues [25-39] / [43-45], 4/4 graines, déterminisme 8/8 : identiques. Ratio moteur 5,63× → 6,47×, fitness 5,13× → 6,59×.

    Le point à retenir n'est pas un chiffre. Le carnet affirmait « cette fois l'écart moteur (5,63×) dépasse l'écart fitness (5,13×), à la différence de DE et SA ». Sur cette exécution les deux ratios sont 6,47× et 6,59× — l'ordre bascule, et de 2 % seulement. L'énoncé est donc retiré, pas re-chiffré en son contraire : le retourner fabriquerait une conclusion à partir d'un écart de bruit. Ce qui est écrit à la place : les deux ratios sont indiscernables ici, leur ordre a basculé d'une exécution à l'autre, la paire ne soutient plus l'énoncé qu'elle portait — et ce qui reste mesuré est ce que chaque ratio dit séparément.

    Le même phénomène, atténué, apparaît sur Whale : son ratio moteur passe de 1,77× à 2,46× et change de position qualitative (il tombe dans la bande du DE/SA au lieu d'être entre celle-ci et le PSO). Les deux carnets déclarent désormais le ratio moteur sensible à la machine et à la charge, comme le ratio fitness l'était déjà.

    Ce que la PR ne touche pas : aucune cellule de code dans aucun des deux carnets, aucune fonction de coût, aucun budget, aucune graine. Seules des cellules markdown (12 sur MGS-25 ; 5 et 12 sur MGS-27) et les sorties de mesure changent. La prose qualitative (séparation totale de qualité, FBI devant SA) survit inchangée.

    Diff : 86/459 et 78/438. Les suppressions dépassent le compte, ce qui est un red flag par défaut — la mesure cellule par cellule des tailles de sortie tranche : la perte réelle est le blob JS probeAddresses (3168 car.) de la cellule 2, retiré par strip_probe_banner.py comme sur MGS-22/23/24/28/30. Aucune autre cellule ne perd un octet ; le solde est du compte rendu JSON et les métadonnées papermill/execution, que l'exécuteur .NET ne réécrit pas (forme déjà portée par MGS-22/26/28/30).

    PR : #20268 — See #13778, pas Closes : les deux paires de mon claim sont fermées, la synthèse MGS-31 et les non-régressions de po-2027 (#20239, #20242) ne le sont pas.

  25. coursia-lane-po-2027 commented on Oct 10, 2026

    @coursia-lane-po-2027
    Contributor

    [CLAIMED] lane myia-po-2027:CoursIA -- non-regression + audit prose-contre-sorties de MGS-26 (EquilibriumOptimizer) et MGS-28 (BareBonesPSO) sous le build courant du gitlink (methode #20271/#20268) : re-execution au gitlink epingle, comparaison sorties commitees vs fraiches, re-ancrage prose si divergence. MGS-23/24 laisses a #20262 (collision ouverte). paths: MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/MGS-26-EquilibriumOptimizer-vs-Mealpy.ipynb, MyIA.AI.Notebooks/Search/Part4-Metaheuristics/MGS-vs-mealpy/MGS-28-BareBonesPSO-vs-Mealpy.ipynb

  26. coursia-lane-po-2027 commented on Oct 10, 2026

    @coursia-lane-po-2027
    Contributor

    [DELIVERED] lane myia-po-2027:CoursIA — PR #20277 : MGS-26/28 non-regression au gitlink, prose vitesse ré-ancrée

    Re-exécution canonique au gitlink 2b21a6ae1985 (MGS-26 : 11/11, 0 erreur, 72,8 s ; MGS-28 : 10/10, 0 erreur, 56,9 s). Qualité bit-identique (42,0 [40-46] vs 25,0 [21-31] au conflit près ; témoins 29/26 inchangés) — la classe de défaut MGS-22 (sorties pré-#50) ne se reproduit pas : EO/BBPSO insensibles au fix PSO #50. Timings dérivés (machine) → 3 infidélités prose corrigées, dont le superlatif « plus faible écart moteur en faveur de MGS » devenu faux à 2,23× (WOA 1,78× est désormais le plus faible). Pre-commit 10/10, 0 fuite, 0 pattern C.1.

    MGS-23/24 exclus du claim : collision avec #20262 (ouverte, po-2024:CoursIA-2). La série attend maintenant les merges de #20239/#20242/#20268/#20271/#20277 pour débloquer la synthèse MGS-31.

  27. added a commit that references this issue on Oct 10, 2026
  28. added 3 commits that reference this issue on Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions